:root {
    --tieu-de: #111;
    --noi-dung: #333;
    --chu-dao: #321810;
    --text: #333;
    --nd: #5c5c5c;
    --icon: #737373;
    --trang: #fff;
    --nen: #ebe8e3;
    --chinh: #fd8b0f;
    --nhan: #fd8b0f;
    --color-main: #fd8b0f;
    --nen-2: #fd8b0f;
    --font-family: "Plus Jakarta Sans", sans-serif;
    --second-family: "Barlow", sans-serif;
    --third-family: "Sorts Mill Goudy", serif;
}

body,
html {
    overflow-x: hidden;
}

body {
    font-family: var(--font-family);
    font-size: 15px;
    color: rgb(255, 255, 255);
    position: relative;
    margin: auto;
    background: rgb(28, 28, 28);
    overflow-x: hidden;
    max-width: 100%;
    width: 100%;
    top: 0px !important;
}

.skip-link {
    position: absolute;
    left: 16px;
    top: 16px;
    z-index: 10000;
    padding: 12px 16px;
    background: #111;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transform: translateY(-200%);
}

.skip-link:focus {
    transform: none;
}

main#main {
    display: block;
    outline: none;
}

.info-hethong_map {
    padding: 70px 0px;
}

[x-cloak] {
    display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.5;
}

h2.footer_col_title {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    background: linear-gradient(108.21deg, rgb(182, 128, 41) 11.88%, rgb(213, 162, 75) 88.12%) text;
    -webkit-text-fill-color: transparent;
    margin: 0px;
    display: inline-block;
    vertical-align: top;
    line-height: 1.5;
}

html {
    scroll-behavior: smooth;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
    margin: 4px 0px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    border: 2px solid transparent;
    background-clip: padding-box;
    transition: background 0.3s;
}

::-webkit-scrollbar-thumb:hover {
    border: 1px solid transparent;
    background-clip: padding-box;
}

@supports (scrollbar-width: thin) {
    * {
        scrollbar-width: thin;
        scrollbar-color: var(--color-main) transparent;
    }
}

img {
    max-width: 100%;
    vertical-align: top;
    display: inline-block;
    height: auto !important;
}

* {
    box-sizing: border-box;
}

.buffetNBCarousel_item_info_desc2 {
    font-size: 1rem;
    font-weight: bold;
    text-transform: capitalize;
}

@keyframes introFadeUp {
    0% {
        opacity: 0;
        transform: translateY(35px);
        filter: blur(4px);
    }

    100% {
        opacity: 1;
        transform: translateY(0px);
        filter: blur(0px);
    }
}

.video_intro_text_name {
    color: #ff9d36;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.18em;
    font-weight: 700;
    margin: 0 0 1.25rem;
    animation: none;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.video_intro_text_desc {
    max-width: 570px;
    margin: 1.5rem 0 0;
    font-size: clamp(17px, 1.35vw, 20px);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
    animation: none;
}

.video_intro_text_desc--tagline {
    margin-top: 0.35rem;
    font-weight: 650;
    letter-spacing: 0.01em;
    color: #ff9d36;
}

.hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    font-weight: 600;
}

.hero-facts li {
    position: relative;
}

.hero-facts li + li::before {
    content: "·";
    position: absolute;
    left: -11px;
    color: #ff9d36;
}

.hero-facts strong {
    color: #ff9d36;
}

.hero-hours {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    margin-top: 1.35rem;
    padding: 10px 15px 10px 10px;
    border: 1px solid rgba(255, 157, 54, 0.38);
    border-radius: 14px;
    color: #fff;
    background: rgba(17, 13, 10, 0.5);
    backdrop-filter: blur(10px);
}

.hero-hours__icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ff9d36;
    background: rgba(255, 157, 54, 0.14);
}

.hero-hours__content {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.hero-hours__content > span {
    color: rgba(255, 255, 255, 0.6);
    font-size: 9px;
    font-weight: 750;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.hero-hours__content strong {
    color: #fff;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

.video_intro_text_title {
    max-width: 760px;
    margin: 0;
    font-family: var(--second-family);
    font-size: clamp(54px, 5.4vw, 84px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.045em;
    color: #fff;
    text-wrap: balance;
    animation: none;
}

.video_intro_text_title span {
    display: block;
}

.video_intro_text_title span:last-child {
    color: #ef7448;
}

.video_intro_text {
    position: absolute;
    top: 56%;
    left: max(6vw, calc((100vw - 1300px) / 2));
    transform: translateY(-50%);
    z-index: 3;
    width: min(760px, 61vw);
}

.btnThucdonne {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 2rem 0px 0px;
}

.videointro_wrap {
    position: relative;
    width: 100%;
    height: 100svh;
    min-height: 680px;
    max-height: 920px;
    overflow: hidden;
    isolation: isolate;
    background: #111;
}

.videointro_wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(10, 8, 7, 0.9) 0%, rgba(10, 8, 7, 0.68) 40%, rgba(10, 8, 7, 0.2) 70%, rgba(10, 8, 7, 0.34) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, transparent 38%, rgba(0, 0, 0, 0.25) 100%);
}

.videointro_video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.btnThucdonne a,
.btnThucdonne button {
    border-radius: 40px;
    padding: 16px 34px;
    min-width: 153px;
    height: 52px;
    background: linear-gradient(90deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    border: 0;
    cursor: pointer;
}

.btnThucdonne .hero-cta {
    min-width: 184px;
    border: 1px solid transparent;
    animation: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.btnThucdonne .hero-cta--primary {
    background: linear-gradient(90deg, #d25e38 0%, #eb8b41 100%);
    box-shadow: 0 12px 32px rgba(210, 94, 56, 0.25);
}

.btnThucdonne .hero-cta--secondary {
    background: rgba(0, 0, 0, 0.18);
    border-color: rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(8px);
}

.btnThucdonne .hero-cta:hover {
    transform: translateY(-3px);
    animation: none;
}

.btnThucdonne .hero-cta--secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: #fff;
    box-shadow: none;
}

.google-reviews {
    position: relative;
    overflow: hidden;
    padding: 92px 32px 96px;
    color: #211913;
    background:
        radial-gradient(circle at 90% 0%, rgba(253, 139, 15, 0.13), transparent 32%),
        #f4efe7;
}

.google-reviews::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(253, 139, 15, 0.75), transparent);
}

.google-reviews__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    max-width: 960px;
    margin: 0 auto 42px;
}

.google-reviews__heading {
    max-width: 760px;
}

.google-reviews__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    color: #6d6056;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.google-reviews__google-mark {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
}

.google-reviews__heading h2 {
    margin: 0;
    color: #211913;
    font-family: var(--second-family);
    font-size: clamp(42px, 4.6vw, 66px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.035em;
}

.google-reviews__summary {
    margin: 1rem 0 0;
    color: #6d6056;
    font-size: 15px;
    line-height: 1.5;
}

.google-reviews__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 48px;
    padding: 0.75rem 1.15rem;
    border: 1px solid rgba(33, 25, 19, 0.28);
    border-radius: 999px;
    color: #211913;
    font-weight: 700;
    white-space: nowrap;
    transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.google-reviews__link svg {
    width: 20px;
    height: 20px;
}

.google-reviews__link:hover {
    color: #fff;
    background: #211913;
    border-color: #211913;
}

.google-reviews__carousel {
    max-width: 960px;
    margin: 0 auto;
}

.google-reviews__carousel .owl-stage {
    display: flex;
}

.google-reviews__carousel .owl-item {
    display: flex;
    height: auto;
}

.google-reviews__carousel .owl-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
}

.google-reviews__carousel .owl-dots .owl-dot {
    position: relative;
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    margin: 0;
    border-radius: 0;
    background: transparent !important;
}

.google-reviews__carousel .owl-dots .owl-dot span {
    display: none;
}

.google-reviews__carousel .owl-dots .owl-dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: rgba(70, 53, 42, 0.28);
    transform: translate(-50%, -50%);
    transition: width 0.25s ease, background 0.25s ease;
}

.google-reviews__carousel .owl-dots .owl-dot.active::before {
    width: 28px;
    background: var(--color-main);
}

.google-review-card {
    width: 100%;
    min-height: 270px;
    padding: 32px;
    border: 1px solid rgba(62, 46, 35, 0.11);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 18px 50px rgba(54, 38, 25, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.google-review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 55px rgba(54, 38, 25, 0.13);
}

.google-review-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 24px;
}

.google-review-card__author {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.google-review-card__avatar {
    width: 56px;
    height: 56px;
    overflow: hidden;
    flex: 0 0 auto;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 5px 16px rgba(54, 38, 25, 0.14);
}

.google-review-card__avatar img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.google-review-card__author h3 {
    margin: 0 0 0.2rem;
    color: #211913;
    font-family: var(--font-family);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

.google-review-card__author span {
    color: #53483f;
    font-size: 13px;
}

.google-review-card__quote {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    color: rgba(253, 139, 15, 0.8);
}

.google-review-card > p {
    margin: 0;
    color: #493d34;
    font-family: var(--third-family);
    font-size: clamp(21px, 1.8vw, 27px);
    line-height: 1.45;
}

.feedbackOwl {
    position: absolute;
    bottom: 15%;
    right: 20rem;
    max-width: 240px;
    border-radius: 20px;
    overflow: hidden;
}

.feedbackOwl_icon_top {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 1rem;
    align-items: center;
    animation: 3s ease-in-out 0s infinite normal none running btnBookingFloat;
}

.feedbackOwl_icon_top h3 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    color: rgb(255, 255, 255);
    margin: 0px;
}

.feedbackOwl_icon_top i {
    border-radius: 50%;
    overflow: hidden;
}

.feedbackOwl_icon {
    width: 240px;
    height: 194px;
    background: rgba(0, 0, 0, 0.3);
    padding: 1.5rem;
}

.feedbackOwl_icon p {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 157%;
    color: rgb(255, 255, 255);
    margin: 10px 0px 0px;
    animation: 3s ease-in-out 0s infinite normal none running btnBookingFloat;
}

.slider_intro {
    border-radius: 20px;
    width: 220px;
    height: 130px;
    background: rgba(0, 0, 0, 0.3);
    padding: 1rem;
    position: absolute;
    bottom: 15%;
    right: 5rem;
    z-index: 1;
    animation: 3s ease-in-out 0s infinite normal none running btnBookingFloat;
}

.slider_intro h3 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 45px;
    text-align: left;
    color: rgb(255, 255, 255);
    line-height: 1;
}

.slider_intro h4 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 14px;
    color: rgb(255, 255, 255);
    margin: 0px;
}

.intro_bangthucdon_desc {
    font-family: "SVN Signatie", cursive;
    font-weight: 400;
    font-size: 40px;
    text-transform: capitalize;
    color: var(--nhan);
}

.intro_bangthucdon_content {
    margin: 2rem 0px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    color: rgb(255, 255, 255);
}

.intro_bangthucdon_name {
    font-family: var(--second-family);
    font-weight: 600;
    font-size: 80px;
    text-transform: capitalize;
    color: var(--nhan);
    line-height: 1;
}

.bangthucdon_owl_col {
    min-width: 100%;
    width: 100%;
}

.bangthucdon_owl_grid {
    display: grid;
    grid-template-columns: 410px 1fr;
    gap: 80px;
    align-items: center;
}

.socialFt {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tva_list_info_right {
    max-width: calc(100% - 470px);
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
}

.tva_list_info_left {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 50px;
    line-height: 1.5;
    min-width: 470px;
}

.tva_list_info {
    max-width: 1200px;
    display: flex;
    margin: 2rem auto auto;
    gap: 4rem;
    align-items: center;
}

.tva_list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: auto;
}

.tva_list a:nth-child(4) {
    max-width: 800px;
}

.tva_list a:nth-child(5) {
    max-width: 390px;
}

.tva_list a:nth-child(5) img {
    height: 390px !important;
}

.tva_list a:nth-child(4) img {
    height: 390px !important;
}

.newsnb_info {
    width: calc(100% - 450px);
    order: 1;
}

.newsnb_info p {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    color: rgb(255, 255, 255);
    margin-bottom: 0px;
}

.newsnb_info p.line-clamp-4 {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.newsnb_info p svg {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.newsnb_info button {
    border-radius: 40px;
    padding: 16px 34px;
    min-width: 153px;
    height: 51px;
    background: linear-gradient(90deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    border: 0px;
    outline: 0px;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s;
    animation: 3.2s ease-in-out 0s infinite normal none running newsnbBtnFloat;
}

.newsnb_info button::before {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 80%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.18), transparent);
    transform: skewX(-25deg);
    transition: left 0.7s;
    pointer-events: none;
}

.newsnb_info button:hover {
    transform: translateY(-6px) scale(1.05);
    box-shadow: rgba(210, 94, 56, 0.45) 0px 10px 30px, rgba(235, 139, 65, 0.3) 0px 0px 20px;
    animation-play-state: paused;
}

.newsnb_info button:hover::before {
    left: 120%;
}

@keyframes newsnbBtnFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-4px);
    }
}

.newsnb_info h3 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 24px;
    color: rgb(255, 255, 255);
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.newsnb_info>span {
    font-family: var(--second-family);
    font-weight: 600;
    font-size: 80px;
    text-transform: capitalize;
    color: var(--nhan);
}

.newsnb_icon {
    min-width: 450px;
    order: 0;
    padding: 10px;
    position: relative;
    z-index: 0;
    animation: 4s ease-in-out 0s infinite normal none running newsnbIconFloat;
}

.newsnb_icon img {
    position: relative;
    z-index: 2;
    border-radius: 20px;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s;
}

.newsnb_icon:hover img {
    transform: translateY(-8px) scale(1.03);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 16px 40px;
}

.newsnb_icon::before,
.newsnb_icon::after {
    content: "";
    border-radius: 30px;
    width: 211px;
    height: 270px;
    background: var(--nhan);
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: -1;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.newsnb_icon::after {
    top: unset;
    left: 0px;
    right: unset;
    bottom: 0px;
}

.newsnb_icon:hover::before {
    transform: translate(10px, -10px);
}

.newsnb_icon:hover::after {
    transform: translate(-10px, 10px);
}

@keyframes newsnbIconFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-6px);
    }
}

.dnewsnb_list {
    display: block;
}

.dnewsnb_list a:nth-child(2n) .newsnb_icon {
    order: 2;
}

.dnewsnb_list a {
    display: flex;
    align-items: center;
    gap: 100px;
}

.dnewsnb_list a+a {
    margin: 3rem 0px 0px;
}

.newsnb_wrap {
    padding: 4rem 0px;
    background: rgb(17, 17, 17);
}

.bangthucdon_owl {
    margin-top: 3rem;
}

.buffetNBCarousel_item_info_more {
    display: block;
    text-align: left;
}

.buffetNBCarousel_item_info_more button {
    border-radius: 40px;
    padding: 16px 34px;
    min-width: 153px;
    height: 52px;
    border: 0px;
    outline: 0px;
    background: linear-gradient(90deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    line-height: 1;
    color: rgb(255, 255, 255);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s;
    animation: 3s ease-in-out 0s infinite normal none running buffetBtnFloat;
}

.buffetNBCarousel_item_info_more button::before {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 80%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.2), transparent);
    transform: skewX(-25deg);
    transition: left 0.7s;
    pointer-events: none;
}

.buffetNBCarousel_item_info_more button:hover {
    transform: translateY(-8px) scale(1.06);
    box-shadow: rgba(210, 94, 56, 0.5) 0px 12px 35px, rgba(235, 139, 65, 0.35) 0px 0px 25px;
    animation-play-state: paused;
}

.buffetNBCarousel_item_info_more button:hover::before {
    left: 120%;
}

@keyframes buffetBtnFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-6px);
    }
}

.buffetNBCarousel_item_info_desc {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    margin-bottom: 2rem;
}

p.buffetNBCarousel_item_info_gia {
    text-align: left;
    font-family: var(--second-family);
    font-weight: 400;
    font-size: 29px;
    margin: 0px;
}

p.buffetNBCarousel_item_info_gia>span {
    font-family: var(--second-family);
    font-weight: 600;
    font-size: 70px;
    text-transform: capitalize;
    color: var(--nhan);
}

.buffetNBCarousel_item_info {
    min-width: 100%;
    width: 100%;
}

.buffetNBCarousel_item {
    display: grid;
    grid-template-columns: 725px 1fr;
    align-items: center;
    gap: 2rem;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.buffetNBCarousel_item:hover {
    transform: translateY(-8px);
}

.buffetNBCarousel_wrap {
    padding: 4rem 0px;
    background: url("../images/9.png") right 10rem top 5rem no-repeat rgb(28, 28, 28);
}

.owl-dots {
    margin: 2rem 0px 0px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.productNBCarousel_wrap {
    padding: 4rem 0px;
    background: url("../images/8.png") 0px 0px / cover no-repeat;
}

.more_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.more_link a {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    line-height: 1;
    border-radius: 40px;
    padding: 18px 34px;
    background: linear-gradient(90deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s;
    animation: 3s ease-in-out 0s infinite normal none running moreLinkFloat;
}

.more_link a::before {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 80%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.2), transparent);
    transform: skewX(-25deg);
    transition: left 0.7s;
    pointer-events: none;
}

.more_link a:hover {
    transform: translateY(-8px) scale(1.06);
    box-shadow: rgba(210, 94, 56, 0.5) 0px 12px 35px, rgba(235, 139, 65, 0.35) 0px 0px 25px;
    animation-play-state: paused;
}

.more_link a:hover::before {
    left: 120%;
}

@keyframes moreLinkFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-6px);
    }
}

.agt_owl {
    margin-bottom: 2rem;
}

.agt_owl_icon {
    border-radius: 20px;
    width: 100%;
    overflow: hidden;
    position: relative;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.45s;
}

.agt_owl_icon img {
    width: 100%;
    transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.agt_owl_icon::after {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.15), transparent);
    transform: skewX(-25deg);
    transition: left 0.65s;
    pointer-events: none;
    z-index: 2;
}

.agt_owl_icon:hover {
    transform: translateY(-6px) scale(1.03);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 35px;
}

.agt_owl_icon:hover img {
    transform: scale(1.12);
}

.agt_owl_icon:hover::after {
    left: 120%;
}

.gioithieu_wrap_desc {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.75;
    text-align: left;
    color: rgba(255, 255, 255, 0.72);
    max-width: 590px;
    margin: 0;
}

.gioithieu_wrap_desc p {
    margin: 0 0 1.1rem;
}

.gioithieu_wrap_desc p:first-child {
    font-family: var(--second-family);
    font-weight: 650;
    font-size: clamp(44px, 3.8vw, 62px);
    line-height: 1.06;
    letter-spacing: -0.035em;
    color: #fff;
    margin: 0 0 2rem;
}

.gioithieu_wrap_desc p:first-child span {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.gioithieu_wrap_desc p:first-child > span {
    display: block;
}

.gioithieu_wrap_desc p:first-child .story-title-accent {
    color: #ef7945 !important;
}

.gioithieu_wrap_desc p:first-child span span {
    color: #ef7945 !important;
}

.gioithieu_wrap_desc p:not(:first-child) span {
    font-size: inherit !important;
    font-family: inherit !important;
}

.gioithieu_wrap_desc strong {
    color: #fff;
    font-weight: 650;
}

.gioithieu_wrap_desc p:last-child {
    margin-bottom: 0;
}

.gioithieu_wrap_note {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: left;
    color: #fd8b0f;
    margin-bottom: 1.5rem;
}

.gioithieu_wrap_note::before {
    content: "";
    width: 42px;
    height: 1px;
    background: currentColor;
}

/* Rio Grande do Sul flag mark — sits ahead of the orange rule, so it
   needs a negative order to beat the ::before pseudo-element. */
.story-flag {
    order: -1;
    flex: 0 0 auto;
    display: block;
    border-radius: 3px;
}

.gioithieu_wrap {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(88px, 9vw, 138px) 0;
    background: #181716;
}

.gioithieu_wrap::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 620px;
    height: 620px;
    right: -260px;
    top: -250px;
    border-radius: 50%;
    background: rgba(239, 121, 69, 0.12);
    filter: blur(80px);
}

.gioithieu_wrap::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: 0.035;
    background-image: linear-gradient(rgba(255,255,255,.7) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.7) 1px, transparent 1px);
    background-size: 64px 64px;
    pointer-events: none;
}

.story-editorial {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.92fr);
    align-items: center;
    gap: clamp(55px, 7vw, 110px);
}

.story-visual {
    position: relative;
    min-height: 650px;
}

.story-photo {
    position: absolute;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: #242220;
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.34);
}

.story-photo--1 {
    inset: 0 130px 58px 0;
    border-radius: 34px;
}

.story-photo--2 {
    width: 43%;
    height: 39%;
    right: 0;
    top: 34px;
    border-radius: 24px;
    transform: rotate(2.5deg);
}

.story-photo--3 {
    width: 48%;
    height: 34%;
    right: 8px;
    bottom: 0;
    border-radius: 24px;
    transform: rotate(-2deg);
}

.story-photo__image,
.story-photo picture {
    position: absolute;
    inset: 0;
    width: 100%;
    /* Global `img { height: auto !important }` otherwise leaves the
       landscape JPEG sitting at the top of this tall frame, so the
       #242220 tile background reads as a missing image. */
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover;
}

.story-photo__image {
    display: block;
    transition: transform 0.6s ease;
}

.story-photo:hover .story-photo__image {
    transform: scale(1.045);
}

.story-visual__stamp {
    position: absolute;
    z-index: 3;
    left: 28px;
    bottom: 24px;
    width: 225px;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 18px;
    color: #fff;
    background: rgba(18, 17, 16, 0.82);
    backdrop-filter: blur(12px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.25);
}

.story-visual__stamp span {
    display: block;
    margin-bottom: 6px;
    color: #fd8b0f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.story-visual__stamp strong {
    font-family: var(--second-family);
    font-size: 17px;
    font-weight: 600;
}

.story-copy {
    position: relative;
    z-index: 2;
    padding: clamp(26px, 3vw, 44px) 0 clamp(26px, 3vw, 44px) clamp(26px, 3.2vw, 50px);
    border-left: 1px solid rgba(253, 139, 15, 0.34);
}

.story-copy::before {
    content: attr(data-wordmark);
    position: absolute;
    z-index: -1;
    top: -54px;
    right: -16px;
    color: rgba(255, 255, 255, 0.025);
    font-family: var(--second-family);
    font-size: clamp(96px, 10vw, 164px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -0.06em;
    pointer-events: none;
}

.story-founder-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    margin-top: 2rem;
    padding-top: 1.7rem;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.story-founder-note__mark {
    display: inline-flex;
    padding-top: 3px;
    color: #fd8b0f;
}

.story-founder-note p {
    max-width: 510px;
    margin: 0;
    color: #fff;
    font-family: var(--second-family);
    font-size: clamp(19px, 1.65vw, 25px);
    font-weight: 520;
    line-height: 1.45;
    letter-spacing: -0.012em;
}

.footer-footer__copyright {
    position: relative;
    z-index: 1;
}

.footer-footer__copyright {
    padding: 0px;
}

.footer-footer__copyright span {
    margin-right: 10px;
    padding-left: 10px;
}

.footer-footer__copyright span:last-child {
    margin: 0px;
}

.footer-footer__copyright p {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 13px;
    line-height: 169%;
}

.footer-footer__copyright>div {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    min-height: unset;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding: 1rem 0px;
}

.footer_content_name2 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 15px;
    line-height: 167%;
    color: rgb(252, 227, 11);
    margin-bottom: 1rem;
}

.hotlineLienhe {
    background: url("../images/18.png") 0px 0px no-repeat;
    max-width: 380px;
    width: 100%;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-family: var(--font-family);
    font-style: italic;
    font-weight: 400;
    font-size: 23px;
    line-height: 1;
    color: rgb(0, 0, 0);
    padding-right: 1rem;
    padding-left: 7rem;
}

.hotlineLienhe b {
    margin-left: 10px;
    font-style: italic;
    font-weight: 900;
}

.emailLienhe {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 33px;
    color: rgb(255, 255, 255);
    background: url("../images/16.png") left center no-repeat;
    padding-left: 77px;
}

.logoFooter {
    max-width: 225px;
    position: relative;
    align-self: flex-start;
}

.footerTop {
    max-width: 1391px;
    height: 90px;
    background: url("../images/17.png") 0px 0px / 100% 100% no-repeat;
    margin: auto;
    padding: 0px 6rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.productList_listwrap+.productList_listwrap {
    margin: 4rem 0px 0px;
}

.productList_listwrapBottom_col {
    min-width: 100%;
    width: 100%;
}

.productList_listwrapBottom_col>img {
    border-radius: 20px;
    overflow: hidden;
}

.productList_listwrapBottom_grid {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 17px;
}

.productList_listwrapTopCat {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.productList_listwrapTopCat button {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 14px;
    line-height: 45px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    background: url("../images/8.png") 0px 0px / 100% 100% no-repeat;
    border: 0px;
    outline: 0px;
    padding: 0px 1rem;
    min-width: 150px;
}

.productList_listwrapTopCat button span {
    max-width: 120px;
    display: inline-block;
    vertical-align: middle;
}

.productList_listwrapTopCat button.active,
.productList_listwrapTopCat button:hover {
    background: url("../images/9.png") 0px 0px no-repeat;
    color: rgb(0, 0, 0);
}

.productList_listwrapTopName {
    font-family: var(--font-family);
    font-weight: 800;
    font-size: 27px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    background: url("../images/6.png") 0px 0px no-repeat;
    min-height: 55px;
    min-width: 469px;
    padding-top: 0.25rem;
    padding-left: 1.5rem;
    padding-right: 2.25rem;
}

.productList_listwrapTopName a {
    color: inherit;
}

.productList_listwrapTopName h2 {
    margin: 0px;
}

.productList_listwrapTop {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 2rem;
}

.productList_wrap {
    padding: 4rem 0px;
    background: url("../images/10.png") center top / cover no-repeat;
}

.productList_grid_wrap {
    position: relative;
    min-height: 100px;
}

.productList_grid_wrap.loading {
    pointer-events: none;
}

.productList_grid_wrap.loading .menu-page__grid {
    opacity: 0.35;
    filter: blur(2px);
    transition: opacity 0.3s, filter 0.3s;
}

.productList_grid_wrap.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    margin: -22px 0px 0px -22px;
    border-width: 3px;
    border-style: solid;
    border-right-color: rgba(0, 64, 208, 0.15);
    border-bottom-color: rgba(0, 64, 208, 0.15);
    border-left-color: rgba(0, 64, 208, 0.15);
    border-image: none;
    border-top-color: var(--chinh);
    border-radius: 50%;
    animation: 0.8s linear 0s infinite normal none running productListSpin;
    z-index: 2;
}

@keyframes productListSpin {
    100% {
        transform: rotate(360deg);
    }
}

.productList_pagination {
    margin-top: 1.5rem;
}

.productList_pagination_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.productList_page_btn {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(0, 64, 208, 0.2);
    border-radius: 10px;
    background: rgb(255, 255, 255);
    color: rgb(51, 51, 51);
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s, border-color 0.35s, background 0.35s, color 0.35s;
}

.productList_page_btn:hover {
    transform: translateY(-4px);
    box-shadow: rgba(0, 64, 208, 0.25) 0px 6px 18px;
    border-color: var(--chinh);
    color: var(--chinh);
}

.productList_page_btn.active {
    background: var(--chinh);
    color: rgb(255, 255, 255);
    border-color: var(--chinh);
    transform: translateY(-2px);
    box-shadow: rgba(0, 64, 208, 0.3) 0px 4px 14px;
}

.productList_page_btn.disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

.productList_listwrapTopCat button {
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s;
}

.productList_listwrapTopCat button:hover {
    transform: translateY(-4px);
    box-shadow: rgba(0, 64, 208, 0.2) 0px 6px 18px;
}

.validation-contact_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.dangkynhantin_wrap .contact-input input,
.dangkynhantin_wrap .contact-input textarea {
    border-radius: 5px;
    border: 0px;
    outline: 0px;
    min-height: 50px;
    padding-left: 1rem;
    padding-right: 1rem;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 15px;
    line-height: 160%;
    text-transform: none;
    color: rgb(118, 118, 118);
}

.dangkyntname {
    font-family: var(--font-family);
    font-weight: 800;
    font-size: 50px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    margin-bottom: 1rem;
}

.dangkynhantin_wrap {
    padding: 4rem 0px;
    background: url("../images/14.png") 0px 0px / cover no-repeat;
}

.dangkynhantin_wrap .wrap-content {
    min-height: 445px;
    background: url("../images/15.png") 0px 0px no-repeat;
    text-align: center;
    color: rgb(255, 255, 255);
    padding: 1.75rem 6rem 2rem;
}

.dangkynhantin_wrap .invalid-feedback {
    display: none !important;
}

.video_list_icon {
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    z-index: 0;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s;
}

.video_list_icon button {
    border: 0px;
    padding: 0px;
    background: transparent;
    outline: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: pointer;
}

.video_list_icon button::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.4s;
}

.video_list_icon:hover button::before {
    transform: scale(1.3);
    background: rgba(255, 255, 255, 0.3);
}

.video_list_icon button svg {
    position: relative;
    z-index: 1;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.video_list_icon:hover button svg {
    transform: scale(1.15);
}

.video_list_icon button svg:nth-child(2) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.video_list_icon:hover button svg:nth-child(2) {
    transform: translate(-50%, -50%) scale(1.15);
}

.danhmuclink_list a h3 {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    text-align: center;
    color: rgb(40, 40, 40);
}

.danhmuclink_list_icon {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 1rem;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.danhmuclink_list_icon::after {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.25), transparent);
    transform: skewX(-25deg);
    transition: left 0.6s;
    pointer-events: none;
}

.danhmuclink_list_icon:hover::after {
    left: 120%;
}

.danhmuclink_wrap {
    margin: 4rem 0px;
}

.danhmuclink_wrap .wrap-content {
    max-width: 1302px;
    background: url("../images/5.png") 0px 0px no-repeat;
    padding-left: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
}

.chuongtrinhkhuyenmai_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.chuongtrinhkhuyenmai_list a {
    border-radius: 10px;
    overflow: hidden;
}

.chuongtrinhkhuyenmai_list_icon {
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.chuongtrinhkhuyenmai_list_icon::after {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.25), transparent);
    transform: skewX(-25deg);
    transition: left 0.6s;
    pointer-events: none;
}

.chuongtrinhkhuyenmai_list_icon:hover {
    transform: translateY(-6px);
}

.chuongtrinhkhuyenmai_list_icon:hover::after {
    left: 120%;
}

.headingman {
    text-align: center;
    margin-bottom: 2rem;
}

.chuongtrinhkhuyenmai_wrap {
    padding: 4rem 0px;
}

.sliderOwl {
    top: 0px;
    position: relative;
    z-index: 1;
}

.sliderOwl>div {
    position: relative;
    z-index: 0;
}

.sliderOwl a {
    position: relative;
    z-index: 0;
}

a {}

.hltuvan2 {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.hltuvan2 b {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 14px;
    line-height: 214%;
    color: rgb(1, 61, 196);
}

.hltuvan2 p {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 214%;
    color: rgb(32, 32, 32);
}

.hltuvan {
    display: block;
    text-align: left;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 15px;
    line-height: 200%;
    color: rgb(39, 39, 39);
    background: url("../images/1c.png") left center no-repeat;
    padding-left: 5rem;
    min-height: 65px;
    padding-top: 2px;
}

.hltuvan strong {
    display: block;
    font-weight: 900;
    font-size: 20px;
    color: rgb(0, 64, 208);
    animation: 2s ease-in-out 0s infinite normal none running hotlineFloat;
}

@keyframes hotlineFloat {

    0%,
    100% {
        transform: translateY(0px);
        text-shadow: rgba(0, 64, 208, 0) 0px 0px 0px;
    }

    50% {
        transform: translateY(-6px);
        text-shadow: rgba(0, 64, 208, 0.4) 0px 0px 18px;
    }
}

.logoMenu {
    max-width: 225px;
    margin: 0px;
    position: relative;
    order: -1;
}

.socialHeader {
    display: flex;
    align-items: center;
    gap: 8px;
}

.socialHeader .social__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
}

.socialHeader .social__link img,
.socialHeader .social__link_image {
    width: 24px;
    height: 24px;
}

.album-item {
    cursor: pointer;
}

.bean-header__main {
    margin-top: 0px;
    padding: 1.5rem 0px 2rem;
}

.bean-header__main .wrap-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 7rem;
}

.header__main_top {
    position: relative;
    z-index: 1;
}

.header__main_top marquee {
    width: 25%;
    margin-right: auto;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 14px;
    color: rgb(255, 255, 255);
}

.header__main_top p {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    color: rgb(255, 255, 255);
}

.header__main_top p:nth-child(2) {
    margin-left: auto;
    margin-right: 4rem;
}

.header__main_top .wrap-content {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px;
}

.about_colHome3 {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s;
}

.about_colHome3::after {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.25) 50%, transparent 70%);
    transform: skewX(-25deg);
    pointer-events: none;
    transition: left 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 2;
}

.about_colHome3:hover {
    transform: translateY(0px);
}

.about_colHome3:hover::after {
    left: 120%;
}

.about_colHome2_text2 {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 193%;
    text-align: center;
    color: rgb(77, 77, 77);
    margin: 10px 0px;
}

.about_colHome2_text {
    font-family: var(--second-family);
    font-weight: 400;
    font-size: 40px;
    line-height: 1.5;
    text-align: center;
    color: rgb(17, 143, 32);
}

.about_colHome2 {
    min-width: 100%;
    width: 100%;
    grid-area: 1 / 3 / 2 / 5;
    border-radius: 10px 30px 10px 10px;
    background: url("../images/5.png") 0px 0px / 100% 100% no-repeat;
    padding: 0px 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.headingman2 {
    text-align: center;
    margin: 0px 0px -1rem;
    position: relative;
    top: -2rem;
}

.headingman2 h2 {
    font-family: var(--font-family);
    font-weight: 800;
    font-size: 50px;
    text-transform: uppercase;
    color: rgb(0, 64, 208);
}

.headingman2 span {
    font-family: var(--second-family);
    font-weight: 400;
    font-size: 25px;
    text-transform: capitalize;
    text-align: center;
    color: rgb(0, 0, 0);
}

.about_colHome1 {
    min-width: 100%;
    width: 100%;
    background: url("../images/4.png") center center / 100% 100% no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    grid-row: 1 / 3;
}

.about_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px;
    border-radius: 30px;
    overflow: hidden;
}

.about_wrap {
    padding: 70px 0px;
}

.visaochon_circle_curve_icon {
    width: 186px;
    height: 186px;
    background: url("../images/11.png") 0px 0px no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 10px;
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.4s, opacity 0.4s;
    cursor: pointer;
}

.visaochon_circle_curve_icon:hover {
    transform: translateY(-10px) scale(1.08);
    filter: drop-shadow(rgba(222, 158, 62, 0.4) 0px 12px 24px);
}

.visaochon_circle_curve_icon:nth-child(1) {
    opacity: 1;
    position: absolute;
    top: 20%;
    left: 0px;
    animation: 3s ease-in-out 0s infinite normal none running visaochonFloat1;
}

.visaochon_circle_curve_icon:nth-child(2) {
    opacity: 1;
    position: absolute;
    top: 60%;
    left: 15%;
    animation: 3.4s ease-in-out 0s infinite normal none running visaochonFloat2;
}

.visaochon_circle_curve_icon:nth-child(5) {
    opacity: 1;
    position: absolute;
    top: 79%;
    left: 41%;
    animation: 3.8s ease-in-out 0s infinite normal none running visaochonFloat3;
}

.visaochon_circle_curve_icon:nth-child(4) {
    opacity: 1;
    position: absolute;
    top: 60%;
    right: 15%;
    animation: 3.4s ease-in-out 0s infinite normal none running visaochonFloat2;
}

.visaochon_circle_curve_icon:nth-child(3) {
    opacity: 1;
    position: absolute;
    top: 20%;
    right: 0px;
    animation: 3s ease-in-out 0s infinite normal none running visaochonFloat1;
}

.visaochon_circle_curve_icon:hover {
    animation-play-state: paused;
}

@keyframes visaochonFloat1 {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-8px);
    }
}

@keyframes visaochonFloat2 {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }
}

@keyframes visaochonFloat3 {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-6px);
    }
}

.visaochon_circle_curve_icon h3 {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 16px;
    line-height: 138%;
    text-transform: uppercase;
    text-align: center;
    color: rgb(0, 0, 0);
}

.visaochon_circle_curve {
    width: 962px;
    height: 480px;
    background: url("../images/10.png") center top no-repeat;
    margin: -29rem auto auto;
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
}

.visaochon_desc {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 2;
    text-align: center;
    color: rgb(77, 77, 77);
    max-width: 594px;
}

.visaochon_circle {
    width: 904px;
    height: 904px;
    background: rgb(255, 255, 255);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5rem;
    margin: 0px auto;
}

.visaochon_wrap {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.productNB_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 35px;
}

.thucdonNoibat_wrap {
    padding-bottom: 70px;
    padding-top: 13rem;
    background: url("../images/6.png") right top no-repeat, url("../images/7.png") left top no-repeat;
}

.thucdon_gridcover {
    padding: 20px;
    border-radius: 20px;
    background: url("../images/15.png") center center / cover no-repeat;
}

.thucdon__item {
    border-radius: 10px;
    overflow: hidden;
}

.thucdon_grid {
    padding: 20px;
    background: rgb(255, 255, 255);
    border-radius: 20px;
}

.thucdon_wrap {
    display: block;
    padding-top: 70px;
    background: url("../images/17.png") center top / 100% no-repeat;
    padding-bottom: 5rem;
}

.thucdon_wrap .headingman span {
    color: rgb(255, 255, 255);
}

.thucdon_wrap .headingman h2 {
    font-family: var(--third-family);
    font-weight: 950;
    font-size: 40px;
    text-transform: uppercase;
    text-align: center;
    background: linear-gradient(90deg, rgb(222, 158, 62) -0.44%, rgb(253, 217, 125) 26.24%, rgb(222, 158, 62) 73.84%, rgb(253, 217, 125) 100%) text;
    -webkit-text-fill-color: transparent;
}

section.loaiphong__info_desc {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.7;
    text-transform: capitalize;
    text-align: center;
    color: rgb(77, 77, 77);
    margin-top: 5px;
}

section.loaiphong__info_desc p {
    margin: 0px;
}

section.loaiphong__info {
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
    background: rgb(255, 255, 255);
    padding: 1rem;
    display: block;
    text-align: center;
    position: relative;
    z-index: 1;
    margin: -4rem auto 10px;
    max-width: 90%;
}

section.loaiphong__info>h3 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 18px;
    line-height: 122%;
    text-transform: uppercase;
    text-align: center;
    background: linear-gradient(90deg, rgb(222, 158, 62) -0.44%, rgb(253, 217, 125) 26.24%, rgb(222, 158, 62) 73.84%, rgb(253, 217, 125) 100%) text;
    -webkit-text-fill-color: transparent;
    margin: 0px;
}

.loaiphong__item_icon {
    border-radius: 10px;
    overflow: hidden;
}

.loaiphong_wrap {
    padding: 70px 0px;
    display: block;
    background: url("../images/19.png") left top 3% no-repeat;
}

.dichvu__item_icon img {
    width: 100%;
}

section.dichvu__info {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    background: url("../images/21.png") center bottom / 100% 100% no-repeat;
    height: 78px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-left: 2rem;
    padding-bottom: 7px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(40px);
    transition: opacity 0.4s, visibility 0.4s, transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.dichvu__item:hover section.dichvu__info {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

section.dichvu__info span,
section.dichvu__info h3 {
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.08s, opacity 0.35s;
}

.dichvu__item:hover section.dichvu__info span,
.dichvu__item:hover section.dichvu__info h3 {
    transform: translateY(-4px);
}

section.dichvu__info span {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 30px;
    line-height: 100%;
    color: transparent;
    -webkit-text-stroke: 1px rgb(255, 255, 255);
    text-indent: 4rem;
}

section.dichvu__info h3 {
    margin: 0px;
    font-weight: 500;
    font-size: 16px;
    line-height: 188%;
    color: rgb(255, 255, 255);
    font-family: var(--font-family);
}

.dichvu__item {
    border-radius: 0px 190px 0px 0px;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.intro_dichvu_more {
    visibility: visible;
}

.intro_dichvu_more {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.intro_dichvu_name3 {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 214%;
    color: rgb(255, 255, 255);
}

.intro_dichvu_name2 {
    font-family: var(--third-family);
    font-weight: 950;
    font-size: 65px;
    text-transform: uppercase;
    background: linear-gradient(90deg, rgb(222, 158, 62) -0.44%, rgb(253, 217, 125) 26.24%, rgb(222, 158, 62) 73.84%, rgb(253, 217, 125) 100%) text;
    -webkit-text-fill-color: transparent;
}

.intro_dichvu_name {
    font-family: var(--second-family);
    font-weight: 400;
    font-size: 35px;
    text-transform: capitalize;
    color: rgb(255, 255, 255);
}

.dichvu_wrap_col {
    min-width: 100%;
    width: 100%;
}

.dichvu_wrap_grid {
    padding-left: calc(50% - 600px);
    padding-right: 4rem;
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 30px;
    align-items: center;
}

.dichvu_wrap {
    padding: 100px 0px 170px;
    background: url("../images/20.png") center top / 100% 100% no-repeat;
}

.khonggian_more {
    display: flex;
    justify-content: center;
    align-items: center;
}

.khonggian_more a {
    border-radius: 7px;
    padding: 21px 20px 20px;
    min-width: 155px;
    height: 40px;
    background: linear-gradient(90deg, rgb(222, 158, 62) -0.44%, rgb(253, 217, 125) 26.24%, rgb(222, 158, 62) 73.84%, rgb(253, 217, 125) 100%);
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 15px;
    text-transform: uppercase;
    text-align: justify;
    color: rgb(40, 40, 40);
    line-height: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s;
}

.khonggian_more a:hover {
    transform: translateY(-6px);
    box-shadow: rgba(222, 158, 62, 0.45) 0px 8px 25px;
}

.khonggian__item {
    border-radius: 10px;
    overflow: hidden;
}

.khonggian__item a {
    display: block;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s;
}

.khonggian__item a:hover {
    transform: translateY(-8px);
    box-shadow: rgba(0, 0, 0, 0.18) 0px 0px 5px;
}

.khonggian__item:nth-child(4) {
    position: absolute;
    bottom: calc(222px);
    right: 0px;
    max-width: 324px;
}

.khonggian__item:nth-child(3) {
    margin-bottom: 10px;
}

.khonggian__item:nth-child(1) {
    align-self: flex-start;
    margin-top: 2rem;
}

.khonggian__item:nth-child(3),
.khonggian__item:nth-child(4) {
    align-self: flex-end;
}

.khonggian__item:nth-child(3) a img,
.khonggian__item:nth-child(4) a img {
    max-height: 202px;
    object-fit: cover;
}

.khonggian__item:nth-child(1) a img {
    min-height: 396px;
    object-fit: cover;
}

.khonggian_grid {
    display: grid;
    grid-template-columns: 346px 510px 1fr;
    gap: 10px;
    position: relative;
    z-index: 0;
    overflow: hidden;
    margin-bottom: 2rem;
}

.khonggian_wrap {
    padding: 70px 0px;
    position: relative;
    z-index: 0;
    background: url("../images/22.png") right top 5% no-repeat;
}

.video_slogan {
    display: block;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding: 1rem;
    margin-bottom: 3rem;
    overflow: hidden;
}

.video_slogan ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 3rem;
    flex-wrap: nowrap;
    width: max-content;
    animation: 100s linear 0s infinite normal none running videoSloganScroll;
}

.video_slogan ul:hover {
    animation-play-state: paused;
}

@keyframes videoSloganScroll {
    0% {
        transform: translateX(100vw);
    }

    100% {
        transform: translateX(-100%);
    }
}

.video_slogan ul li {
    list-style: none;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 40px;
    text-transform: uppercase;
    color: transparent;
    -webkit-text-stroke: 1px rgb(138, 134, 133);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 3rem;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-text-stroke-color 0.35s, color 0.35s;
    cursor: default;
}

.video_slogan ul li:hover {
    transform: translateY(-6px);
    -webkit-text-stroke-color: rgb(255, 255, 255);
    color: rgba(255, 255, 255, 0.15);
    text-shadow: rgba(255, 255, 255, 0.25) 0px 4px 15px;
}

.video_slogan ul li::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background: rgba(255, 255, 255, 0.4);
    display: inline-block;
    vertical-align: middle;
}

.video_slogan ul li:first-child::before {
    display: none;
}

.video_slogan ul li:nth-child(2n) {
    color: rgba(255, 255, 255, 0.4);
}

.video_wrap {
    margin: 4rem 0px;
    background: transparent;
}

.khachhang__item_infor {
    display: block;
    text-align: left;
}

.khachhang__item_infor h3 {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    color: rgb(34, 34, 34);
}

.khachhang__item_infor {}

.khachhang__item_icon {
    min-width: 100px;
    max-width: 100px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.13) 2px 4px 8px 0px;
}

.khachhang__item_info {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    background: url("../images/28.png") right top no-repeat;
}

.khachhang__item {
    background: url("../images/29.png") center top / 100% no-repeat;
    padding: 1rem 2rem;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s;
    margin-top: 5px;
}

.khachhang__item:hover {
    transform: translateY(-5px);
}

.khachhang_wrap {
    padding: 70px 0px;
}

.newsnb_framebox {
    background: url("../images/25.png") left 2rem top 3rem no-repeat, url("../images/26.png") left 0rem top 50% no-repeat, url("../images/27.png") right 0rem top 65% no-repeat;
}

.quangcao__item_icon {
    border-radius: 20px;
    overflow: hidden;
    display: block;
}

.owl-item:nth-child(2n+1) .newsnb__item a {
    display: flex;
    flex-direction: column-reverse;
}

.fb-page {
    min-height: 300px;
    border-radius: 10px;
    background: rgb(255, 255, 255);
    overflow: hidden;
}

.footer_col_newsl_button button {
    border-radius: 8px;
    width: 100%;
    height: 44px;
    background: var(--nhan);
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 15px;
    line-height: 1.5;
    text-transform: uppercase;
    text-align: center;
    color: var(--trang);
    border: 0px;
}

.footer_col_newsl_button {
    margin: 15px 0px 0px;
    display: block;
}

.footer_col_newsl_col label {
    margin: 0px 0px 10px;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    color: var(--icon);
}

.footer_col_newsl_col input,
.footer_col_newsl_col select {
    border: 1px solid rgb(204, 204, 204);
    border-radius: 8px;
    width: 100%;
    height: 42px;
    background-color: var(--trang);
    padding: 7px 10px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 12px;
    color: rgb(106, 114, 130);
    transition: border-color 0.3s, box-shadow 0.3s, background 0.3s;
    appearance: none !important;
}

.was-validated .footer_col_newsl_col input:invalid,
.was-validated .footer_col_newsl_col select:invalid {
    animation: 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) 0s 1 normal none running shakeInvalid;
    border-color: rgb(220, 53, 69) !important;
    box-shadow: rgba(220, 53, 69, 0.12) 0px 0px 0px 3px !important;
    background: rgb(255, 245, 245) !important;
}

.was-validated .footer_col_newsl_col input:valid,
.was-validated .footer_col_newsl_col select:valid {
    border-color: rgb(25, 135, 84);
    box-shadow: rgba(25, 135, 84, 0.1) 0px 0px 0px 3px;
}

@keyframes shakeInvalid {

    0%,
    100% {
        transform: translateX(0px);
    }

    20% {
        transform: translateX(-6px);
    }

    40% {
        transform: translateX(6px);
    }

    60% {
        transform: translateX(-4px);
    }

    80% {
        transform: translateX(4px);
    }
}

.footer_col_newsl_col {
    min-width: 100%;
    width: 100%;
}

.footer_col_newsl_group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

form#form_contactft {
    margin: 2rem 0px 0px;
    border: 1px solid rgba(182, 128, 41, 0.3);
    border-radius: 16px;
    width: 100%;
    height: auto;
    backdrop-filter: blur(8px);
    background: var(--trang);
    padding: 2rem;
}

form#form_contactft h2 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    text-transform: uppercase;
    color: var(--chinh);
    margin: 0px 0px 1rem;
}

.prlist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 1rem 0px 0px;
    gap: 1rem;
}

.prlist a {
    display: block;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.prlist a:hover {
    transform: translateX(8px);
}

.prlist a h3::before {
    content: "";
    width: 5px;
    height: 5px;
    background: var(--trang);
    display: inline-block;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 10px;
    transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.prlist a:hover h3::before {
    width: 8px;
    height: 8px;
    background: rgb(252, 226, 108);
    box-shadow: rgba(252, 226, 108, 0.6) 0px 0px 10px, rgba(252, 226, 108, 0.3) 0px 0px 20px;
    margin-right: 14px;
}

.prlist a h3 {
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 15px;
    color: var(--trang);
    margin: 0px;
    transition: color 0.35s;
}

.hethongFt__item {
    display: block;
    padding: 6px 8px;
    border-radius: 10px;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.35s, box-shadow 0.35s;
}

.hethongFt__item:hover {
    transform: translateX(10px);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 16px;
}

.hethongFt__item h3 {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    color: var(--trang);
    background: url("../images/14.png") left center / 24px no-repeat;
    padding-left: 40px;
    min-height: 30px;
    transition: color 0.35s, padding-left 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background-position 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hethongFt__item:hover h3 {
    color: rgb(252, 226, 108);
    padding-left: 48px;
    background-position: 6px center;
}

.hethongFt_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.hethongFt_name {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.hethongFt_name span {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    color: var(--trang);
}

.hethongFt {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    width: 100%;
    height: auto;
    background: rgba(255, 255, 255, 0.04);
    padding: 1.5rem;
}

.socialFt a img {
    max-width: 40px;
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.35s, box-shadow 0.35s;
}

.socialFt__link {
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.4s, background 0.4s, box-shadow 0.4s;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 60px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0px 1rem;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 15px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    gap: 1rem;
    background: rgba(255, 255, 255, 0.1);
}

a.socialFt__link svg {
    margin-left: auto;
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.4s;
}

.socialFt__link:hover {
    transform: translateY(-8px) scale(1.06);
    border-color: var(--nhan);
    background: rgba(253, 139, 15, 0.15);
    box-shadow: rgba(253, 139, 15, 0.3) 0px 10px 30px, rgba(253, 139, 15, 0.15) 0px 0px 20px;
    color: var(--nhan);
}

.socialFt__link:hover img {
    transform: rotate(8deg) scale(1.08);
    filter: drop-shadow(rgba(253, 139, 15, 0.5) 0px 8px 16px) brightness(1.2);
}

.socialFt__link:hover svg {
    transform: translateX(4px);
    filter: drop-shadow(rgba(253, 139, 15, 0.6) 0px 0px 6px);
}

@keyframes socialFtFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-4px);
    }
}

.socialFt__link:nth-child(1) {
    animation: 2.6s ease-in-out 0s infinite normal none running socialFtFloat;
}

.socialFt__link:nth-child(2) {
    animation: 2.8s ease-in-out 0.2s infinite normal none running socialFtFloat;
}

.socialFt__link:nth-child(3) {
    animation: 3s ease-in-out 0.4s infinite normal none running socialFtFloat;
}

.socialFt__link:nth-child(4) {
    animation: 2.7s ease-in-out 0.1s infinite normal none running socialFtFloat;
}

.socialFt__link:nth-child(5) {
    animation: 3.1s ease-in-out 0.3s infinite normal none running socialFtFloat;
}

.socialFt__link:nth-child(6) {
    animation: 2.9s ease-in-out 0.15s infinite normal none running socialFtFloat;
}

.footer_content_desc {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 280%;
}

.footer_content_name {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 1rem;
}

.footer-hours {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--font-family);
    font-size: 15px;
    line-height: 1.6;
}

.footer-hours__icon {
    display: inline-flex;
    flex: 0 0 auto;
    margin-top: 3px;
    color: var(--nen-2);
}

.footer-hours strong {
    display: block;
    color: rgb(255, 255, 255);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.footer-hours__line {
    display: block;
}

.footer_companyinfo {
    display: block;
    text-align: left;
}

.footer_col {
    min-width: 100%;
    width: 100%;
}

.footer_col ul {
    color: rgb(255, 255, 255);
    padding-left: 15px;
}

.footer_col ul li a {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    color: rgb(255, 255, 255);
    display: inline-block;
    transition: color 0.35s, transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.footer_col ul li a:hover {
    color: var(--nen-2);
    transform: translateX(8px);
}

.footer_col ul li {
    list-style: disc;
    color: rgb(255, 255, 255);
    margin-bottom: 1rem;
}

.footer_grid {
    display: grid;
    grid-template-columns: 225px 420px 280px;
    gap: 5rem;
    padding: 5rem 0px;
    justify-content: space-between;
}

footer.footer-wrap.footer-main {
    background: url("../images/13.png") center top / cover no-repeat;
    padding: 0px;
}

section.newsnb__info p {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 160%;
    color: rgb(116, 122, 130);
}

section.newsnb__info strong {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 13px;
    color: var(--nhan);
    background: url("../images/11.png") left center no-repeat;
    padding-left: 30px;
    margin-bottom: 1rem;
    display: block;
}

section.newsnb__info h3 {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    text-align: center;
    color: rgb(0, 0, 0);
    margin: 0px;
}

section.newsnb__info {
    padding: 1rem;
}

.newsnb__item_icon {
    width: 100%;
    display: block;
}

.newsnb__item_icon span {
    border-radius: 999px;
    width: 86px;
    height: 31px;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.86);
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--nen-2);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
}

.newsnb__item_icon {
    position: relative;
    z-index: 0;
    border-radius: 10px;
    overflow: hidden;
}

.newsnb__item_icon img {
    width: 1000%;
    display: block;
}

.newsnb__item {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
    background: rgb(255, 255, 255);
    margin: 10px;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s;
}

.newsnb__item:hover {
    transform: translateY(-5px);
}

.newsnb__item button {
    border: 0px;
    padding: 0px;
    background: transparent;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    color: var(--chinh);
    display: flex;
    align-items: center;
    gap: 10px;
}

.newsnb__item a {
    display: block;
}

.info-newsnb_map {
    padding: 70px 0px;
}

.info-newsnb_map .wrap-content {
    background: url("../images/31.png") center top no-repeat, url("../images/32.png") center top 8rem no-repeat;
    padding-top: 10rem;
}

.owl-item:nth-child(2n) .hethong__item {
    margin-top: 0px;
}

.owl-item:nth-child(2n) .hethong__item {
    margin-top: 4rem;
}

span.hethongdem {
    width: 54px;
    height: 54px;
    background: linear-gradient(108.21deg, rgb(182, 128, 41) -34.21%, rgb(213, 162, 75) 134.21%);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-family);
    font-style: italic;
    font-weight: 600;
    font-size: 32px;
    text-transform: uppercase;
    text-align: center;
    color: var(--trang);
    position: relative;
    margin-bottom: -1.75rem;
    margin-left: 1rem;
}

.hethong__item_icon {
    width: 100%;
    display: block;
}

.hethong__item_icon img {
    width: 1000%;
    display: block;
}

.hethong__item a {
    display: block;
    border-radius: 10px;
    overflow: hidden;
    background: rgb(255, 255, 255);
    padding-bottom: 1.5rem;
}

.hethong__item {
    display: block;
    position: relative;
    z-index: 0;
    transition: 500ms;
}

.hethong__item button {
    border-radius: 35px;
    padding: 10px 15px;
    min-width: 156px;
    height: 35px;
    background: var(--chinh);
    border: 0px;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 14px;
    text-transform: capitalize;
    color: var(--trang);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 1rem;
}

.hethong__item section {
    padding: 1rem;
}

.hethong__item section h3 {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 16px;
    line-height: 125%;
    text-transform: capitalize;
    color: var(--chinh);
    margin: 0px;
    background: url("../images/10.png") left top no-repeat;
    padding-left: 2rem;
}

.agt_map_owlcarousel.owl-carousel .owl-nav .owl-prev {
    left: -24px;
}

.agt_map_owlcarousel.owl-carousel .owl-nav .owl-next {
    right: -24px;
}

.agt__item {
    border-radius: 25px;
    overflow: hidden;
}

.about_map_desc {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 188%;
    color: var(--trang);
}

.about_map_col {
    min-width: 100%;
    width: 100%;
}

.about_map_grid {
    display: grid;
    grid-template-columns: 1fr 600px;
    gap: 53px;
    align-items: center;
}

.about_map_name {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 40px;
    text-transform: uppercase;
    color: var(--trang);
    margin-bottom: 2rem;
    background: url("../images/8.png") center bottom no-repeat;
    text-align: center;
    padding-bottom: 15px;
}

.info-about_map {
    padding: 70px 0px;
    background: rgb(0, 11, 23);
}

.tva__item_icon,
.tva__item_icon img {
    position: relative;
    width: 100%;
    object-fit: cover;
    height: 100% !important;
}

.tva__item {
    min-width: 100%;
    width: 100%;
    display: block;
}

.tva__item:nth-child(8) {
    grid-area: 3 / 2 / 5 / 3;
    height: 100%;
}

.tva__item:nth-child(1) {
    grid-area: 1 / 1 / 3 / 2;
    height: 100%;
}

.tva__item:nth-child(5) {
    grid-area: 2 / 3 / 4 / 5;
}

.tva__item a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

.tva_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 11px;
    border-radius: 7rem 7rem 0px 0px;
    overflow: hidden;
    align-items: flex-start;
}

.info-tva_map {
    padding: 70px 0px;
}

.video__item_icon img {
    transition: 500ms;
    opacity: 1;
}

.video__item_icon img {
    width: 1000%;
    display: block;
}

.video__item {
    display: block;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    border-radius: 10px;
    overflow: hidden;
}

.video__item:hover img {
    opacity: 1;
}

.video__item a button {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 3.35544e+07px;
    width: 48px;
    height: 48px;
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: calc(50% - 24px);
    left: calc(50% - 24px);
    z-index: 2;
}

.video__item a button i {
    font-weight: 900;
    font-size: 18px;
    text-align: center;
    color: var(--trang);
    line-height: 0;
}

.video__item a {
    display: block;
    position: relative;
    z-index: 0;
    background: rgb(255, 255, 255);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s;
}

.video__item a:hover {
    transform: translateY(-8px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 30px;
}

.video__item a::before {
    content: "";
    width: 110px;
    height: 110px;
    background: url("../images/24.png") center center / contain no-repeat;
    position: absolute;
    top: calc(50% - 55px);
    left: calc(50% - 55px);
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.35s;
}

.video__item a:hover::before {
    transform: scale(1.2);
    filter: drop-shadow(rgba(255, 255, 255, 0.4) 0px 0px 12px);
}

.video_map_owlcarousel {
    max-width: 1120px;
    margin: auto;
}

.info-video_map {
    background: rgb(0, 11, 23);
    padding: 70px 0px;
}

.owl-nav .owl-prev,
.owl-nav .owl-next {
    border-radius: 3.35544e+07px;
    width: 40px;
    height: 40px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: calc(50% - 20px);
    left: -4rem;
    z-index: 2;
    background: var(--nen-2) !important;
    font-family: var(--second-family) !important;
    font-weight: 900 !important;
    font-size: 16px !important;
    line-height: 0 !important;
    color: var(--nhan) !important;
}

.owl-nav .owl-next {
    left: unset;
    right: -4rem;
}

.owl-nav .owl-prev span,
.owl-nav .owl-next span {
    line-height: 0;
    display: block;
    font-size: 2rem;
}

.propricetable_namelist {
    display: block;
    border-bottom: 1px solid rgb(30, 41, 57);
    padding-bottom: 10px;
    background: url("../images/6.png") right top no-repeat;
}

.propricetable_namelist h2 {
    font-family: var(--third-family);
    font-weight: 700;
    font-size: 20px;
    line-height: 140%;
    background: linear-gradient(108.21deg, rgb(182, 128, 41) 9.88%, rgb(213, 162, 75) 90.12%) text;
    -webkit-text-fill-color: transparent;
    margin: 0px;
}

.propricetable__item {
    padding: 1rem;
    border: 1px solid rgba(182, 128, 41, 0.2);
    border-radius: 16px;
    display: block;
    backdrop-filter: blur(12px);
    background: rgba(0, 11, 23, 0.85);
}

.propricetable__item .price-new {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 14px;
    line-height: 143%;
    text-align: right;
    background: linear-gradient(108.21deg, rgb(182, 128, 41) 1.49%, rgb(213, 162, 75) 98.51%) text;
    -webkit-text-fill-color: transparent;
    display: block;
}

.propricetable__item ul li p {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 13px;
    line-height: 123%;
    color: rgb(153, 161, 175);
}

.propricetable__item ul li h3 {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 15px;
    line-height: 133%;
    color: var(--trang);
}

.propricetable__item ul li h3 a {
    color: inherit;
}

.propricetable__item ul {
    list-style: none;
    padding: 0px 10px 0px 0px;
    margin: 0px;
    max-height: 232px;
    overflow: hidden auto;
    min-height: 232px;
}

.propricetable__item ul li {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1fr 100px;
    align-items: flex-end;
}

.info-propricetable_map {
    padding: 70px 0px;
    background: url("../images/5.png") 0px 0px / cover no-repeat;
}

.info-video_map .owl-nav .owl-prev,
.info-video_map .owl-nav .owl-next {
    background: rgb(255, 255, 255) !important;
}

.productNB_more a {
    border-radius: 45px;
    padding: 14px 24px;
    min-width: 222px;
    height: 46px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(108.21deg, rgb(182, 128, 41) 8.95%, rgb(213, 162, 75) 91.05%);
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    text-transform: capitalize;
    color: var(--trang);
    line-height: 0;
}

.productNB_more {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 3rem;
}

span.discount {
    background: rgb(217, 0, 0);
    color: rgb(255, 255, 255);
    padding: 0.1rem 0.5rem;
    border-radius: 1rem;
    position: unset;
    top: 0px;
    left: 0px;
    z-index: 2;
    margin-left: 10px;
    font-size: 13px;
}

section.productNB__info {
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s;
    padding: 1rem 0.75rem;
    text-align: left;
    position: unset;
}

.productNB__item:hover section.productNB__info {
    transform: translateY(-4px);
}

section.productNB__info>p {
    flex-grow: 1;
    text-align: center;
}

section.productNB__info p {
    margin: 0px;
    text-align: left;
    position: unset;
}

section.productNB__info p .price-new {
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    text-transform: capitalize;
    color: rgb(252, 227, 11);
}

section.productNB__info p .price-old {
    font-weight: 400;
    font-size: 15px;
    text-decoration: line-through;
    color: rgb(158, 158, 158);
    margin-left: 10px;
}

section.productNB__info p .discount {
    top: 1rem;
    left: 1rem;
    z-index: 2;
}

section.productNB__info button {
    border-radius: 8px;
    padding: 8px 18px;
    min-width: 86px;
    height: 32px;
    background: var(--chinh);
    border: 0px;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 15px;
    color: var(--trang);
    line-height: 0;
}

.productNB__item_icon {
    border-radius: 0px;
    overflow: hidden;
    display: block;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.45s;
}

.productNB__item:hover .productNB__item_icon {
    transform: translateY(-4px) scale(1.03);
}

.productNB__item_icon img {
    border-radius: 0px;
    width: 100%;
    margin: auto;
}

.productNB__item {
    position: relative;
    z-index: 0;
    border-radius: 10px;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    min-width: 100%;
    width: 100%;
    overflow: hidden;
    text-align: center;
}

.productNB__item:hover {
    transform: translateY(-8px);
}

.productNB__item:hover::after {
    box-shadow: rgba(17, 143, 32, 0.35) 0px 10px 25px;
    height: 210px;
}

.productNB__item h3 {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 18px;
    text-transform: uppercase;
    text-align: center;
    color: rgb(255, 255, 255);
}

.productNB__item h3 a,
.productNB__item h3 span {
    color: rgb(255, 255, 255);
}

.productNB__item a,
.productNB__item_media {
    display: block;
    position: relative;
}

a.lienhepro {
    cursor: pointer;
    min-width: 30px;
    max-width: 30px;
}

.headingman span {
    font-family: var(--third-family);
    font-weight: 500;
    font-size: 24px;
    text-transform: capitalize;
    text-align: center;
    color: var(--nhan);
}

.headingman.tintucheading {
    margin-bottom: 7px;
}

.headingman p {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    text-align: center;
    color: var(--trang);
}

.headingman h2 {
    font-family: var(--second-family);
    font-weight: 500;
    font-size: 70px;
    text-transform: capitalize;
    text-align: center;
    color: rgb(255, 255, 255);
    margin: 0px 0px 1rem;
    line-height: 1;
}

.headingman p {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    letter-spacing: 0.05em;
    text-align: center;
    color: rgb(27, 27, 27);
}

.info-productNB_map {
    padding: 70px 0px;
    background: rgb(0, 11, 23);
}

.prolist__item_icon {
    display: block;
    margin-bottom: 1rem;
    transition: 500ms;
}

.center .prolist__item_icon {
    transform: scale(1.2);
    margin-bottom: 2rem;
}

.prolist__item {
    display: block;
}

.prolist__item a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    backdrop-filter: blur(20px);
    box-shadow: rgba(0, 11, 23, 0.1) 0px 12px 32px 0px;
    background: rgba(255, 255, 255, 0.7);
    padding: 3rem 1.5rem;
    transition: 500ms;
}

.prolist__item a p {
    margin: 0px;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 15px;
    line-height: 160%;
    text-align: center;
    color: var(--nd);
    transition: 500ms;
}

.prolist__item a h3 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    text-align: center;
    color: var(--chinh);
    margin-bottom: 10px;
    transition: 500ms;
}

.info-prolist_map {
    padding-bottom: 70px;
}

.prolist_map_owlcarousel {}

.info-prolist_map .center a {
    backdrop-filter: blur(20px);
    box-shadow: rgba(0, 11, 23, 0.1) 0px 12px 32px 0px;
    background: rgba(255, 255, 255, 0.9);
    padding: 6rem 1.5rem;
    margin: 0px !important;
}

.info-prolist_map .center a h3 {
    transform: scale(1.2);
}

.info-prolist_map .center a p {
    transform: scale(1.05);
}

.info-prolist_map .owl-item a {
    margin-top: 3rem;
}

.bean-header__logo-wrap {
    position: relative;
    margin-top: -4rem;
    display: block;
    bottom: -2rem;
}

input,
select,
textarea,
button {
    font-family: inherit;
}

button.owl-dot {
    position: relative;
    border-radius: 0;
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    background: transparent !important;
}

button.owl-dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background: rgb(150, 146, 142);
    transform: translate(-50%, -50%);
}

button.owl-dot.active::before {
    background: var(--nhan);
}

button.owl-dot span {
    display: none;
}

button.btnBookingIcon {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    border-radius: 40px;
    border: 0px;
    outline: 0px;
    padding: 14px 30px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s;
    animation: 3s ease-in-out 0s infinite normal none running btnBookingFloat;
}

button.btnBookingIcon::before {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 80%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2), transparent);
    transform: skewX(-25deg);
    transition: left 0.7s;
    pointer-events: none;
}

button.btnBookingIcon:hover {
    transform: translateY(-8px) scale(1.06);
    box-shadow: rgba(210, 94, 56, 0.5) 0px 12px 35px, rgba(235, 139, 65, 0.35) 0px 0px 25px;
    animation-play-state: paused;
}

button.btnBookingIcon:hover::before {
    left: 120%;
}

@keyframes btnBookingFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-6px);
    }
}

button.btnSearchIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border: 0px;
    outline: 0px;
    padding: 0px;
    background: transparent;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.4s;
    animation: 3.5s ease-in-out 0s infinite normal none running btnSearchFloat;
}

button.btnSearchIcon:hover {
    transform: translateY(-6px) scale(1.18);
    filter: drop-shadow(rgba(253, 139, 15, 0.7) 0px 0px 12px) drop-shadow(rgba(253, 139, 15, 0.35) 0px 8px 20px);
    animation-play-state: paused;
}

button.btnSearchIcon:active {
    transform: translateY(-2px) scale(0.95);
    filter: drop-shadow(rgba(253, 139, 15, 0.9) 0px 0px 18px);
    transition: transform 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.15s;
}

@keyframes btnSearchFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-5px);
    }
}

.langSwitch {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
}

.langSwitch__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 44px;
    height: 44px;
    padding: 8px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50px;
    cursor: pointer;
    outline: 0px;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s, background 0.35s, border-color 0.35s;
    animation: 3.5s ease-in-out 0s infinite normal none running langSwitchFloat;
}

.langSwitch__btn:hover {
    transform: translateY(-6px) scale(1.06);
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.45);
    box-shadow: rgba(253, 139, 15, 0.45) 0px 12px 30px, rgba(253, 139, 15, 0.25) 0px 0px 20px;
    animation-play-state: paused;
}

.langSwitch__flag {
    display: block;
    width: 26px;
    height: 18px;
    border-radius: 4px;
    object-fit: cover;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 1px 3px;
}

.langSwitch__caret {
    color: rgb(255, 255, 255);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.langSwitch.is-open .langSwitch__caret {
    transform: rotate(180deg);
}

.langSwitch__list {
    position: absolute;
    top: calc(100% + 14px);
    right: 0px;
    z-index: 120;
    margin: 0px;
    padding: 8px;
    list-style: none;
    min-width: 170px;
    background: rgb(255, 255, 255);
    border-radius: 14px;
    box-shadow: rgba(0, 0, 0, 0.28) 0px 16px 45px, rgba(0, 0, 0, 0.12) 0px 4px 14px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px) scale(0.94);
    transform-origin: right top;
    transition: opacity 0.3s, transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.3s;
}

.langSwitch__list::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 18px;
    width: 14px;
    height: 14px;
    background: rgb(255, 255, 255);
    transform: rotate(45deg);
    border-radius: 3px;
}

.langSwitch.is-open .langSwitch__list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px) scale(1);
}

.langSwitch__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: rgb(28, 28, 28);
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.25s, color 0.25s, padding-left 0.25s;
}

.langSwitch__link:hover {
    background: rgba(253, 139, 15, 0.12);
    color: var(--nhan);
    padding-left: 16px;
}

.langSwitch__link.is-active {
    background: rgba(253, 139, 15, 0.15);
    color: var(--nhan);
}

.langSwitch__link .langSwitch__flag {
    width: 24px;
    height: 16px;
    box-shadow: none;
}

.langSwitch__link span {
    flex: 1 1 0%;
    white-space: nowrap;
}

.langSwitch__check {
    color: var(--nhan);
    flex-shrink: 0;
}

@keyframes langSwitchFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-5px);
    }
}

.search-overlay {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(18px);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 18vh;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0.4s;
}

.search-overlay.active {
    opacity: 1;
    visibility: visible;
}

.search-overlay__form {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0px 2rem;
    transform: translateY(30px);
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.search-overlay.active .search-overlay__form {
    transform: translateY(0px);
}

.search-overlay__input {
    width: 100%;
    height: 60px;
    border-radius: 50px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.12);
    padding: 0px 70px 0px 28px;
    font-family: var(--font-family);
    font-size: 17px;
    color: rgb(255, 255, 255);
    outline: 0px;
    transition: border-color 0.35s, background 0.35s, box-shadow 0.35s;
}

.search-overlay__input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.search-overlay__input:focus {
    border-color: var(--nhan);
    background: rgba(255, 255, 255, 0.18);
    box-shadow: rgba(253, 139, 15, 0.25) 0px 0px 30px, rgba(253, 139, 15, 0.1) 0px 0px 60px;
}

.search-overlay__submit {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 0px;
    background: linear-gradient(135deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s;
}

.search-overlay__submit:hover {
    transform: translateY(-50%) scale(1.1);
    box-shadow: rgba(210, 94, 56, 0.5) 0px 6px 25px;
}

.search-overlay__submit svg {
    width: 20px;
    height: 20px;
}

.search-overlay__close {
    position: absolute;
    top: 2.5rem;
    right: 2.5rem;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 0px;
    background: rgba(255, 255, 255, 0.1);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.35s;
}

.search-overlay__close:hover {
    transform: rotate(90deg) scale(1.1);
    background: rgba(255, 255, 255, 0.2);
}

.search-overlay__close::before,
.search-overlay__close::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 2px;
    background: rgb(255, 255, 255);
    border-radius: 2px;
}

.search-overlay__close::before {
    transform: rotate(45deg);
}

.search-overlay__close::after {
    transform: rotate(-45deg);
}

button.btnSearchIcon svg {
    display: block;
}

button.btnsubmit {
    width: 227px;
    height: 50px;
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 15px;
    line-height: 160%;
    text-transform: capitalize;
    color: rgb(255, 255, 255);
    background: url("../images/13.png") 0px 0px no-repeat;
    border: 0px;
    outline: 0px;
    padding: 0px;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s;
    cursor: pointer;
}

button.btnsubmit:hover {
    transform: translateY(-4px);
    box-shadow: rgba(0, 64, 208, 0.35) 0px 8px 25px;
}

button.btnbooking {
    border-radius: 48px;
    width: 170px;
    height: 48px;
    box-shadow: rgba(182, 128, 41, 0.25) 0px 12px 24px 0px;
    background: linear-gradient(108.21deg, rgb(182, 128, 41) 3.56%, rgb(213, 162, 75) 96.44%);
    border: 0px;
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    color: var(--trang);
    cursor: pointer;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s;
}

button.btnbooking:hover {
    transform: translateY(-3px);
    box-shadow: rgba(182, 128, 41, 0.4) 0px 16px 32px 0px;
}

.btnbooking--mb {
    border-radius: 24px;
    width: auto;
    height: 36px;
    padding: 0px 16px;
    font-size: 13px;
    box-shadow: none;
}

.btnbooking--mb:hover {
    transform: translateY(-2px);
    box-shadow: rgba(182, 128, 41, 0.3) 0px 8px 18px 0px !important;
}

.mymenu {
    display: block;
    background: rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 3;
    border-radius: 40px;
    padding: 0px 1rem;
    min-width: 395.77px;
}

.mymenu>svg {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    margin: auto;
}

.mymenu .wrap-content {
    margin: auto;
    justify-content: center;
    gap: 1rem;
    padding-top: 0px;
}

.mymenu>ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
    display: flex;
    align-items: center;
    gap: 0px;
    justify-content: space-between;
}

.mymenu ul li {
    position: relative;
}

.mymenu ul li:hover>ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    list-style: none;
    padding: 1.5rem;
    min-width: 823px;
    width: max-content;
    max-width: 90vw;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 1rem;
    backdrop-filter: blur(10px);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 10px 40px;
}

.mymenu ul li:hover>ul>li>a {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    color: rgb(0, 0, 0);
    padding: 0.5rem 0px;
    border-bottom: 2px solid var(--chinh);
    margin-bottom: 0.5rem;
    display: block;
    transition: color 0.3s, transform 0.3s;
}

.mymenu ul li:hover>ul>li>a:hover {
    color: var(--chinh);
    transform: translateX(6px);
    text-shadow: none;
}

.mymenu ul li:hover>ul>li>ul {
    display: block;
    position: static;
    list-style: none;
    padding: 0px;
    min-width: auto;
    transform: unset;
    width: 100%;
    box-shadow: none;
    border-radius: 0px;
    backdrop-filter: none;
    background: none !important;
}

.mymenu ul li:hover>ul>li>ul>li>a {
    font-weight: 400;
    font-size: 13px;
    text-transform: none;
    color: rgb(51, 51, 51);
    padding: 0px;
    display: block;
    border: 0px;
    margin-bottom: 5px;
    transition: color 0.3s, transform 0.3s, padding-left 0.3s, background 0.3s;
    background: none !important;
}

.mymenu ul li:hover>ul>li>ul>li>a:hover {
    color: var(--chinh);
    transform: translateX(8px);
    padding-left: 8px;
    background: rgba(0, 64, 208, 0.06);
    text-shadow: none;
}

.mymenu ul li:hover>ul>li>ul>li>ul {
    display: block;
    position: static;
    list-style: none;
    padding: 0px 0px 0px 0.75rem;
}

.mymenu ul li:hover>ul>li>ul>li>ul>li>a {
    font-weight: 400;
    font-size: 12px;
    text-transform: none;
    color: rgb(102, 102, 102);
    padding: 0.2rem 0.5rem;
    display: block;
    transition: color 0.3s, transform 0.3s;
}

.mymenu ul li:hover>ul>li>ul>li>ul>li>a:hover {
    color: var(--chinh);
    transform: translateX(6px);
    text-shadow: none;
}

.mymenu ul li a {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    color: rgb(255, 255, 255);
    text-transform: capitalize;
    display: block;
    padding: 14px 10px;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.35s, text-shadow 0.35s;
}

.mymenu ul li a:hover {
    transform: translateY(-4px);
    color: var(--nen-2);
    text-shadow: rgba(253, 217, 125, 0.5) 0px 4px 12px;
}

.mymenu ul ul {
    display: none;
}

a {
    text-decoration: none !important;
}

.tva_list a {
    border-radius: 20px;
    overflow: hidden;
    max-width: 320px;
    width: 100%;
    display: block;
}

.tva_list a:nth-child(2) {
    max-width: 470px;
}

.tva_list a:nth-child(3) {
    max-width: 390px;
}

.tva_list a img {
    width: 100%;
    object-fit: cover;
    height: 420px !important;
}

.tva_icon {
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.45s;
    animation: 3.8s ease-in-out 0s infinite normal none running tvaIconFloat;
}

.tva_icon img {
    display: block;
    width: 100%;
    transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tva_icon:hover {
    transform: translateY(-8px);
    box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 35px;
    animation-play-state: paused;
}

.tva_icon:hover img {
    transform: scale(1.1);
}

@keyframes tvaIconFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-6px);
    }
}

.buffetNBCarousel_item_img {
    min-width: 100%;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    display: block;
}

.buffetNBCarousel_item_img img {
    width: 100%;
    display: block;
    transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.buffetNBCarousel_item_img:hover img {
    transform: scale(1.1);
}

a.about_colHomeMore2 {
    display: flex;
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 15px;
    text-transform: uppercase;
    text-align: justify;
    background: linear-gradient(90deg, rgb(222, 158, 62) -0.44%, rgb(253, 217, 125) 26.24%, rgb(222, 158, 62) 73.84%, rgb(253, 217, 125) 100%) text;
    -webkit-text-fill-color: transparent;
    justify-content: center;
    align-items: center;
    gap: 10px;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.35s;
}

a.about_colHomeMore2:hover {
    transform: translateY(-4px);
    filter: drop-shadow(rgba(222, 158, 62, 0.5) 0px 4px 12px);
}

a.about_colHomeMore {
    border-radius: 7px;
    padding: 21px 20px 20px;
    min-width: 155px;
    height: 40px;
    background: rgb(17, 143, 32);
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 15px;
    text-transform: uppercase;
    text-align: justify;
    color: rgb(255, 255, 255);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s, background 0.35s;
}

a.about_colHomeMore:hover {
    transform: translateY(-6px);
    box-shadow: rgba(17, 143, 32, 0.45) 0px 8px 25px;
    background: rgb(19, 163, 37);
}

.intro_dichvu_more a {
    border-radius: 7px;
    padding: 21px 20px 20px;
    min-width: 155px;
    height: 40px;
    background: rgb(17, 143, 32);
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 15px;
    text-transform: uppercase;
    text-align: justify;
    color: rgb(255, 255, 255);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s, background 0.35s;
}

.intro_dichvu_more a:hover {
    transform: translateY(-6px);
    box-shadow: rgba(17, 143, 32, 0.45) 0px 8px 25px;
    background: rgb(19, 163, 37);
}

.info-main {
    padding: 30px 0px;
}

.h-card,
.hidden-seo {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0px, 0px, 0px, 0px);
    white-space: nowrap;
    border-width: 0px;
}

.scale-img {
    overflow: hidden;
}

.scale-img img {
    transition: 0.3s;
}

.scale-img:hover img.w-100 {
    transform: scale(1.2, 1.2);
}

.text-split {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 3;
}

.webkit-line-clamp-1 {
    -webkit-line-clamp: 1;
}

.webkit-line-clamp-2 {
    -webkit-line-clamp: 2;
}

.line-clamp-1,
.line-clamp-2,
.line-clamp-3,
.line-clamp-4,
.line-clamp-5,
.line-clamp-6,
.line-clamp-7,
.line-clamp-8,
.line-clamp-9,
.line-clamp-10,
.line-clamp-11,
.line-clamp-12,
.line-clamp-13,
.line-clamp-14,
.line-clamp-15,
.line-clamp-16,
.line-clamp-17,
.line-clamp-18,
.line-clamp-19,
.line-clamp-20 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.line-clamp-1 {
    -webkit-line-clamp: 1;
}

.line-clamp-2 {
    -webkit-line-clamp: 2;
}

span.productNB__info_desc.line-clamp-2 {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    line-height: 160%;
    text-align: center;
    color: rgb(255, 255, 255);
}

.line-clamp-3 {
    -webkit-line-clamp: 3;
}

.khachhang__item_desc {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.8;
    color: rgb(34, 34, 34);
    margin-bottom: 1em;
}

.line-clamp-4 {
    -webkit-line-clamp: 4;
}

.line-clamp-5 {
    -webkit-line-clamp: 5;
}

.line-clamp-6 {
    -webkit-line-clamp: 6;
}

.line-clamp-7 {
    -webkit-line-clamp: 7;
}

.line-clamp-8 {
    -webkit-line-clamp: 8;
}

.line-clamp-9 {
    -webkit-line-clamp: 9;
}

.line-clamp-10 {
    -webkit-line-clamp: 10;
}

.line-clamp-11 {
    -webkit-line-clamp: 11;
}

.line-clamp-12 {
    -webkit-line-clamp: 12;
}

.line-clamp-13 {
    -webkit-line-clamp: 13;
}

.line-clamp-14 {
    -webkit-line-clamp: 14;
}

.line-clamp-15 {
    -webkit-line-clamp: 15;
}

.line-clamp-16 {
    -webkit-line-clamp: 16;
}

.line-clamp-17 {
    -webkit-line-clamp: 17;
}

.line-clamp-18 {
    -webkit-line-clamp: 18;
}

.line-clamp-19 {
    -webkit-line-clamp: 19;
}

.line-clamp-20 {
    -webkit-line-clamp: 20;
}

.transition {
    transition: 0.3s;
}

.p-relative {
    position: relative;
}

.share {
    padding: 17px 10px 10px;
    line-height: normal;
    background: rgba(128, 128, 128, 0.15);
    margin-top: 15px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pagination {
    margin: 30px 0px 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.pagination li a,
.pagination li span {
    cursor: pointer;
    border: 1px solid rgb(202, 202, 202);
    background: rgb(255, 255, 255);
    min-width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(77, 77, 77);
    padding: 5px;
    border-radius: 5px !important;
}

.pagination li a:hover {
    color: var(--color-main);
    border-color: var(--color-main);
}

.pagination .page-item.active .page-link {
    background: rgb(6, 158, 52);
    border-color: rgb(6, 158, 52);
    color: rgb(255, 255, 255);
}

.wrap-main {
    margin: 30px 0px;
}

.wrap-content {
    max-width: 1300px;
    padding: 0px;
    margin: 0px auto;
}

.video_owlcarousel2 .video__item a::before {
    content: "";
    background-size: 77px;
    background-position: center center;
}

.video_owlcarousel {
    margin-bottom: 10px;
}

.social {
    list-style: none;
    padding: 0px;
    margin: 0px;
    display: flex;
    align-items: center;
    gap: 0px 10px;
}

.social li {
    display: inline-block;
}

.social li:hover img {
    transform: rotateY(360deg);
    transition: 0.5s linear;
}

.flex-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header__top {
    background: var(--color-main);
    color: rgb(255, 255, 255);
    padding: 5px 0px;
}

.header__top-flex {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.header__top-info {
    display: flex;
    align-items: center;
    gap: 5px;
}

.header__info-icon {
    width: 20px;
}

.header__info-text {
    font-weight: 500;
}

.header__bottom-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.49);
    padding: 10px 0px 15px;
}

.header__logo {
    max-width: 200px;
}

.header-right {
    font-size: 15px;
    color: rgb(255, 255, 255);
    width: 60%;
}

.header-main {
    min-height: 102px;
    gap: 20px;
}

.header-main__brand {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0px;
}

.header-main__logo {
    display: inline-flex;
    flex-shrink: 0;
}

.header-main__brand-text h2 {
    margin: 0px;
    color: rgb(177, 0, 5);
    font-size: 56px;
    line-height: 1;
    text-transform: uppercase;
}

.header-main__brand-text p {
    margin: 2px 0px 0px;
    color: rgb(6, 69, 47);
    font-size: 34px;
    line-height: 1;
    text-transform: uppercase;
}

.header-main__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-left: auto;
}

.header-main__btn {
    min-width: 168px;
    height: 42px;
    border-radius: 30px;
    font-size: 16px;
    line-height: 1;
    padding: 0px 18px;
    border: 2px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
}

.header-main__btn--outline {
    border-color: rgb(159, 4, 6);
    color: rgb(159, 4, 6);
    background: transparent;
}

.header-main__btn--outline:hover {
    background: rgb(159, 4, 6);
    color: rgb(255, 255, 0);
}

.header-main__btn--green {
    border-color: rgb(255, 255, 255);
    color: rgb(255, 255, 255);
    background: rgb(16, 75, 50);
}

.header-main__btn--green:hover {
    color: rgb(255, 255, 0);
}

.header-main__btn--red {
    border-color: rgb(28, 42, 52);
    color: rgb(255, 255, 255);
    background: rgb(177, 0, 5);
}

.header-main__btn--red:hover {
    color: rgb(255, 255, 0);
}

.header-main__langs {
    position: relative;
    z-index: 12;
    min-width: 86px;
}

.header-main__lang-current {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0px 10px;
    border: 1px solid rgba(109, 2, 1, 0.16);
    border-radius: 999px;
    color: rgb(47, 47, 47);
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.08) 0px 8px 18px;
    cursor: pointer;
}

.header-main__lang-current img,
.header-main__langs a img {
    flex: 0 0 auto;
    width: 24px;
    height: 16px;
    border-radius: 3px;
    object-fit: cover;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}

.header-main__lang-current span,
.header-main__langs a span {
    font-weight: 700;
    line-height: 1;
}

.header-main__lang-current i {
    margin-left: auto;
    color: rgb(109, 2, 1);
    font-size: 10px;
    transition: transform 0.2s;
}

.header-main__lang-list {
    position: absolute;
    top: calc(100% + 8px);
    right: 0px;
    min-width: 100%;
    padding: 6px;
    border: 1px solid rgba(109, 2, 1, 0.12);
    border-radius: 12px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.16) 0px 16px 32px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

.header-main__lang-list::before {
    content: "";
    position: absolute;
    right: 0px;
    bottom: 100%;
    left: 0px;
    height: 8px;
}

.header-main__langs a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 9px;
    border-radius: 8px;
    color: rgb(51, 51, 51);
}

.header-main__langs a.active,
.header-main__langs a:hover {
    color: rgb(109, 2, 1);
    background: rgb(255, 244, 208);
}

.header-main__langs:hover .header-main__lang-list,
.header-main__langs:focus-within .header-main__lang-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

.header-main__langs:hover .header-main__lang-current,
.header-main__langs:focus-within .header-main__lang-current {
    border-color: rgba(109, 2, 1, 0.32);
}

.header-main__langs:hover .header-main__lang-current i,
.header-main__langs:focus-within .header-main__lang-current i {
    transform: rotate(180deg);
}

.notify-phone {
    animation: 1s ease-in-out 0s infinite normal none running notifyPhone;
}

.header-menu-mobile {
    justify-content: center;
    align-items: center;
    padding: 5px;
    border-top: 1px solid rgba(255, 255, 255, 0.34);
    margin-top: 5px;
    gap: 5px;
    display: none;
}

.header-menu-mobile .header-main__btn {
    border-radius: 30px;
    font-size: 12px;
    padding: 0px 5px;
    min-width: auto;
    height: 30px;
}

@keyframes notifyPhone {
    0% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }

    10% {
        transform: rotate(-25deg) scale(1) skew(1deg);
    }

    20% {
        transform: rotate(25deg) scale(1) skew(1deg);
    }

    30% {
        transform: rotate(-25deg) scale(1) skew(1deg);
    }

    40% {
        transform: rotate(25deg) scale(1) skew(1deg);
    }

    50% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }

    100% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }
}

.search-inline {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 500px;
    max-width: 50%;
    border-radius: 30px;
    border: 1px solid rgb(230, 230, 230);
    background: rgb(243, 243, 243);
}

.search-inline p {
    width: 30px;
    height: 30px;
    cursor: pointer;
    text-align: center;
    margin: 0px;
    color: var(--color-main);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.search-inline input {
    width: calc(100% - 30px);
    height: 45px;
    outline: 0px;
    padding: 0px;
    border: 0px;
    background: 0px center;
    text-indent: 12px;
    font-size: 14px;
}

.search-inline input::-webkit-input-placeholder {
    color: rgb(125, 125, 125);
}

.header__lang {
    position: relative;
    z-index: 101;
}

.header__lang-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: clamp(12px, 10vw, 120px);
    background: rgb(218, 225, 231);
    backdrop-filter: blur(8px);
    padding: 10px;
}

.header__lang-flag {
    max-width: 35px;
    border-radius: 3px;
    overflow: hidden;
}

.header__lang-country {
    font-weight: 700;
    font-size: clamp(13px, 1.16667vw, 14px);
}

.header__lang-box {
    position: absolute;
    right: 0px;
    margin-top: 10px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    padding: 10px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 150px;
}

.header__lang-picker {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.header__lang-icon {
    display: inline-block;
    width: 25px;
}

.header__lang-name {
    font-size: clamp(13px, 1.16667vw, 14px);
    font-weight: 500;
    flex: 1 1 0%;
}

.header__lang-picker:hover .header__lang-name {
    color: orange;
}

#google_translate_element {
    clear: both;
    text-align: right;
    display: none;
    width: auto !important;
}

.skiptranslate {
    display: none !important;
}

.flex-menu {
    display: flex;
    justify-content: space-between;
}

.menu-res {
    display: none;
}

.menu_mobi {
    position: fixed;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 998;
    display: none;
}

.menu_mobi .menu-res {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    padding: 0px 16px;
    background: rgba(28, 28, 28, 0.85);
    backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: rgba(0, 0, 0, 0.25) 0px -4px 20px;
}

.icon_menu_mobi {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border-radius: 12px;
    background: var(--chinh);
    color: rgb(255, 255, 255);
    font-size: 20px;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s;
    border: 0;
    padding: 0;
}

.icon_menu_mobi:active {
    transform: scale(0.92);
}

.menu_baophu {
    position: fixed;
    inset: 0px;
    z-index: 997;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s;
}

.menu_baophu.active {
    opacity: 1;
    pointer-events: auto;
}

.menu_mobi_add {
    position: fixed;
    top: 0px;
    left: 0px;
    bottom: 0px;
    width: 85%;
    max-width: 380px;
    z-index: 999;
    background: rgba(28, 28, 28, 0.95);
    backdrop-filter: blur(20px);
    display: flex;
    flex-direction: column;
    transform: translateX(-105%);
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: rgba(0, 0, 0, 0.3) 8px 0px 40px;
    overflow: hidden;
}

.menu_mobi_add.menu_mobi_active {
    transform: translateX(0px);
}

.menures_inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.menures_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
}

.logo-mb img {
    max-height: 50px;
    width: auto;
}

.close_menu {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: background 0.25s, color 0.25s, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    border: 0;
    padding: 0;
}

.close_menu:hover {
    background: var(--chinh);
    color: rgb(255, 255, 255);
    transform: rotate(90deg);
}

.menures_content {
    flex: 1 1 0%;
    overflow: hidden auto;
    padding: 12px 0px;
}

.load-menu {
    padding: 0px;
}

.load-menu ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
}

.load-menu ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.load-menu ul li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.25s, background 0.25s, padding-left 0.3s;
}

.load-menu ul li a:hover,
.load-menu ul li a.active {
    color: var(--chinh);
    background: rgba(253, 139, 15, 0.08);
    padding-left: 26px;
}

.load-menu ul li a i {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.4);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.load-menu ul li a.active2 i,
.load-menu ul li a:hover i {
    color: var(--chinh);
    transform: rotate(180deg);
}

.load-menu ul li ul {
    display: none;
    background: rgba(255, 255, 255, 0.03);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.load-menu ul li.opened>ul {
    display: block;
    animation: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal none running menuSlideDown;
}

.load-menu ul li ul li a {
    padding-left: 34px;
    font-size: 14px;
    font-weight: 500;
    text-transform: none;
}

.load-menu ul li ul li ul li a {
    padding-left: 48px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
}

@keyframes menuSlideDown {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}

.menures_footer {
    padding: 16px 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(0, 0, 0, 0.02);
    flex-shrink: 0;
}

.thongtin-mb ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.thongtin-mb ul li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
}

.thongtin-mb ul li i {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(143, 3, 5, 0.08);
    color: var(--chinh);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
}

.header-wrap-in {
    position: relative;
}

.menu-main {
    position: relative;
    z-index: 99;
    background: rgb(159, 4, 6);
}

.menu ul {
    width: 100%;
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.menu_desktop {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.title-menu {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: rgb(255, 255, 255);
    line-height: 50px;
    background: url("../images/menu.png") left center no-repeat;
    padding-left: 40px;
    padding-right: 30px;
}

.title-menu::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 15px;
    right: 0px;
    background: rgba(255, 255, 255, 0.54);
}

.title-menu h4 {
    font-size: 15px;
    text-transform: uppercase;
    margin: 0px;
    line-height: 50px;
    padding-right: 30px;
    cursor: pointer;
}

.menu ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: rgb(51, 51, 51);
    font-size: 16px;
    text-transform: uppercase;
    transition: 0.2s;
    padding: 10px 0px;
}

.menu ul li.icon-menu span {
    color: rgb(255, 255, 255);
    font-size: 30px;
}

.menu ul li span.dots-menu {
    font-size: 20px;
    line-height: 20px;
}

.menu ul li a.active,
.menu ul li:hover>a {
    color: rgb(109, 2, 1);
}

.menu .menu_lvl {
    position: absolute;
    top: calc(100% + 8px);
    opacity: 0;
    visibility: hidden;
    width: 250px;
    padding: 3px;
    border: 1px solid rgba(109, 2, 1, 0.12);
    border-radius: 0px 0px 8px 8px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.18) 0px 18px 38px;
    transition: top 0.22s, opacity 0.22s, visibility 0.22s;
}

.menu .menu_lvl .menu_lvl {
    border-radius: 8px;
}

.slideshow_left .menu_lvl2 {
    transform: perspective(600px) rotateX(0deg);
    transform-origin: 0px 0px 0px;
    opacity: 1;
    visibility: visible;
    margin-top: 0px;
}

.menu_vlist_pic {
    max-width: 24px;
}

.menu ul li ul li a::after {
    display: none !important;
}

.menu_dmsp>a {
    gap: 7px;
}

.menu_dmsp>a::after {
    font-family: "Font Awesome 6 Pro";
    font-size: 11px;
    font-weight: 900;
    font-style: normal;
    line-height: 1;
    opacity: 0.75;
}

.menu_dmsp>a::after {
    transition: transform 0.2s;
}

.menu_dmsp:hover>a::after {
    transform: rotate(180deg);
}

.menu_dmsp .menu_lvl::before {
    content: "";
    position: absolute;
    inset: auto 0px 100%;
    height: 12px;
}

.menu_dmsp .menu_lvl ul {
    max-height: 420px;
    margin: 0px;
    padding: 0px;
    overflow: hidden auto;
    list-style: none;
}

.menu_dmsp .menu_lvl ul::-webkit-scrollbar {
    width: 5px;
}

.menu_dmsp .menu_lvl ul::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(109, 2, 1, 0.28);
}

.menu_dmsp .menu_lvl li>a {
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    border-radius: 8px;
    line-height: 1.35;
    text-align: left;
    padding: 10px 12px !important;
    color: rgb(47, 47, 47) !important;
    font-size: 14px !important;
    text-transform: none !important;
}

.menu_dmsp .menu_lvl li:hover>a {
    background: rgb(255, 244, 208);
    color: rgb(159, 4, 6) !important;
}

.menu_dmsp .menu_lvl3,
.menu_dmsp .menu_lvl4 {
    top: -6px;
    left: calc(100% + 8px);
}

.menu_dmsp .menu_lvl3::before,
.menu_dmsp .menu_lvl4::before {
    inset: 0px 100% 0px auto;
    width: 8px;
    height: auto;
}

.menu_dmsp .menu_lvl2 .menu_lvl3 ul li:hover .menu_lvl4,
.menu_dmsp .menu_lvl2 ul li:hover .menu_lvl3 {
    top: -6px;
    opacity: 1;
    visibility: visible;
}

.menu_dmsp:not(.block_hover):hover .menu_lvl2 {
    top: 100%;
    opacity: 1;
    visibility: visible;
}

.bean-header {
    position: absolute;
    top: 1.5rem;
    left: 0px;
    right: 0px;
    width: 100%;
    transition: top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 4;
}

header.header-wrap.bean-header.fixed {
    top: 0px;
    padding: 7px 0px;
}

header.header-wrap.bean-header.header-wrap-in {
    position: relative;
    top: 0px;
    margin: 0px;
}

.mymenu.fixed {
    top: 0px;
    position: fixed;
    left: 0px;
    width: 100%;
    z-index: 5;
}

.bean-header__top {
    background: rgb(109, 2, 1);
    color: rgb(255, 255, 255);
}

.bean-header__top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 36px;
}

.bean-header__welcome,
.bean-header__quick,
.bean-header__quick-link {
    display: flex;
    align-items: center;
}

.bean-header__welcome {
    min-width: 0px;
    gap: 8px;
    font-weight: 500;
}

.bean-header__pulse {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgb(252, 226, 108);
    box-shadow: rgba(252, 226, 108, 0.7) 0px 0px 0px 0px;
    animation: 1.6s ease 0s infinite normal none running beanPulse;
}

.bean-header__quick {
    gap: 18px;
}

.bean-header__quick-link {
    gap: 7px;
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    white-space: nowrap;
}

.bean-header__quick-link:hover {
    color: rgb(252, 226, 108);
}

.bean-header__body {
    height: 72px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    backdrop-filter: blur(25px);
    box-shadow: rgba(0, 11, 23, 0.1) 0px 18px 15px 0px;
    background: rgba(255, 255, 255, 0.5);
    display: grid;
    grid-template-columns: 120px 1fr;
    align-items: center;
    padding-left: 2rem;
}

.bean-header__logo {
    display: block;
    align-items: center;
    max-width: 120px;
}

.bean-header__logo img {
    max-height: 120px;
    width: auto;
    object-fit: contain;
}

.bean-header__search {
    display: flex;
    align-items: center;
    min-width: 0px;
    height: 48px;
    border: 1px solid rgb(109, 2, 1);
    border-radius: 999px;
    background: rgb(255, 255, 255);
    overflow: hidden;
    max-width: 60%;
    width: 500px;
}

.bean-header__search-input {
    flex: 1 1 auto;
    min-width: 0px;
    height: 100%;
    padding: 0px 18px;
    border: 0px;
    color: rgb(43, 43, 43);
    outline: none;
}

.bean-header__search-input::placeholder {
    color: rgb(139, 139, 139);
}

.bean-header__search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 100%;
    border: 0px;
    color: rgb(255, 255, 255);
    background: rgb(109, 2, 1);
    cursor: pointer;
    transition: color 0.2s, background-color 0.2s;
}

.bean-header__search-button:hover {
    color: rgb(255, 255, 255);
    background: rgb(159, 4, 6);
}

.bean-header__actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bean-header__action {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgb(255, 255, 255);
    text-decoration: none;
    white-space: nowrap;
}

.bean-header__action:hover {
    color: rgb(252, 226, 108);
}

.bean-header__action-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: rgb(109, 2, 1);
    border-radius: 50%;
    color: rgb(255, 255, 255);
    background: rgb(109, 2, 1);
}

.bean-header__action-text {
    font-weight: 600;
}

.bean-header__cart-count {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0px 5px;
    border-radius: 999px;
    color: rgb(109, 2, 1);
    background: rgb(252, 226, 108);
    font-size: 11px;
    line-height: 18px;
    text-align: center;
}

.bean-header__member {
    position: relative;
    z-index: 13;
    display: flex;
    align-items: center;
    gap: 8px;
}

.bean-header__member-current,
.bean-header__member-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0px 12px 0px 5px;
    border: 1px solid rgba(109, 2, 1, 0.16);
    border-radius: 999px;
    color: rgb(47, 47, 47);
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.08) 0px 8px 18px;
    cursor: pointer;
}

.bean-header__member-current {
    max-width: 210px;
}

.bean-header__member-current>span:not(.bean-header__action-icon),
.bean-header__member-link span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bean-header__member-current .bean-header__action-icon {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
}

.bean-header__member-current>i {
    color: rgb(109, 2, 1);
    font-size: 10px;
    transition: transform 0.2s;
}

.bean-header__member-link i {
    color: rgb(109, 2, 1);
}

.bean-header__member-link:hover,
.bean-header__member-current:hover {
    color: rgb(109, 2, 1);
    border-color: rgba(109, 2, 1, 0.32);
}

.bean-header__member-link--primary {
    color: rgb(109, 2, 1);
    background: rgb(252, 226, 108);
    border-color: rgb(252, 226, 108);
}

.bean-header__member-list {
    position: absolute;
    top: calc(100% + 8px);
    right: 0px;
    min-width: 210px;
    padding: 6px;
    border: 1px solid rgba(109, 2, 1, 0.12);
    border-radius: 12px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.16) 0px 16px 32px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

.bean-header__member-list::before {
    content: "";
    position: absolute;
    right: 0px;
    bottom: 100%;
    left: 0px;
    height: 8px;
}

.bean-header__member-list a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 9px;
    border-radius: 8px;
    color: rgb(51, 51, 51);
}

.bean-header__member-list a:hover {
    color: rgb(109, 2, 1);
    background: rgb(255, 244, 208);
}

.bean-header__member:hover .bean-header__member-list,
.bean-header__member:focus-within .bean-header__member-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

.bean-header__member:hover .bean-header__member-current>i,
.bean-header__member:focus-within .bean-header__member-current>i {
    transform: rotate(180deg);
}

.bean-header__langs {
    position: relative;
    z-index: 12;
    min-width: 86px;
}

.bean-header__lang-current {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0px 10px;
    border: 1px solid rgba(109, 2, 1, 0.16);
    border-radius: 999px;
    color: rgb(47, 47, 47);
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.08) 0px 8px 18px;
    cursor: pointer;
}

.bean-header__lang-current img,
.bean-header__langs a img {
    flex: 0 0 auto;
    width: 24px;
    height: 16px;
    border-radius: 3px;
    object-fit: cover;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}

.bean-header__lang-current span,
.bean-header__langs a span {
    font-weight: 700;
    line-height: 1;
}

.bean-header__lang-current i {
    margin-left: auto;
    color: rgb(109, 2, 1);
    font-size: 10px;
    transition: transform 0.2s;
}

.bean-header__lang-list {
    position: absolute;
    top: calc(100% + 8px);
    right: 0px;
    min-width: 100%;
    padding: 6px;
    border: 1px solid rgba(109, 2, 1, 0.12);
    border-radius: 12px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.16) 0px 16px 32px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

.bean-header__lang-list::before {
    content: "";
    position: absolute;
    right: 0px;
    bottom: 100%;
    left: 0px;
    height: 8px;
}

.bean-header__langs a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 9px;
    border-radius: 8px;
    color: rgb(51, 51, 51);
}

.bean-header__langs a.active,
.bean-header__langs a:hover {
    color: rgb(109, 2, 1);
    background: rgb(255, 244, 208);
}

.bean-header__langs:hover .bean-header__lang-list,
.bean-header__langs:focus-within .bean-header__lang-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

.bean-header__langs:hover .bean-header__lang-current,
.bean-header__langs:focus-within .bean-header__lang-current {
    border-color: rgba(109, 2, 1, 0.32);
}

.bean-header__langs:hover .bean-header__lang-current i,
.bean-header__langs:focus-within .bean-header__lang-current i {
    transform: rotate(180deg);
}

.bean-nav {
    background: rgb(252, 226, 108);
}

.bean-nav__inner {
    display: flex;
    align-items: stretch;
    gap: 22px;
    min-height: 52px;
}

.bean-nav__menu-wrap {
    flex: 1 1 auto;
    min-width: 0px;
}

.bean-nav__list {
    height: 100%;
    justify-content: space-between;
    gap: 0px;
}

.bean-nav__item {
    position: relative;
    flex: 0 0 auto;
}

.bean-nav__link.active,
.bean-nav__item:hover>.bean-nav__link {
    color: rgb(159, 4, 6) !important;
}

.bean-nav__category {
    flex: 0 0 276px;
    position: relative;
    z-index: 3;
}

.bean-nav__category-toggle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    padding: 0px 18px;
    background: rgb(109, 2, 1);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    box-shadow: rgba(255, 255, 255, 0.08) 0px -1px 0px inset;
    color: rgb(255, 255, 255) !important;
}

.bean-nav__category-toggle:hover,
.bean-nav__category-toggle.active,
.bean-nav__category:hover>.bean-nav__category-toggle {
    background: rgb(124, 3, 2);
    color: rgb(252, 226, 108) !important;
}

.bean-nav__category-label {
    min-width: 0px;
    flex: 1 1 auto;
}

.bean-nav__category-caret {
    flex: 0 0 auto;
    font-size: 11px;
    transition: transform 0.2s;
}

.bean-nav__category:hover .bean-nav__category-caret {
    transform: rotate(180deg);
}

.bean-nav__hamburger {
    display: inline-flex;
    flex-direction: column;
    gap: 3px;
    width: 16px;
}

.bean-nav__hamburger i {
    display: block;
    height: 2px;
    border-radius: 2px;
    background: currentcolor;
}

.bean-nav__category .menu_lvl {
    position: absolute;
    top: calc(100% + 8px);
    opacity: 0;
    visibility: hidden;
    width: 100%;
    padding: 3px;
    border: 1px solid rgba(109, 2, 1, 0.12);
    border-radius: 0px 0px 8px 8px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.18) 0px 18px 38px;
    transition: top 0.22s, opacity 0.22s, visibility 0.22s;
}

.bean-nav .bean-nav__dropdown--level2 {
    left: 0px;
    top: calc(100% + 8px);
    transform: none;
}

.bean-nav__category:hover>.bean-nav__dropdown--level2 {
    top: 100%;
    opacity: 1;
    visibility: visible;
}

.bean-nav .bean-nav__dropdown--level3,
.bean-nav .bean-nav__dropdown--level4 {
    top: -8px;
    left: calc(100% + 5px);
    border-radius: 8px;
}

.bean-nav .bean-nav__dropdown--level3::before,
.bean-nav .bean-nav__dropdown--level4::before {
    content: "";
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: -10px;
    width: 10px;
}

.bean-nav__dropdown-list {
    max-height: 430px;
    overflow: hidden auto;
    padding: 0px !important;
    margin: 0px !important;
}

.bean-nav__dropdown-list li {
    border-bottom: 1px solid rgb(241, 241, 241);
}

.bean-nav__dropdown-link {
    gap: 12px;
    min-height: 42px;
    border-radius: 6px;
    text-align: left;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 12px !important;
    border: 0px !important;
    color: rgb(46, 46, 46) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-transform: none !important;
}

.bean-nav__dropdown-text {
    min-width: 0px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bean-nav__dropdown-caret {
    flex: 0 0 auto;
    color: rgb(159, 4, 6);
    font-size: 10px !important;
}

.bean-nav__dropdown-item:hover>.bean-nav__dropdown-link {
    color: rgb(159, 4, 6) !important;
}

.bean-nav__dropdown-item:hover>.bean-nav__dropdown--level3,
.bean-nav__dropdown-item:hover>.bean-nav__dropdown--level4 {
    top: -8px;
    opacity: 1;
    visibility: visible;
}

@keyframes beanPulse {
    0% {
        box-shadow: rgba(252, 226, 108, 0.7) 0px 0px 0px 0px;
    }

    70% {
        box-shadow: rgba(252, 226, 108, 0) 0px 0px 0px 8px;
    }

    100% {
        box-shadow: rgba(252, 226, 108, 0) 0px 0px 0px 0px;
    }
}

.spacer {
    margin: clamp(30px, 5vw, 60px) 0px;
}

.title-main-product h2 {
    margin-bottom: 40px;
    font-family: Anton;
    font-size: 44px;
    text-transform: uppercase;
    background: linear-gradient(rgb(255, 243, 176), rgb(242, 211, 107), rgb(202, 164, 59)) text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px rgb(224, 193, 90);
    text-align: center;
}

.title-main {
    text-align: center;
    margin-bottom: 20px;

    & h1,
    & h2 {
        margin-bottom: 0px;
        font-size: 2rem;
        line-height: 1.5;
        text-transform: uppercase;
        font-weight: bold;
    }

    & span {
        font-size: 18px;
        color: rgb(6, 158, 52);
        text-transform: uppercase;
    }

    & p {
        margin: 10px 0px 0px;
    }
}

.title-album {
    text-align: center;
    margin-bottom: 30px;
}

.title-album h2 {
    font-size: 55px;
    color: rgb(252, 226, 108);
    text-transform: uppercase;
    font-family: Anton;
}

.title-album p {
    text-transform: uppercase;
    font-size: 17px;
    color: rgb(255, 255, 255);
}

.title-bottom {
    border-bottom: 1px solid rgb(0, 81, 198);
    margin-bottom: 20px;
}

.tt-bt {
    display: flex;
    align-items: end;
    gap: 20px;
}

.tt-bt h2 {
    color: rgb(51, 51, 51);
    font-size: 26px;
    text-transform: uppercase;
    margin: 0px 0px 10px;
    font-family: Anton;
    line-height: 1;
    cursor: pointer;
}

.tt-bt h2.active {
    color: rgb(0, 81, 198);
    font-size: 44px;
    text-transform: uppercase;
}

.title-bottom span {
    font-size: 18px;
    color: rgb(6, 158, 52);
    text-transform: uppercase;
}

.title-detail {
    margin-bottom: 20px;
}

.title-detail h1 {
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 700;
    color: var(--color-main);
    margin-bottom: 0px;
}

.search-popup {
    position: relative;
}

.search-popup .icon-search {
    width: 40px;
    height: 40px;
    border-radius: 40px;
    cursor: pointer;
    text-align: center;
    color: rgb(255, 255, 255);
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0px;
}

.search-popup .icon-search.active {
    background: rgb(255, 255, 255);
    color: var(--color-main);
    border: solid 1px var(--color-main);
}

.search-popup .search-grid {
    position: absolute;
    top: 50px;
    right: 0px;
    width: 0px;
    height: 40px;
    overflow: hidden;
    background: rgb(255, 255, 255);
    border: 1px solid var(--color-main);
    z-index: 2;
    opacity: 0;
    border-radius: 25px;
    display: flex;
    align-items: center;
}

.search-popup .search-grid p {
    width: 35px;
    height: 35px;
    cursor: pointer;
    outline: 0px;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin: 0px;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-main);
}

.search-popup .search-grid input {
    width: calc(100% - 35px);
    float: right;
    line-height: 35px;
    outline: 0px;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    color: rgb(0, 0, 0);
    font-size: 14px;
}

.search-popup .search-grid input::placeholder {
    color: rgb(204, 204, 204);
}

.product-list {
    position: relative;
    overflow: hidden;
}

.product-list a::after {
    content: "";
    position: absolute;
    inset: 0px;
    background: rgba(0, 0, 0, 0.455);
}

.ds-list {
    position: absolute;
    z-index: 99;
    width: 100%;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    color: rgb(255, 255, 255);
}

.ds-list h3 {
    font-size: 32px;
    color: rgb(255, 255, 255);
}

.product-item {
    position: relative;
}

.product-item a {
    display: block;
    position: relative;
}

.product-item__pic {
    background: rgb(238, 238, 238);
    overflow: hidden;
}

.product-item__cart {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.product-item__btn--addnow {
    background: rgb(26, 82, 54);
    text-align: center;
    line-height: 40px;
    border-radius: 10px;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    width: 120px;
}

.product-item__btn--addnow:hover {
    background: rgb(188, 82, 7);
}

.product-item__btn--buynow {
    background: rgb(208, 151, 65);
    text-align: center;
    line-height: 40px;
    border-radius: 10px;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    width: 120px;
}

.product-item__btn--buynow:hover {
    background: rgb(206, 138, 34);
}

.product-item__info {
    text-align: center;
    margin-top: 10px;
    color: rgb(51, 51, 51);
}

.product-item__name {
    -webkit-line-clamp: 1;
    font-size: 18px;
    transition: 0.2s ease-in-out;
    margin-bottom: 5px;
    color: rgb(159, 4, 6);
    text-transform: uppercase;
}

.product-item a:hover .product-item__name {
    color: var(--color-main);
}

.contact-product {
    background: rgb(252, 226, 108);
    width: 145px;
    margin: 0px auto;
    line-height: 43px;
    border-radius: 30px;
    color: rgb(246, 204, 90);
}

.contact-product:hover {
    background: rgb(6, 158, 52);
}

.contact-product i {
    background: linear-gradient(rgb(255, 243, 176), rgb(242, 211, 107), rgb(202, 164, 59));
    color: rgb(0, 81, 198);
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    margin-right: 5px;
}

.contact-product span {
    color: rgb(159, 4, 6);
    text-transform: uppercase;
}

.product-item__price--new {
    font-size: clamp(14px, 1.25vw, 15px);
    font-weight: 700;
    color: var(--color-main);
}

.product-item__price--old {
    margin: 0px 8px;
    font-size: clamp(12px, 1.08333vw, 13px);
    color: rgb(108, 117, 125);
    text-decoration: line-through;
}

.product-item__price--per {
    position: absolute;
    align-items: center;
    right: 20px;
    color: rgb(255, 255, 255);
    background: rgb(208, 151, 65);
    padding: 3px 10px;
    width: 50px;
    height: 35px;
    clip-path: polygon(100% 0px, 100% 70%, 50% 100%, 0px 70%, 0px 0px);
}

.splide.procategory:not(.is-overflow) .splide__list {
    justify-content: center;
}

.notify-phone {
    animation: 1s ease-in-out 0s infinite normal none running notifyPhone;
}

@keyframes notifyPhone {
    0% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }

    10% {
        transform: rotate(-25deg) scale(1) skew(1deg);
    }

    20% {
        transform: rotate(25deg) scale(1) skew(1deg);
    }

    30% {
        transform: rotate(-25deg) scale(1) skew(1deg);
    }

    40% {
        transform: rotate(25deg) scale(1) skew(1deg);
    }

    50% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }

    100% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }
}

.category-nav {
    margin-bottom: 30px;
}

.category-nav__item {
    text-transform: uppercase;
    display: inline-block;
    vertical-align: top;
    padding-block: 7px;
    padding-inline: clamp(10px, 1.66667vw, 20px);
    transition: 0.2s;
    border: 1px solid rgb(25, 81, 56);
    background-color: rgb(255, 255, 255);
    border-radius: 40px;
    color: rgb(25, 81, 56);
    font-size: 16px;
}

.category-nav__item.active {
    background: rgb(25, 81, 56);
    color: rgb(255, 255, 255);
}

.main-widget {
    position: fixed;
    right: 14px;
    bottom: 20px;
    z-index: 99;
    top: auto !important;
}

.main-widge .img svg {
    width: 100%;
    height: 100%;
}

.main-widget .img {
    width: 25px;
    height: 25px;
}

.main-icon svg {
    width: 20px;
    height: 20px;
    fill: #211913;
    margin-bottom: 5px;
}

.main-icon p {
    font-size: 10px;
    color: #211913;
    margin: 0px;
}

.out-circle {
    overflow: hidden;
    padding: 17px;
    border-radius: 100%;
    background: var(--color-main);
    width: 60px;
    height: 60px;
}

.main-icon {
    line-height: 0;
    color: #211913;
    width: 100%;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.main-icon i {
    width: 26px;
    height: 26px;
    transform: translateX(2px);
}

.ser-icon {
    display: inline-flex;
    position: absolute;
    font-size: 18px;
    top: 0px;
    left: 0px;
    padding: 10%;
    max-width: 100%;
    overflow: hidden;
    border-radius: 100%;
    color: rgb(255, 255, 255);
    width: 70%;
    height: 70%;
    margin: 15%;
    transition: 0.2s;
}

.unsee {
    opacity: 0;
    transform: scale(0);
}

.process {
    display: inline-flex;
    transform: translateX(0px);
    transition: transform 0.15s linear;
    line-height: 0;
}

.ser-icon .item {
    margin-right: 40px;
    width: 30px;
    height: 30px;
    color: rgb(255, 255, 255);
    display: flex;
    justify-content: center;
    align-items: center;
}

.ser-icon .item svg {
    width: 25px;
    height: 25px;
    color: var(--color-main);
}

.ser-icon i:nth-child(2n) {
    color: rgb(0, 0, 0);
}

.def-content {
    position: absolute;
    bottom: 62px;
    right: 0px;
    background: rgb(255, 255, 255);
    border-radius: 8px;
    transition: 0.2s;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px;
    width: 300px;
    z-index: 1;
}

.def-content::before {
    position: absolute;
    bottom: -8px;
    right: 22px;
    left: auto;
    border-right: 8px solid transparent;
    border-top: 8px solid rgb(255, 255, 255);
    border-left: 8px solid transparent;
    content: "";
    display: inline-block !important;
}

.def-content .def-header {
    background: var(--nhan);
    padding: 10px;
    border-radius: 8px 8px 0px 0px;
    color: rgb(255, 255, 255);
    position: relative;
    font-size: 16px;
    font-weight: 700;
}

.def-content .def-header .close-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 10px;
    top: 10px;
    left: initial;
    padding: 0px;
    margin: 0px;
    border: 0px;
    line-height: 1;
    width: 26px;
    height: 26px;
    cursor: pointer;
    color: rgb(255, 255, 255);
    background: var(--color-main);
    border-radius: 50%;
    text-align: center;
}

.def-content .item>a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 5px 10px;
    transition: 0.3s linear;
}

.def-content .item>a .img {
    flex: 0 0 auto;
    height: 34px;
    width: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    border-radius: 50%;
    color: rgb(255, 255, 255) !important;
}

.def-content .item>a .img svg {
    height: 20px;
    width: 20px;
}

.def-content .item>a .detail {
    flex-grow: 1;
    line-height: normal;
}

.def-content .item>a .detail .arcu-item-title {
    font-weight: 700;
    font-size: 15px;
    display: block;
    line-height: normal;
    color: rgb(0, 0, 0);
}

.def-content .item>a .detail .arcu-item-subtitle {
    color: rgb(120, 120, 120);
}

.def-content .item.phone>a .img {
    background: rgb(78, 182, 37);
}

.def-content .item.whatsapp>a .img {
    background: #25d366;
    font-size: 22px;
}

.def-content .item.mess>a .img {
    background: rgb(49, 173, 255);
}

.def-content .item.zalo>a .img {
    background: rgb(1, 101, 248);
}

.def-content .item.map>a .img {
    background: rgb(217, 66, 52);
}

.def-content .item:last-child {
    margin-bottom: 0px;
}

.main-widget .close-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    font-size: 25px;
    top: 0px;
    padding: 10px;
    left: 0px;
    width: 60px;
    height: 60px;
    line-height: 1;
    text-align: center;
    color: rgb(255, 255, 255);
    background: var(--nhan);
    border-radius: 100%;
    transition: 0.2s;
    transform: rotate(0deg);
    cursor: pointer;
}

.main-widget .close-icon svg {
    width: 25px;
    height: 25px;
}

.close-icon.unsee {
    transform: rotate(180deg);
    background: transparent !important;
}

.pregan {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    background: var(--nhan);
    z-index: -2;
    border-radius: 100%;
    opacity: 0.6;
    animation: 3s linear 0.2s infinite normal none running zoomzoom;
}

.pregan:nth-child(1) {
    animation-delay: 0.5s;
}

.main-widget .item svg {
    fill: var(--color-main);
}

.def-content .item svg {
    fill: rgb(255, 255, 255);
}

.def-content .item:hover {
    background: rgb(241, 241, 241);
}

@keyframes zoomzoom {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1.2);
    }
}

.scroll {
    cursor: pointer;
}

.scrollToTop {
    position: fixed;
    bottom: 80px;
    right: 20px;
    z-index: 98;
    top: auto;
    width: 40px;
    height: 40px;
    display: flex;
    background-image: initial;
    background-position: 0px 0px;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    text-decoration: none;
    transition: 0.3s ease-out;
    transform: translateY(-20px);
    background-color: color-mix(in srgb, var(--color-main) 10%, #fff);
    border-radius: 7px;
    cursor: pointer;
}

.scrollToTop svg {
    width: 100%;
    height: 100%;
    transform: rotate(270deg);
}

.scrollToTop svg path {
    stroke: var(--color-main);
}

.scrollToTop:hover {
    background: var(--color-main);
}

.scrollToTop:hover svg path {
    stroke: color-mix(in srgb, var(--color-main) 10%, #fff);
}

.info-news {
    padding: 30px 0px;
}

.splide__arrow {
    transition: 0.2s;
    background: color-mix(in srgb, var(--color-main) 10%, #fff) !important;
    opacity: 1 !important;
    border-radius: 5px !important;
    width: 35px !important;
    height: 35px !important;
}

.splide__arrow--prev {
    left: -30px;
}

.splide__arrow--next {
    right: -30px;
}

.splide__arrow svg {
    width: 24px;
    height: 24px;
    transition: 0.2s;
    fill: var(--color-main) !important;
}

.splide__arrow:hover {
    background: var(--color-main) !important;
}

.splide__arrow:hover svg {
    fill: color-mix(in srgb, var(--color-main) 10%, #fff) !important;
}

#footer-map {
    overflow: hidden;
    border-radius: 20px;
}

#footer-map iframe {
    display: block;
    width: 100%;
    height: 400px;
}

.footer-article {
    background: url("../images/bg_footer.webp") 0% 0% / cover no-repeat;
    padding: 40px 0px 0px;
    color: rgb(255, 255, 255);
}

.footer-powered {
    padding: 10px 0px;
    background: var(--color-main);
}

.flex-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
}

.footer-news:nth-child(1) {
    width: 35%;
}

.footer-news:nth-child(2) {
    width: 28%;
}

.footer-news:nth-child(3) {
    width: 28%;
}

.footer-title {
    font-size: 36px;
    text-transform: uppercase;
    font-family: Anton;
    margin: 10px 0px;
    color: rgb(159, 4, 6);
}

.logo-tiktok,
.logo-facebook {
    display: block;
}

.logo-tiktok span {
    line-height: 50px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 999;
    width: 180px;
    background: rgb(240, 145, 75);
    text-align: center;
    color: rgb(255, 255, 255);
    border-radius: 2px;
}

.logo-facebook span {
    line-height: 50px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 999;
    width: 180px;
    background: rgb(159, 4, 6);
    text-align: center;
    color: rgb(255, 255, 255);
    border-radius: 2px;
}

.footer-copyright {
    text-align: center;
    color: rgb(51, 51, 51);
}

.footer-copyright b {
    color: rgb(159, 4, 6);
}

.footer-map {
    position: relative;
    height: 500px;
}

.footer-map iframe {
    position: absolute;
    width: 100%;
    height: 100%;
}

.form-group,
.form-group-select {
    position: relative;
    margin-bottom: 15px;
}

.statistic {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.footer-end {
    padding: 10px 0px;
    background: rgb(159, 4, 6);
    color: rgb(255, 255, 255);
}

.footer-main__grid {
    display: flex;
    gap: 28px;
    align-items: stretch;
}

.footer-main__left {
    width: 43%;
}

.footer-main__right {
    width: 57%;
}

.footer-main__title {
    margin: 0px 0px 20px;
    color: rgb(159, 4, 6);
    font-size: 40px;
    line-height: 1.1;
    text-transform: uppercase;
    font-family: Anton;
    -webkit-text-stroke: 1.5px rgb(255, 255, 255);
}

.footer-main__slogan {
    margin: 8px 0px 20px;
    color: rgb(159, 4, 6);
    font-size: 26px;
    font-style: italic;
    font-family: iCiel-Bambola;
}

.footer-main__branches {
    max-height: 370px;
    overflow-y: auto;
    padding-right: 8px;
}

.footer-main__branch {
    background: rgb(177, 0, 5);
    border-radius: 22px;
    padding: 10px;
    margin-bottom: 14px;
}

.footer-main__branch h3 {
    margin: 0px 0px 5px;
    color: rgb(252, 226, 108);
    font-size: 18px;
    text-transform: uppercase;
}

.footer-main__branch-name {
    cursor: pointer;
}

.footer-main__branch-address {
    cursor: pointer;
    color: rgb(255, 255, 255);
    font-size: 16px;
}

.footer-main__branch-address p:last-child {
    margin-bottom: 0px;
}

.footer-main__branch-hotline {
    margin: 5px 0px 0px;
    font-size: 18px;
    color: rgb(255, 255, 255);
}

.footer-main__branch-hotline strong {
    color: rgb(252, 226, 108);
}

.footer-main__branch-hotline:hover {
    color: rgb(255, 255, 255);
}

.footer-main__social {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background: rgb(177, 0, 5);
    border-radius: 4cap;
    padding: 10px;
    width: 100%;
}

.footer-main__social span {
    font-size: 16px;
    white-space: nowrap;
}

.footer-main__social ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-main__social a {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgb(252, 226, 108);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.footer-main__social a img {
    width: 24px;
    object-fit: contain;
    height: 24px !important;
}

.footer-main__map {
    position: relative;
    height: 100%;
    min-height: 540px;
    border-radius: 30px;
    overflow: hidden;
}

.footer-main__map iframe {
    position: absolute;
    width: 100%;
    height: 100%;
}

.footer-main__bottom {
    padding: 22px 0px 26px;
    margin-top: 30px;
}

.footer-main__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgb(198, 0, 0);
    font-size: 40px;
    line-height: 1.2;
    text-transform: uppercase;
    font-family: Anton;
}

.restaurant-footer {
    padding-top: 0px;
    background: rgb(5, 5, 5);
    color: rgb(255, 255, 255);
}

.restaurant-footer a {
    color: inherit;
    text-decoration: none;
}

.restaurant-footer ul {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.restaurant-footer .footer-main__left {
    width: auto;
}

.restaurant-footer__primary,
.restaurant-footer__secondary,
.restaurant-footer__branches {
    display: grid;
    gap: 32px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.restaurant-footer__primary {
    grid-template-columns: repeat(4, minmax(0px, 1fr));
    padding: 40px 0px 32px;
}

.restaurant-footer__secondary {
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    padding: 32px 0px;
}

.restaurant-footer__branches {
    position: relative;
    display: block;
    padding: 32px 0px;
}

.restaurant-footer__heading {
    margin: 0px 0px 16px;
    color: rgb(255, 255, 255);
    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    text-transform: none;
    -webkit-text-stroke: 0px;
}

.restaurant-footer__intro {
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.7;
}

.restaurant-footer__intro p:last-child {
    margin-bottom: 0px;
}

.restaurant-footer__contacts,
.restaurant-footer__support-list,
.restaurant-footer__link-list {
    display: flex;
    flex-direction: column;
}

.restaurant-footer__contacts {
    gap: 12px;
    color: rgba(255, 255, 255, 0.8);
}

.restaurant-footer__contact-link,
.restaurant-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.5;
}

.restaurant-footer__contact-link,
.restaurant-footer__link,
.restaurant-footer__support-phone,
.restaurant-footer__branch-hotline {
    transition: color 0.2s, border-color 0.2s, opacity 0.2s;
}

.restaurant-footer__contact-link:hover,
.restaurant-footer__link:hover,
.restaurant-footer__support-phone:hover,
.restaurant-footer__branch-hotline:hover {
    color: rgb(255, 255, 255);
}

.restaurant-footer__contact-icon {
    display: inline-flex;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.9);
}

.restaurant-footer__link-list {
    gap: 12px;
    color: rgba(255, 255, 255, 0.75);
}

.restaurant-footer__support-list {
    gap: 16px;
}

.restaurant-footer__support-label {
    margin: 0px 0px 4px;
    color: rgba(255, 255, 255, 0.65);
}

.restaurant-footer__support-phone {
    font-weight: 600;
}

.restaurant-footer__social-list,
.restaurant-footer__payment-list {
    display: flex;
    justify-content: start;
    gap: 8px;
}

.restaurant-footer__social-link,
.restaurant-footer__payment-item {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(17, 17, 17);
}

.restaurant-footer__social-link:hover {
    opacity: 0.82;
}

.restaurant-footer__social-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.restaurant-footer__payment-item {
    min-height: 44px;
    padding: 6px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.restaurant-footer__zalo {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 4px;
}

.restaurant-footer__zalo:hover {
    border-color: rgba(255, 255, 255, 0.4);
}

.restaurant-footer__zalo-media {
    display: flex;
    flex: 0 0 80px;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    padding: 12px;
    border-radius: 4px;
    background: rgb(255, 255, 255);
}

.restaurant-footer__zalo-media img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.restaurant-footer__zalo-title {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
}

.restaurant-footer__zalo-text {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.5;
}

.restaurant-footer__language {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.restaurant-footer__language-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.78);
}

.restaurant-footer__language-item:hover,
.restaurant-footer__language-item.is-active {
    border-color: rgba(255, 255, 255, 0.45);
    color: rgb(255, 255, 255);
}

.restaurant-footer__language-item img {
    width: 24px;
    height: 16px;
    object-fit: cover;
}

.restaurant-footer__branch-map {
    min-height: 420px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: rgba(0, 0, 0, 0.28) 0px 18px 40px;
}

.restaurant-footer__branch-map iframe {
    border: 0px;
}

.restaurant-footer__branch-tabs {
    position: absolute;
    z-index: 2;
    top: 48px;
    left: 16px;
    right: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    overflow: auto;
}

.restaurant-footer__branch-name {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin: 0px;
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: rgb(51, 51, 51);
    font-weight: 600;
    line-height: 1.35;
    cursor: pointer;
    transition: color 0.2s, background-color 0.2s, border-color 0.2s, transform 0.2s;
    background: rgb(252, 226, 108);
}

.restaurant-footer__branch-name:hover,
.restaurant-footer__branch-name.active {
    border-color: rgb(159, 4, 6);
    color: rgb(255, 255, 255);
    background: rgb(159, 4, 6);
    transform: translateY(-1px);
}

.restaurant-footer__branch-address {
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}

.restaurant-footer__branch-address p:last-child {
    margin-bottom: 0px;
}

.restaurant-footer__branch-hotline {
    display: inline-flex;
    margin-top: 12px;
    color: rgb(255, 255, 255);
    font-weight: 600;
}

.restaurant-footer__copyright {
    padding: 20px 0px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 15px;
    text-transform: capitalize;
    color: rgb(0, 0, 0);
    background: linear-gradient(90deg, rgb(222, 158, 62) -0.44%, rgb(253, 217, 125) 26.24%, rgb(222, 158, 62) 73.84%, rgb(253, 217, 125) 100%);
    text-align: center;
}

.restaurant-footer__copyright b {
    color: inherit;
}

.form-group input,
.form-group textarea {
    width: 100%;
    transition: 0.1s;
    resize: vertical;
    border-radius: 5px;
    border: 1px solid rgb(202, 202, 202);
    background: rgb(255, 255, 255) !important;
    box-shadow: none !important;
}

.form-group.novalidate input,
.form-group.novalidate textarea {
    border: 1px solid rgb(226, 226, 226) !important;
}

.form-group input {
    height: 50px;
}

.form-group input.date-picker {
    padding-right: 35px;
}

.form-group input:hover,
.form-group textarea:hover {
    border-color: rgb(119, 153, 208) !important;
}

.form-group label,
.form-group-select>label {
    position: absolute;
    left: 12px;
    top: 12px;
    color: rgb(119, 119, 119);
    transition: 0.1s;
    pointer-events: none;
    background-color: transparent;
    margin: 0px;
    line-height: 1.5;
}

.form-group>span {
    position: absolute;
    right: 12px;
    top: 12px;
    transition: 0.1s;
    pointer-events: none;
    display: inline-block;
    max-width: 20px;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--main-color);
    outline: 0px;
}

.form-group input:focus+label,
.form-group input:not(:placeholder-shown)+label,
.form-group textarea:focus+label,
.form-group textarea:not(:placeholder-shown)+label,
.form-group-select>label {
    top: -10px;
    font-size: 12px;
    background: rgb(255, 255, 255);
    padding: 0px 5px;
    left: 8px;
    transform: none;
}

.custom-file {
    position: relative;
    display: inline-block;
    width: 100%;
    height: calc(1.5em + 2px + 0.75rem);
    margin-bottom: 0px;
}

.custom-file-input {
    position: relative;
    z-index: 2;
    width: 100%;
    height: calc(1.5em + 2px + 0.75rem);
    margin: 0px;
    overflow: hidden;
    opacity: 0;
}

.custom-file-label {
    position: absolute;
    top: 0px;
    right: 0px;
    left: 0px;
    z-index: 1;
    height: calc(1.5em + 2px + 0.75rem);
    padding: 0.375rem 0.75rem;
    overflow: hidden;
    font-weight: 400;
    line-height: 1.5;
    color: rgb(73, 80, 87);
    background-color: rgb(255, 255, 255);
    border: 1px solid rgb(206, 212, 218);
    border-radius: 0.25rem;
}

.custom-file-label::after {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 3;
    display: block;
    height: calc(1.5em + 0.75rem);
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    color: rgb(73, 80, 87);
    content: "Browse";
    background-color: rgb(233, 236, 239);
    border-left: inherit;
    border-radius: 0px 0.25rem 0.25rem 0px;
}

.modal {
    backdrop-filter: blur(4px);
    background: rgba(0, 0, 0, 0.7);
}

.modal-header {
    border-bottom: 1px solid rgb(209, 213, 219);
    background: rgba(249, 250, 251, 0.6);
}

.modal-title {
    font-weight: 600;
    letter-spacing: 0.05em;
    color: rgb(17, 24, 39);
}

.modal-footer {
    border-top: 1px solid rgb(209, 213, 219);
    background: rgba(249, 250, 251, 0.6);
}

.modal-btn--close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: rgb(255, 255, 255);
    background: red;
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 1;
    overflow: hidden;
    border-radius: 50%;
}

.invalid-feedback {
    font-size: 13px;
}

.invalid-feedback svg {
    width: 20px;
}

.form-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.form-btn--submit {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-main);
    color: rgb(255, 255, 255);
    border-radius: 40px;
    padding: 10px 20px;
    text-transform: uppercase;
    font-size: 17px;
}

.breadCrumbs {
    margin-bottom: 30px;
}

.breadcrumb {
    gap: 10px;
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
    padding: 0px;
    margin-bottom: 1rem;
}

.breadcrumb li {
    display: flex;
    align-items: center;
    gap: 15px;
}

.breadcrumb li a {
    flex: 1 1 0%;
    transition: 0.2s;
    color: rgb(255, 255, 255);
}

.breadcrumb li a:hover {
    color: var(--color-main);
}

.breadcrumb li.active a {
    font-weight: 500;
    color: var(--color-main);
}

.breadcrumb li svg {
    width: 7px;
    color: rgb(102, 102, 102);
    margin-top: 2px;
}

.box-toc {
    background: rgb(255, 255, 255);
    border: 1px solid rgb(226, 232, 240);
    border-radius: 12px;
    margin-bottom: 2rem;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}

.box-toc__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    background: rgb(248, 250, 252);
    cursor: pointer;
    border-bottom: 1px solid transparent;
    user-select: none;
}

.box-toc__header:hover {
    background: rgb(241, 245, 249);
}

.box-toc__title {
    font-size: 16px;
    color: var(--color-text);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
}

.box-toc__title i {
    font-size: 20px;
}

.box-toc__toggle-icon {
    color: rgb(100, 116, 139);
}

.box-toc__body {
    max-height: 0px;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.28s, opacity 0.2s;
}

.box-toc--open .box-toc__body {
    max-height: 1000px;
    opacity: 1;
    border-top: 1px solid rgb(226, 232, 240);
}

.box-toc--open .box-toc__toggle-icon {
    transform: rotate(180deg);
}

.box-toc__list {
    list-style: none;
    padding: 12px 0px;
    margin: 0px;
    transform: translateY(-6px);
    transition: transform 0.28s;
}

.box-toc--open .box-toc__list {
    transform: translateY(0px);
}

.box-toc__item {
    margin: 0px;
    position: relative;
}

.box-toc__link {
    display: block;
    padding: 8px 20px;
    color: rgb(100, 116, 139);
    text-decoration: none;
    font-size: 0.95rem;
    line-height: 1.5;
    border-left: 3px solid transparent;
}

.box-toc__link:hover {
    color: var(--color-main) !important;
    background: rgb(239, 246, 255) !important;
}

.box-toc__link--active {
    color: var(--color-main);
    font-weight: 600;
    background: rgb(239, 246, 255);
    border-left-color: var(--color-main);
}

.box-toc__item--h2 .box-toc__link {
    padding-left: 10px;
    font-weight: 600;
    color: rgb(51, 65, 85);
    font-size: 15px;
}

.box-toc__item--h3 .box-toc__link {
    padding-left: 20px;
    font-size: 14px;
}

.box-toc__item--h4 .box-toc__link {
    padding-left: 30px;
    font-style: italic;
}

.news-detail-layout {
    display: grid;
    grid-template-columns: minmax(0px, 1fr) 330px;
    gap: 20px;
    align-items: start;
}

.news-detail-main {
    min-width: 0px;
}

.news-detail-title h1 {
    margin: 0px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25;
    color: rgb(255, 255, 255);
}

.news-detail-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    margin: 8px 0px 16px;
    color: rgb(136, 136, 136);
}

.news-detail-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.news-detail-main .box-toc {
    margin: 0px 0px 18px;
    border: 0px;
    border-radius: 0px;
    background: rgb(228, 255, 232);
    box-shadow: none;
}

.news-detail-main .box-toc__header {
    justify-content: space-between;
    padding: 10px 16px;
    background: rgb(228, 255, 232);
    border: 0px;
}

.news-detail-main .box-toc__title {
    width: 100%;
    color: rgb(17, 17, 17);
    font-size: 15px;
    text-transform: none;
    cursor: pointer;
}

.news-detail-main .box-toc__title i {
    order: 2;
    margin-left: auto;
    padding: 7px;
    color: rgb(255, 255, 255);
    background: rgb(35, 128, 0);
    font-size: 18px;
}

.news-detail-main .box-toc__toggle-icon {
    display: inline-flex;
    cursor: pointer;
}

.news-detail-main .box-toc__body {
    max-height: 0px;
    overflow: hidden;
    opacity: 0;
}

.news-detail-main .box-toc--open .box-toc__body {
    max-height: 1000px;
    opacity: 1;
    border-top: 0px;
}

.news-detail-main .box-toc__list {
    padding: 0px 16px 16px 30px;
    list-style: disc;
}

.news-detail-main .box-toc__link,
.news-detail-main .box-toc__item--h2 .box-toc__link,
.news-detail-main .box-toc__item--h3 .box-toc__link,
.news-detail-main .box-toc__item--h4 .box-toc__link {
    padding: 6px 0px;
    border-left: 0px;
    color: rgb(34, 34, 34);
    background: transparent;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;
}

.news-detail-main .box-toc__link:hover,
.news-detail-main .box-toc__link--active {
    color: rgb(35, 128, 0) !important;
    background: transparent !important;
}

.box-toc.js-content-toc,
.news-detail-main .box-toc.js-content-toc {
    position: relative;
    margin-bottom: 2rem;
    background: rgba(22, 22, 26, 0.55);
    backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.45) 0px 18px 50px, rgba(255, 255, 255, 0.08) 0px 1px 0px inset;
    animation: 5s ease-in-out 0s infinite normal none running boxTocFloat;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.box-toc.js-content-toc:hover,
.news-detail-main .box-toc.js-content-toc:hover {
    border-color: rgba(253, 139, 15, 0.5);
    box-shadow: rgba(0, 0, 0, 0.55) 0px 24px 60px, rgba(253, 139, 15, 0.15) 0px 0px 30px;
    animation-play-state: paused;
}

.box-toc.js-content-toc .box-toc__header,
.news-detail-main .box-toc.js-content-toc .box-toc__header {
    justify-content: space-between;
    padding: 14px 18px;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    cursor: pointer;
}

.box-toc.js-content-toc .box-toc__title,
.news-detail-main .box-toc.js-content-toc .box-toc__title {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0px;
    color: rgb(255, 255, 255);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    cursor: pointer;
}

.box-toc.js-content-toc .box-toc__title i,
.news-detail-main .box-toc.js-content-toc .box-toc__title i {
    order: 0;
    margin-left: 0px;
    padding: 9px;
    background: linear-gradient(135deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    border-radius: 9px;
    color: rgb(255, 255, 255);
    font-size: 15px;
    box-shadow: rgba(235, 139, 65, 0.45) 0px 6px 18px;
}

.box-toc.js-content-toc .box-toc__body,
.news-detail-main .box-toc.js-content-toc .box-toc__body {
    max-height: 0px;
    overflow: hidden auto;
    opacity: 0;
    background: rgba(0, 0, 0, 0.2);
    transition: max-height 0.32s, opacity 0.25s;
}

.box-toc.js-content-toc.box-toc--open .box-toc__body,
.news-detail-main .box-toc.js-content-toc.box-toc--open .box-toc__body {
    max-height: 480px;
    opacity: 1;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.box-toc.js-content-toc .box-toc__body::-webkit-scrollbar,
.news-detail-main .box-toc.js-content-toc .box-toc__body::-webkit-scrollbar {
    width: 5px;
}

.box-toc.js-content-toc .box-toc__body::-webkit-scrollbar-thumb,
.news-detail-main .box-toc.js-content-toc .box-toc__body::-webkit-scrollbar-thumb {
    background: rgba(253, 139, 15, 0.45);
    border-radius: 10px;
}

.box-toc.js-content-toc .box-toc__list,
.news-detail-main .box-toc.js-content-toc .box-toc__list {
    list-style: none;
    margin: 0px;
    padding: 10px 0px;
    transform: translateY(-6px);
    transition: transform 0.28s;
}

.box-toc.js-content-toc.box-toc--open .box-toc__list,
.news-detail-main .box-toc.js-content-toc.box-toc--open .box-toc__list {
    transform: translateY(0px);
}

.box-toc.js-content-toc .box-toc__link,
.news-detail-main .box-toc.js-content-toc .box-toc__link,
.box-toc.js-content-toc .box-toc__item--h2 .box-toc__link,
.news-detail-main .box-toc.js-content-toc .box-toc__item--h2 .box-toc__link,
.box-toc.js-content-toc .box-toc__item--h3 .box-toc__link,
.news-detail-main .box-toc.js-content-toc .box-toc__item--h3 .box-toc__link,
.box-toc.js-content-toc .box-toc__item--h4 .box-toc__link,
.news-detail-main .box-toc.js-content-toc .box-toc__item--h4 .box-toc__link {
    display: block;
    padding: 8px 20px;
    border-left: 3px solid transparent;
    color: rgba(255, 255, 255, 0.7);
    background: transparent;
    font-size: 15px;
    font-weight: 500;
    font-style: normal;
    line-height: 1.5;
    text-decoration: none;
    transition: color 0.25s, background 0.25s, padding-left 0.25s, border-color 0.25s;
}

.box-toc.js-content-toc .box-toc__link:hover,
.news-detail-main .box-toc.js-content-toc .box-toc__link:hover {
    padding-left: 26px;
    border-left-color: rgb(253, 139, 15);
    color: rgb(255, 255, 255) !important;
    background: rgba(253, 139, 15, 0.16) !important;
}

.box-toc.js-content-toc .box-toc__link--active,
.news-detail-main .box-toc.js-content-toc .box-toc__link--active {
    border-left-color: rgb(253, 139, 15);
    font-weight: 600;
    color: rgb(255, 255, 255) !important;
    background: rgba(253, 139, 15, 0.2) !important;
}

@keyframes boxTocFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-6px);
    }
}

.news-detail-sidebar {
    display: grid;
    gap: 30px;
}

.news-side-box {
    padding: 24px 18px;
    background: rgba(28, 28, 28, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 8px 24px;
    backdrop-filter: blur(25px);
}

.news-side-title {
    position: relative;
    padding-bottom: 12px;
    padding-left: 18px;
    border-bottom: 2px solid color-mix(in srgb, var(--color-main) 18%, transparent);
    margin: 0px 0px 14px;
    color: var(--chinh);
    text-transform: uppercase;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.news-side-title::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0px;
    width: 4px;
    height: calc(100% - 16px);
    border-radius: 2px;
    background: var(--color-main);
}

.news-side-category {
    display: grid;
    gap: 0px;
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.news-side-category__item {
    position: relative;
    border-radius: 8px;
    transition: background-color 0.25s, padding-left 0.25s;
}

.news-side-category__item:hover {
    background: rgba(255, 255, 255, 0.04);
}

.news-side-category__item:last-child {
    border-bottom: 0px;
}

.news-side-category a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 8px 34px 8px 10px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
    border-radius: 6px;
    text-decoration: none;
    transition: color 0.25s, background-color 0.25s;
}

.news-side-category a:hover {
    color: var(--chinh);
    background: rgba(255, 255, 255, 0.06);
}

.news-side-toggle {
    position: absolute;
    top: 6px;
    right: 2px;
    width: 30px;
    height: 30px;
    border: 0px;
    border-radius: 6px;
    background: transparent;
    color: rgb(120, 120, 120);
    cursor: pointer;
    transition: background-color 0.25s, color 0.25s, transform 0.25s;
}

.news-side-toggle:hover {
    background: color-mix(in srgb, var(--color-main) 12%, transparent);
    color: var(--chinh);
    transform: scale(1.1);
}

.news-side-toggle i {
    transition: transform 0.2s;
}

.news-side-category__item.is-open>.news-side-toggle i {
    transform: rotate(45deg);
}

.news-side-children {
    display: none;
    margin: 0px;
    padding: 0px 0px 6px 14px;
    list-style: none;
}

.news-side-children .news-side-category__item {
    border-bottom: 0px;
}

.news-side-children a {
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.news-side-children .news-side-children {
    padding-left: 12px;
}

.news-side-children .news-side-children a {}

.news-side-list {
    display: grid;
    gap: 14px;
}

.news-side-item {
    display: grid;
    grid-template-columns: 98px minmax(0px, 1fr);
    gap: 10px;
    margin-bottom: 1rem;
    padding: 10px;
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.3s, box-shadow 0.3s;
}

.news-side-item:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 6px 20px;
}

.news-side-photo {
    display: block;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    aspect-ratio: 120 / 80;
}

.news-side-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.news-side-item:hover .news-side-photo img {
    transform: scale(1.1);
}

.news-side-info {
    min-width: 0px;
}

.news-side-name {
    color: rgb(255, 255, 255);
    font-size: 14px;
    transition: color 0.3s;
}

.news-side-item:hover .news-side-name {
    color: var(--nhan);
}

.news-side-date {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.4);
    font-style: italic;
    font-size: 10px;
}

.news-detail-share {
    margin-top: 20px;
}

.content-main {
    line-height: 1.5;
}

.content-main h1 {
    text-align: center;
    font-size: 22px;
    margin-bottom: 30px;
}

.content-main h2 {
    margin: 20px 0px;
    font-size: 19px;
}

.content-main h3 {
    margin: 15px 0px 20px;
    font-size: 17px;
}

.content-main h4 {
    margin: 10px 0px 20px;
    font-size: 15px;
}

.content-main table {
    width: 100%;
    margin: 10px 0px 20px;
    font-size: 13px;
}

.content-main table th {
    background: rgb(68, 68, 68);
    color: rgb(255, 255, 255);
    text-align: center;
    padding: 12px 7px;
}

.content-main table tr td {
    padding: 10px 7px;
}

.content-main tr:nth-child(2n) {
    background: rgb(244, 244, 244);
}

.content-main tr:nth-child(2n+1) {
    background: rgb(255, 255, 255);
}

.content-main ol li,
.content-main ul li {
    margin-bottom: 10px;
}

.content-main a {
    color: rgb(0, 85, 255);
    font-weight: 700;
    display: contents;
}

.content-main iframe {
    display: block;
    margin: 10px auto 20px;
    width: 100% !important;
}

.content-main tr:nth-child(2n) {
    background-color: rgb(242, 242, 242);
}

.content-main tr:hover {
    background-color: rgb(221, 221, 221);
}

.content-main th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: var(--color-main);
    color: rgb(255, 255, 255);
}

.content-main td,
.content-main th {
    border: 1px solid rgb(221, 221, 221);
    padding: 8px;
}

.content-main figcaption {
    text-align: center;
}

.content-main a img {
    max-width: 100%;
    height: auto !important;
}

.content-main blockquote {
    border-left: 3px solid rgb(204, 204, 204);
    padding-left: 20px;
    margin-left: 20px;
    font-style: italic;
}

.skeleton-item {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 5px;
}

.skeleton-box {
    background: linear-gradient(110deg, rgb(236, 236, 236) 8%, rgb(245, 245, 245) 18%, rgb(236, 236, 236) 33%) 0% 0% / 200% 100%;
    animation: 1.5s linear 0s infinite normal none running shine;
    border-radius: 4px;
}

.skeleton-img {
    width: 100%;
    margin-bottom: 10px;
}

.skeleton-title {
    height: 20px;
    width: 80%;
    margin-bottom: 8px;
}

.skeleton-price {
    height: 20px;
    width: 50%;
}

@keyframes shine {
    100% {
        background-position-x: -200%;
    }
}

.ggdich-box {
    position: relative;
    display: inline-block;
}

.ggdich-box__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    background: 0px 0px;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    padding: 0px;
    cursor: pointer;
    font-size: 16px;
    color: inherit;
}

.ggdich-box__icon {
    margin-right: 6px;
}

.ggdich-box__dropdown {
    position: absolute;
    z-index: 15;
    top: 100%;
    left: 0px;
    margin-top: 10px;
    min-width: 150px;
    background-color: rgb(255, 255, 255);
    padding: 8px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}

.ggdich-box__item {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: rgb(0, 0, 0);
    margin-bottom: 10px;
    transition: color 0.2s;
}

.ggdich-box__item:last-child {
    margin-bottom: 0px;
}

.ggdich-box__item:hover {
    color: rgb(192, 57, 43);
}

.ggdich-box__flag {
    margin-right: 7px;
    display: inline-block;
    max-width: 22px;
}

.ggdich-box__flag img {
    width: 100%;
    display: block;
}

.sidebox-group {
    position: sticky;
    top: 60px;
    border: 1px solid rgb(222, 226, 230);
    border-radius: clamp(5px, 0.833333vw, 10px);
    padding: clamp(10px, 1.25vw, 15px);
}

.sidebox-group__header {
    display: flex;
    font-size: clamp(15px, 1.33333vw, 16px);
    text-transform: uppercase;
    align-items: center;
    gap: 7px;
    font-weight: 600;
    padding: 0px 0px 8px;
    border-bottom: 0.5px dashed rgb(235, 224, 224);
    margin-bottom: 10px;
}

.sidebox-group__icon {
    font-size: 22px;
}

.sidebox-group__list {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.sidebox-group__item {
    position: relative;
}

.sidebox-group__link {
    color: rgb(37, 42, 43);
    position: relative;
    font-size: 15px;
    font-weight: 500;
    display: block;
    text-transform: capitalize;
    transition: 0.3s;
    padding: 5px 0px;
}

.sidebox-group__item--has-child>.sidebox-group__link {
    padding-right: 30px;
}

.sidebox-group__link--active,
.sidebox-group__link:hover {
    color: var(--color-main) !important;
}

.sidebox-group__toggle {
    width: 25px;
    height: 25px;
    cursor: pointer;
    position: absolute;
    right: 0px;
    top: 0px;
    bottom: 0px;
    margin: auto;
    border: 1px solid transparent;
    display: none;
}

.sidebox-group__item--has-child .sidebox-group__toggle {
    display: block;
}

.sidebox-group__toggle:hover {
    border: 1px solid rgb(231, 231, 231);
}

.sidebox-group__toggle::after,
.sidebox-group__toggle::before {
    background: rgba(9, 9, 9, 0.6);
    content: "";
    display: block;
    position: absolute;
    margin-right: 7px;
    top: 50%;
    right: 0px;
    transition: 0.25s linear;
}

.sidebox-group__toggle::before {
    width: 9px;
    height: 1px;
    transform: translateY(-50%);
}

.sidebox-group__toggle::after {
    width: 1px;
    height: 9px;
    right: 4px;
    transform: translateY(-50%) scale(1, 1);
}

.sidebox-group__item.opened>.sidebox-group__link .sidebox-group__toggle::after {
    transform: translateY(-50%) scale(1, 0);
}

.sidebox-group__sublist {
    margin: 0px;
    padding-left: 10px;
    list-style: none;
    display: none;
}

.prodetail {
    display: block;
    width: 100%;
}

.prodetail__header {
    margin-bottom: 30px;
    display: grid;
    grid-template-columns: 45% 1fr;
    gap: 15px;
}

.prodetail__gallery {
    position: relative;
}

.prodetail__info {
    position: relative;
}

.prodetail__thumb {
    margin-bottom: 10px;
    border: 1px solid rgb(238, 238, 238);
    background: rgb(255, 255, 255);
    border-radius: 10px;
    overflow: hidden;
}

.prodetail__nav .splide__slide {
    opacity: 0.6;
    transition: opacity 0.3s;
    border: 1px solid transparent;
    border-radius: 10px;
    overflow: hidden;
}

.prodetail__nav .splide__slide.is-active {
    opacity: 1;
    overflow: hidden;
    border: solid 1px var(--color-main) !important;
}

.prodetail__title {
    font-size: clamp(20px, 2.08333vw, 25px);
    margin-bottom: 10px;
}

.prodetail__option {
    margin: 15px 0px;
    list-style: none;
    padding: 0px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.prodetail__option li span {
    color: var(--color-main);
}

.prodetail__social {
    margin: 15px 0px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.prodetail__social-title {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.prodetail__price {
    margin: 15px 0px;
    font-size: clamp(14px, 1.25vw, 15px);
}

.prodetail__price-new {
    font-size: clamp(18px, 2vw, 24px);
    color: rgb(208, 2, 27);
    font-weight: 900;
    display: inline-block;
    animation: 2s ease-in-out 0s infinite normal none running pricePulse;
}

@keyframes pricePulse {

    0%,
    100% {
        transform: scale(1);
        text-shadow: rgba(208, 2, 27, 0) 0px 0px 0px;
    }

    50% {
        transform: scale(1.08);
        text-shadow: rgba(208, 2, 27, 0.45) 0px 0px 16px;
    }
}

.prodetail__price-old {
    text-decoration: line-through;
    color: rgb(136, 136, 136);
    margin: 0px 10px;
}

.prodetail__price-discount {
    background: rgb(208, 2, 27);
    color: rgb(255, 255, 255);
    padding: 2px 3px;
    border-radius: 5px;
    font-size: 11px;
    position: relative;
}

.prodetail__price-discount::before {
    content: "";
    border-right: 6px solid rgb(208, 2, 27);
    border-bottom: 6px solid transparent;
    border-top: 6px solid transparent;
    position: absolute;
    top: 50%;
    left: -4px;
    transform: translate(0px, -50%);
}

.prodetail__qty-group {
    margin: 20px 0px;
    display: flex;
    align-items: center;
}

.prodetail__qty-group label {
    font-weight: 600;
    margin-right: 15px;
}

.prodetail__qty-control {
    display: flex;
    align-items: center;
    border: 1px solid rgb(218, 218, 218);
    border-radius: 4px;
    overflow: hidden;
}

.prodetail__qty-btn {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: rgb(243, 243, 243);
    transition: 0.2s;
}

.prodetail__qty-btn:hover {
    background: rgb(238, 238, 238);
}

.prodetail__qty-btn svg {
    width: 14px;
    height: 14px;
}

.prodetail__qty-input {
    width: 60px;
    height: 35px;
    border-width: medium 1px;
    border-style: none solid;
    border-color: currentcolor rgb(218, 218, 218);
    border-image: none;
    text-align: center;
    outline: 0px;
}

.prodetail__qty-input::-webkit-inner-spin-button,
.prodetail__qty-input::-webkit-outer-spin-button {
    appearance: none;
    margin: 0px;
}

.prodetail__desc {
    margin: 20px 0px;
}

.prodetail__actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin: 20px 0px;
}

.prodetail__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding-block: clamp(7px, 0.833333vw, 10px);
    border: 1px solid rgb(51, 51, 51);
    border-radius: 4px;
    font-size: clamp(14px, 1.25vw, 15px);
    transition: 0.3s;
    text-decoration: none;
    min-height: 45px;
    cursor: pointer;
}

.prodetail__btn:hover {
    color: rgb(255, 255, 255) !important;
    background: color-mix(in srgb, var(--color-main) 70%, #000) !important;
}

.prodetail__btn--add {
    color: rgb(208, 2, 27);
    background: rgb(255, 255, 255);
    border-color: rgb(208, 2, 27);
}

.prodetail__btn--buy {
    color: rgb(255, 255, 255);
    background: rgb(208, 2, 27);
    border-color: rgb(208, 2, 27);
}

.prodetail__btn--hotline {
    background: var(--color-main);
    border-color: var(--color-main);
    color: rgb(255, 255, 255) !important;
}

.prodetail__btn--zalo {
    background: rgb(0, 104, 255);
    border-color: rgb(0, 104, 255);
    padding: 5px 10px;
    text-align: left;
    justify-content: flex-start;
    color: rgb(255, 255, 255) !important;
}

.prodetail__btn-text {
    font-weight: 500;
    text-transform: uppercase;
}

.prodetail__btn-subtext {
    display: block;
    font-weight: 300;
    text-transform: none;
}

.prodetail__tab-header {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    padding: 0px;
    list-style: none;
}

.prodetail__tab-header li {
    padding: 10px 0px;
    font-size: clamp(14px, 1.5vw, 18px);
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    position: relative;
    transition: color 0.3s;
}

.prodetail__tab-header li::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0px;
    width: 0px;
    height: 2px;
    background: var(--color-main);
    transition: width 0.3s;
}

.prodetail__tab-header li.active {
    color: var(--color-main);
}

.prodetail__tab-header li.active::after {
    width: 100%;
}

.prodetail__tab-body {
    display: none;
}

.prodetail__tab-body[x-show] {
    display: block;
}

.prodetail__related {
    margin-top: 40px;
}

.prodetail__related-title h2 {
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
    border-left: 4px solid var(--color-main);
    padding-left: 10px;
}

.prodetail__related-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 15px;
}

.prodetail__attribute {
    margin-bottom: 20px;
}

.prodetail__attribute-label {
    display: block;
    font-size: clamp(14px, 1.33333vw, 16px);
    font-weight: 700;
    margin-bottom: 10px;
}

.prodetail__attribute-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
}

.prodetail__attribute-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 35px;
    padding: 5px 12px;
    border: 1px solid rgb(218, 218, 218);
    background: rgb(255, 255, 255);
    color: rgb(17, 17, 17);
    font-size: clamp(12px, 1.5vw, 14px);
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
}

.prodetail__attribute-btn:hover {
    border-color: var(--color-main);
}

.prodetail__attribute-btn.active {
    border-color: var(--color-main);
    color: var(--color-main);
}

.prodetail__attribute-check {
    position: absolute;
    bottom: -1px;
    right: -1px;
    z-index: 1;
    width: 20px;
    height: 20px;
    display: none;
    align-items: flex-end;
    justify-content: flex-end;
    clip-path: polygon(100% 0px, 0px 100%, 100% 100%);
    color: rgb(255, 255, 255);
    background-color: var(--color-main);
}

.prodetail__attribute-btn.active .prodetail__attribute-check {
    display: flex;
}

.info-contact {
    background: url("../images/bg_contact.webp") 0% 0% / cover no-repeat;
}

.newsletter-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.ds-contact {
    width: 43%;
    color: rgb(255, 255, 255);
    text-align: center;
}

.ds-contact h2 {
    text-transform: uppercase;
    font-family: SVN-Neutraface-2;
    font-size: 48px;
}

.ds-contact p {
    font-size: 22px;
}

.company {
    margin-top: 20px;
}

.company p {}

.hotline-setting {
    background: rgb(26, 82, 54);
    padding: 10px 0px;
    border-radius: 30px;
    width: 320px;
    max-width: 100%;
    margin: 0px auto;
    border: 1px solid rgba(255, 255, 255, 0.737);
}

.hotline-setting i {
    font-size: 20px;
}

.hotline-setting span {
    font-size: 18px;
}

.wr-letter {
    width: 54%;
    background: rgb(0, 0, 0);
    padding: 40px 30px;
}

.title-letter {
    color: rgb(255, 255, 255);
    text-align: center;
}

.title-letter span {
    text-transform: uppercase;
    font-size: 48px;
    font-family: SVN-Neutraface-2;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.63);
    color: rgba(255, 255, 255, 0);
}

.title-letter h2 {
    position: relative;
    z-index: 999;
    text-transform: uppercase;
    font-size: 32px;
    margin-top: -16px;
    box-shadow: rgb(0, 0, 0) 0px -10px 30px;
    background: rgba(0, 0, 0, 0.47);
}

.contact-flex {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 20px;
}

.contact-map {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    height: 100%;
}

.contact-map.custom {
    border-radius: 0px;
    height: 195px;
}

.contact-map.custom .lazy-map {
    min-height: 100%;
    height: 100% !important;
}

.contact-map iframe {
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.contact-form {
    margin-top: 20px;
    padding: 15px;
    border-radius: 10px;
    backdrop-filter: blur(25px);
    box-shadow: rgba(0, 11, 23, 0.1) 0px 18px 15px 0px;
    background: rgba(255, 255, 255, 0.5);
}

.contact-input {
    margin-bottom: 10px;
}

.contact-input input,
.contact-input textarea {
    border-radius: 7px;
    border: 1px solid rgb(225, 225, 225);
    text-indent: 0px;
    color: rgb(0, 0, 0);
    min-height: 40px;
}

.sort-select {
    display: flex;
    justify-content: end;
    margin: 20px 0px;
    position: relative;
}

.sort-select .click-sort {
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    cursor: pointer;
    padding: 10px 16px;
    margin: 0px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 14px;
    color: rgb(255, 255, 255);
    display: flex;
    align-items: center;
    gap: 8px;
    transition: border-color 0.35s, box-shadow 0.35s, transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.35s;
}

.sort-select .click-sort:hover {
    border-color: var(--nhan);
    background: rgba(253, 139, 15, 0.15);
    box-shadow: rgba(253, 139, 15, 0.15) 0px 4px 16px;
    transform: translateY(-2px);
}

.sort-select-main {
    display: grid;
    background-color: rgb(255, 255, 255);
    border-radius: 12px;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 8px 30px;
    position: absolute;
    padding: 6px;
    top: 44px;
    right: 0px;
    width: 180px;
    z-index: 2;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.sort-select-main p {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    margin: 0px;
    order: 2;
}

.sort-select-main p:has(.check) {
    order: 1;
}

.sort a {
    color: rgb(51, 51, 51);
    line-height: 1.4;
    padding: 10px 12px;
    display: block;
    cursor: pointer;
    border-radius: 8px;
    font-family: var(--font-family);
    font-size: 14px;
    transition: background 0.25s, color 0.25s, padding-left 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.sort a:hover {
    background: rgba(253, 139, 15, 0.08);
    color: var(--nhan);
    padding-left: 16px;
}

.sort a.check i {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs, 1));
    width: 22px;
    height: 16px;
    border: 2px solid transparent;
    border-radius: 100px;
    vertical-align: middle;
}

.sort a.check i::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    left: 3px;
    top: -4px;
    width: 6px;
    height: 10px;
    border-width: 0px 2px 2px 0px;
    border-style: solid;
    transform-origin: left bottom;
    transform: rotate(45deg);
}

.sort-select .sort-show {
    padding-right: 12px;
    position: relative;
}

.info-about {
    padding: 30px 0px;
    background: rgb(241, 241, 241);
}

.wrap-about {
    position: relative;
    z-index: 1;
}

.title-about {
    display: flex;
    place-items: center start;
    gap: 10px;
    margin-bottom: 20px;
}

.title-about p {
    font-family: Anton;
    font-size: 16px;
    margin-top: 10px;
}

.flex-about {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.about-left {
    width: 45%;
    border-radius: 10px;
    overflow: hidden;
}

.about-right {
    width: 52%;
}

.wr-album-about {
    margin: 0px 0px 0px auto;
}

.ds-about {
    position: relative;
}

.tt-ds {
    position: absolute;
    line-height: 50px;
    background: rgb(252, 226, 108);
    text-align: center;
    width: 200px;
    font-size: 30px;
    color: rgb(159, 4, 6);
    font-family: "1FTV VIP Amsterdam Signature";
    transform: rotate(-90deg);
    left: -75px;
    top: 50px;
}

.title-about span {
    font-size: 24px;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
}

.title-about h2 {
    font-size: 30px;
    font-family: Anton;
    color: rgb(159, 4, 6);
    text-transform: uppercase;
    margin: 0px;
}

.album-about {
    border-radius: 10px;
    overflow: hidden;
    display: block;
}

.view-all {
    display: block;
    width: 150px;
    line-height: 40px;
    border: 1px solid rgb(241, 129, 48);
    background: rgb(241, 129, 48);
    color: rgb(255, 255, 255);
    border-radius: 5px;
    text-align: center;
    font-size: 15px;
    text-transform: uppercase;
}

.view-all:hover {
    background: rgb(209, 96, 15);
    color: rgb(255, 255, 255);
}

.view-all a,
.view-all:hover a {
    color: rgb(255, 255, 255);
}

.wr-statistical {
    margin-top: 22px;
    padding: 2px;
}

.wr-statistical .splide__track {
    padding: 2px;
}

.statistical-card {
    text-align: center;
    background: rgb(255, 248, 223);
    padding: 10px;
    border-radius: 10px;
    overflow: hidden;
}

.statistical-card__icon {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: rgb(255, 248, 223);
    border-radius: 50%;
    margin: 0px auto 10px;
}

.statistical-card__img {
    border-radius: 50%;
}

.statistical-card__body {
    min-width: 0px;
}

.statistical-card__number {
    display: block;
    color: rgb(159, 4, 6);
    font-family: Anton;
    font-size: 28px;
    line-height: 1.1;
}

.statistical-card__name {
    display: block;
    margin-top: 6px;
    color: rgb(68, 68, 68);
    line-height: 1.35;
}

.slogan-about {
    font-size: 24px;
    font-family: iCiel-Bambola;
    max-width: 590px;
    margin-top: 20px;
}

.bg-about {
    position: relative;
    bottom: 20px;
}

.welcome {
    position: absolute;
    right: 20px;
    top: 10%;
    font-family: SVN-Kelso;
    font-size: 48px;
    -webkit-text-stroke: 1px rgb(252, 226, 108);
    text-transform: uppercase;
    width: 70px;
    text-align: center;
}

.info-tc {
    margin-top: -80px;
}

.info-criteria {
    padding: 24px 0px;
}

.info-criteria .wrap-content {
    overflow: hidden;
}

.slider-tc .splide__track {
    overflow: visible;
}

.criteria-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 112px;
    height: 100%;
    padding: 18px;
    border: 1px solid rgba(109, 2, 1, 0.08);
    border-radius: 8px;
    background: rgb(255, 255, 255);
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.criteria-card:hover {
    border-color: rgba(109, 2, 1, 0.22);
    background: rgb(255, 253, 244);
    box-shadow: rgba(49, 15, 8, 0.13) 0px 16px 34px;
}

.criteria-card__icon {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    padding: 10px;
    border-radius: 8px;
    background: rgb(252, 226, 108);
    transition: background-color 0.2s, box-shadow 0.2s;
}

.criteria-card:hover .criteria-card__icon {
    background: rgb(109, 2, 1);
    box-shadow: rgba(255, 255, 255, 0.22) 0px 0px 0px 1px inset;
}

.criteria-card__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.criteria-card__body {
    min-width: 0px;
}

.criteria-card__body h3 {
    margin-bottom: 6px;
    color: rgb(109, 2, 1);
    font-size: 16px;
    line-height: 1.3;
    transition: color 0.2s;
}

.criteria-card:hover .criteria-card__body h3 {
    color: rgb(154, 3, 1);
}

.criteria-card__body p {
    -webkit-line-clamp: 2;
    margin-bottom: 0px;
    color: rgb(85, 85, 85);
    line-height: 1.5;
}

.tc-item {
    position: relative;
    margin-left: 40px;
}

.tc-item__info {
    background: url("../images/item-tc.png") 0% 0% / 100% 100% no-repeat;
    padding: 40px 20px 40px 60px;
    color: rgb(255, 255, 255);
}

.tc-item__info h3 {
    font-size: 16px;
}

.tc-item__info:hover h3 {
    color: rgb(255, 255, 0);
}

.tc-item__info p {
    margin-bottom: 0px;
}

.img-item-tc {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) translateX(-30px);
    background: linear-gradient(to right, rgb(245, 231, 163) 0%, rgb(243, 220, 130) 25%, rgb(242, 207, 92) 50%, rgb(243, 220, 130) 75%, rgb(245, 231, 163) 100%);
    width: 75px;
    height: 75px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0px 10px 10px 0px;
}

.info-dt {
    padding: 50px 0px;
    background: url("../images/bg_dt.png") 0% 0% / cover no-repeat;
}

.wr-qt {
    position: relative;
    padding: 100px 0px 50px;
}

.flex-qt {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.item-dt {
    box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 4px;
    background: rgb(255, 255, 255);
    margin: 2px;
    padding: 10px;
}

.box-qt {
    background: url("../images/item_qt.png") 0% 0% / 100% 100% no-repeat;
    width: 184px;
    height: 184px;
    position: relative;
    padding: 30px;
    text-align: center;
    border-radius: 50%;
    z-index: 1;
}

.box-qt::before {
    content: "";
    position: absolute;
    width: 0%;
    height: 0px;
    bottom: 0px;
    left: 0px;
    z-index: -1;
    background: rgb(184, 153, 51);
    border-radius: 100%;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.8, 0, 0.2, 1);
    transition-duration: 0.3s;
}

.box-qt:hover::before {
    width: 100%;
    height: 100%;
}

.box-qt h3 {
    color: rgb(255, 255, 255);
    font-size: 16px;
}

.qt-item__pic {
    margin-bottom: 10px;
}

.box-qt:nth-child(1) {
    top: 60px;
}

.box-qt:nth-child(2) {
    top: 50px;
}

.box-qt:nth-child(3) {
    top: -30px;
}

.box-qt:nth-child(4) {
    top: -90px;
}

.box-qt:nth-child(5) {
    top: -70px;
}

.numb-qt {
    position: absolute;
    width: 72px;
    height: 72px;
    background: url("../images/numb.png") 0% 0% / 100% 100% no-repeat;
    color: rgb(0, 81, 198);
    font-size: 25px;
    font-family: Anton;
    line-height: 60px;
    right: -30px;
    top: -20px;
}

.info-product {
    background: rgb(255, 255, 255);
    padding: 20px 0px;
}

.title-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
    padding: 14px 18px;
    border: 1px solid rgba(159, 4, 6, 0.12);
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(159, 4, 6, 0.06), rgba(252, 226, 108, 0.16), rgb(255, 255, 255));
}

.title-list h2 {
    position: relative;
    flex: 0 0 auto;
    margin: 0px;
    font-size: 35px;
    color: rgb(159, 4, 6);
    text-transform: uppercase;
    font-family: Anton;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    line-height: 1.1;
}

.title-list h2::after {
    content: "";
    display: block;
    width: 56px;
    height: 3px;
    border-radius: 999px;
    background: rgb(252, 226, 108);
}

.home-product-cats {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.home-product-cats__item {
    display: flex;
}

.home-product-cats__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 14px;
    border: 1px solid rgba(159, 4, 6, 0.18);
    border-radius: 999px;
    color: rgb(159, 4, 6);
    background: rgba(255, 255, 255, 0.86);
    font-weight: 600;
    line-height: 1.25;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s, background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.home-product-cats__link:hover,
.home-product-cats__link.active {
    color: rgb(255, 255, 255);
    border-color: rgb(159, 4, 6);
    background: rgb(159, 4, 6);
    box-shadow: rgba(159, 4, 6, 0.18) 0px 8px 18px;
}

.home-product-result {
    min-height: 260px;
}

.home-product-ajax-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0px, 1fr));
    gap: 20px;
}

.menu-showcase {
    position: relative;
}

.menu-showcase__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 34px;
}

.menu-showcase__summary {
    max-width: 490px;
    margin-left: auto;
}

.menu-showcase__summary p {
    margin: 0px;
    font-size: 17px;
    line-height: 1.7;
    color: rgb(63, 51, 45);
}

.menu-showcase__body {
    display: grid;
    grid-template-columns: minmax(0px, 360px) minmax(0px, 1fr);
    gap: 28px;
    align-items: stretch;
}

.menu-showcase__feature {
    position: relative;
    min-height: 100%;
    border-radius: 28px;
    overflow: hidden;
    display: block;
    background: rgb(61, 18, 14);
    color: rgb(255, 255, 255);
    box-shadow: rgba(77, 18, 11, 0.16) 0px 22px 45px;
}

.menu-showcase__feature::before {
    content: "";
    position: absolute;
    inset: 0px;
    background: linear-gradient(rgba(28, 13, 7, 0.05) 0%, rgba(28, 13, 7, 0.82) 100%);
    z-index: 1;
}

.menu-showcase__feature-media {
    height: 100%;
}

.menu-showcase__feature-media img {
    width: 100%;
    object-fit: cover;
    min-height: 560px;
    height: 100% !important;
}

.menu-showcase__feature-content {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
}

.menu-showcase__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(8px);
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.menu-showcase__feature-content h3 {
    margin: 14px 0px 10px;
    font-size: 34px;
    line-height: 1.15;
    color: rgb(255, 255, 255);
    font-family: Anton;
    text-transform: uppercase;
}

.menu-showcase__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 146px;
    padding: 13px 22px;
    border-radius: 999px;
    background: rgb(252, 226, 108);
    color: rgb(159, 4, 6);
    font-size: 15px;
    text-transform: uppercase;
}

.menu-showcase__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 24px;
}

.menu-showcase__card {
    position: relative;
    min-height: 260px;
    padding: 26px;
    border-radius: 28px;
    overflow: hidden;
    background: url("../images/item-pro.png") center center / 100% 100% no-repeat;
    color: rgb(255, 255, 255);
    display: flex;
    align-items: center;
    gap: 18px;
    isolation: isolate;
    transform: translateY(0px);
    transition: transform 0.3s, box-shadow 0.3s;
}

.menu-showcase__card:hover {
    transform: translateY(-6px);
    box-shadow: rgba(73, 15, 11, 0.18) 0px 20px 32px;
}

.menu-showcase__card:nth-child(2n) {
    top: 30px;
}

.menu-showcase__card::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 193, 52, 0.18) 0%, rgba(255, 255, 255, 0.03) 100%);
    z-index: -1;
}

.menu-showcase__card-numb {
    position: absolute;
    top: 18px;
    right: 22px;
    font-size: 44px;
    line-height: 1;
    font-family: Anton;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.45);
}

.menu-showcase__card-media {
    width: 132px;
    height: 132px;
    flex: 0 0 132px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid rgba(255, 255, 255, 0.16);
}

.menu-showcase__card-media img {
    width: 100%;
    object-fit: cover;
    height: 100% !important;
}

.menu-showcase__card-content {
    position: relative;
    z-index: 1;
}

.menu-showcase__card-content h3 {
    margin: 0px 0px 10px;
    font-size: 26px;
    line-height: 1.2;
    font-family: Anton;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
}

.menu-showcase__card-content p {
    margin: 0px;
    font-size: 15px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.84);
}

.info-pro {
    background: url("../images/bg_pro.webp") 0% 0% / cover no-repeat;
    padding: 50px 0px;
}

.grid-pro {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 100px 10px;
    position: relative;
}

.box-product {
    position: relative;
}

.box-product:nth-child(2n) {
    display: flex;
    justify-content: end;
}

.box-product-in {
    background: url("../images/item-pro.png") 0% 0% / 100% 100% no-repeat;
    max-width: 285px;
    padding: 30px;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 20px;
    transform: scale(0.95);
    transition: 1s;
}

.box-product-in:hover {
    transform: scale(1);
}

.box-product-in h3 {
    font-size: 20px;
    color: rgb(255, 255, 255);
}

.box-product-in span {
    font-size: 40px;
    font-family: Anton;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.565);
    color: rgba(255, 255, 255, 0);
}

.pro {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.box-product:nth-child(1)::after {
    content: "";
    position: absolute;
    left: 285px;
    top: 50%;
    background: url("../images/pro1.png") no-repeat;
    width: 119px;
    height: 64px;
}

.box-product:nth-child(2)::after {
    content: "";
    position: absolute;
    right: 285px;
    top: 50%;
    background: url("../images/pro2.png") no-repeat;
    width: 119px;
    height: 64px;
}

.box-product:nth-child(3)::after {
    content: "";
    position: absolute;
    left: 285px;
    bottom: 30%;
    background: url("../images/pro3.png") no-repeat;
    width: 119px;
    height: 64px;
}

.box-product:nth-child(4)::after {
    content: "";
    position: absolute;
    right: 285px;
    bottom: 30%;
    background: url("../images/pro4.png") no-repeat;
    width: 119px;
    height: 64px;
}

.wr-qt .line {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    animation: 10s linear 0s infinite normal none running stroke;
}

@keyframes stroke {
    0% {
        stroke-dasharray: 4, 4;
        stroke-dashoffset: 600;
    }

    100% {
        stroke-dasharray: 4, 4;
        stroke-dashoffset: 0;
    }
}

@keyframes bgSwing {
    0% {
        background-position: left center;
    }

    50% {
        background-position: 10px center;
    }

    100% {
        background-position: left center;
    }
}

.ring-ring {
    animation: 1s ease-in-out 0s infinite normal none running ringring;
}

.ring-ring-hover:hover {
    animation: 1s ease-in-out 0s infinite normal none running ringring;
}

.criteria-img:hover img {
    transform: rotateY(360deg);
    transition: 0.5s linear;
}

@keyframes star {
    0% {
        transform: rotate(0deg) scale(0);
    }

    50% {
        transform: rotate(180deg) scale(1.5);
    }

    100% {
        transform: rotate(360deg) scale(0);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes ringring {
    0% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }

    10% {
        transform: rotate(-25deg) scale(1) skew(1deg);
    }

    20% {
        transform: rotate(25deg) scale(1) skew(1deg);
    }

    30% {
        transform: rotate(-25deg) scale(1) skew(1deg);
    }

    40% {
        transform: rotate(25deg) scale(1) skew(1deg);
    }

    50% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }

    100% {
        transform: rotate(0deg) scale(1) skew(1deg);
    }
}

.floating-box {
    display: inline-block;
    animation: 2s ease-in-out 0s infinite normal none running floatUpDown;
}

@keyframes floatUpDown {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-20px);
    }
}

.splide.slideshow {
    aspect-ratio: 1920 / 770;
    overflow: hidden;
    position: relative;
    background: rgb(241, 241, 241);
}

.splide.slideshow img {
    width: 100%;
    height: auto;
}

.splide:not(.is-initialized) .splide__list {
    display: flex;
    overflow: hidden;
    flex-wrap: nowrap;
}

.splide:not(.is-initialized) .splide__slide {
    flex-shrink: 0;
    width: 100%;
}

.ds-slider {
    position: absolute;
    z-index: 99;
    left: calc(50% - 600px);
    top: 50%;
    transform: translateY(-50%);
    max-width: 660px;
}

.ds-slider h3 {
    color: rgb(255, 255, 255);
    font-size: 48px;
    text-transform: uppercase;
}

.ds-slider p {
    font-size: 21px;
    color: rgb(255, 255, 255);
}

.sl-contact {
    background: rgb(6, 158, 52);
    line-height: 58px;
    border-radius: 30px;
    padding: 0px 10px;
    max-width: 360px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.sl-contact:hover {
    background: rgb(0, 81, 198);
}

.sl-contact a {
    background: linear-gradient(rgb(255, 243, 176), rgb(242, 211, 107), rgb(202, 164, 59)) text;
    -webkit-text-fill-color: transparent;
    font-size: 24px;
    text-transform: uppercase;
}

.start-animate {
    animation: 1.75s linear 0s infinite normal none running star;
    position: absolute;
    width: 50px;
}

@keyframes star {
    0% {
        transform: rotate(0deg) scale(0);
    }

    50% {
        transform: rotate(180deg) scale(1.5);
    }

    100% {
        transform: rotate(360deg) scale(0);
    }
}

.logo-footer {
    position: relative;
}

.start-animate1 {
    top: -8px;
    left: calc(50% - 27px);
}

.start-animate2 {
    bottom: 33px;
    left: calc(50% + 4px);
}

.start-animate3 {
    bottom: 33px;
    right: calc(50% + 4px);
}

.blog-item {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.29) 0px 0px 5px;
    margin: 2px;
}

.grid-service {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    position: relative;
}

.service-item {
    overflow: hidden;
}

.service-item__info {
    position: absolute;
    inset: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.service-item__info h3 {
    font-size: 45px;
    font-family: Anton;
    color: rgb(255, 255, 255);
    margin: 0px;
}

.service-item__info:hover {
    background: rgba(241, 129, 48, 0.18);
}

.info-kh {
    padding: 540px 0px 40px;
    background: url("../images/bg_kh.webp") 0% 0% / cover no-repeat;
    margin-top: -500px;
}

.kh-item {
    text-align: center;
    color: rgb(255, 255, 255);
}

.kh-item__pic {
    border: 5px solid rgb(241, 129, 48);
    border-radius: 50%;
    display: block;
    overflow: hidden;
    margin: 0px auto 20px;
    max-width: 150px;
}

.kh-item__info h3 {
    font-size: 20px;
    background: url("../images/ds.png") center top no-repeat;
    padding-top: 50px;
}

.kh-item__info p {
    font-size: 15px;
}

.kh-item__info p.address {
    color: rgb(219, 219, 219);
}

.splide__pagination.splide__pagination--ltr {
    gap: 8px;
    padding: 0px;
}

.splide__pagination.splide__pagination--ltr .splide__pagination__page {
    width: 9px;
    height: 9px;
    margin: 0px;
    border: 0px;
    border-radius: 999px;
    background: rgba(109, 2, 1, 0.24);
    opacity: 1;
    transform: none;
    transition: width 0.25s, background-color 0.25s, box-shadow 0.25s;
}

.splide__pagination.splide__pagination--ltr .splide__pagination__page.is-active {
    width: 28px;
    background: rgb(109, 2, 1);
    box-shadow: rgba(109, 2, 1, 0.22) 0px 4px 10px;
    transform: none;
}

.splide__pagination.splide__pagination--ltr .splide__pagination__page:hover {
    background: rgb(159, 4, 6);
}

.info-custommer {
    padding: 52px 0px;
    background: rgb(255, 255, 255);
}

.home-customer-contact {
    --home-customer-slider-height: 450px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 32px;
    align-items: stretch;
}

.home-customer-contact__col {
    display: flex;
    flex-direction: column;
    min-width: 0px;
}

.home-customer-contact .title-main {
    margin-bottom: 18px;
}

.home-customer-contact .slider-kh {
    flex: 1 1 0%;
    min-width: 0px;
    height: var(--home-customer-slider-height);
}

.home-customer-contact .splide__track {
    height: 100%;
    overflow: hidden;
    border-radius: 8px;
}

.home-customer-contact .splide__list {
    height: 100%;
}

.home-customer-contact .splide__slide {
    height: 100%;
}

.home-customer-contact .splide__pagination {
    bottom: 0px;
    justify-content: flex-start;
}

.home-contact-form {
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    margin-top: 0px;
    padding: 24px;
    border: 1px solid rgba(109, 2, 1, 0.1);
    border-radius: 8px;
    background: rgb(255, 253, 244);
    box-shadow: rgba(49, 15, 8, 0.08) 0px 12px 28px;
}

.home-contact-form .contact-input {
    margin-bottom: 12px;
}

.home-contact-form .contact-input input,
.home-contact-form .contact-input textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px;
    border: 1px solid rgba(109, 2, 1, 0.14);
    border-radius: 8px;
    background: rgb(255, 255, 255);
    color: rgb(34, 34, 34);
    line-height: 1.4;
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.home-contact-form .contact-input textarea {
    min-height: 116px;
    resize: vertical;
}

.home-contact-form .contact-input input:focus,
.home-contact-form .contact-input textarea:focus {
    border-color: rgba(109, 2, 1, 0.45);
    background: rgb(255, 255, 255);
    box-shadow: rgba(109, 2, 1, 0.08) 0px 0px 0px 3px;
    outline: none;
}

.home-contact-form .btn {
    border-radius: 8px;
    transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.home-contact-form .btn:hover {
    transform: translateY(-2px);
    box-shadow: rgba(49, 15, 8, 0.14) 0px 8px 18px;
}

.customer-card {
    position: relative;
    height: 100%;
    padding: 28px 24px;
    border: 1px solid rgba(109, 2, 1, 0.1);
    border-radius: 8px;
    background: rgb(255, 253, 244);
    box-shadow: rgba(49, 15, 8, 0.08) 0px 12px 28px;
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.customer-card:hover {
    border-color: rgba(109, 2, 1, 0.24);
    background: rgb(255, 248, 223);
    box-shadow: rgba(49, 15, 8, 0.13) 0px 18px 38px;
    transform: translateY(-3px);
}

.customer-card__quote {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 16px;
    border-radius: 8px;
    color: rgb(109, 2, 1);
    background: rgb(252, 226, 108);
}

.customer-card__text {
    -webkit-line-clamp: 3;
    margin-bottom: 10px;
    color: rgb(68, 68, 68);
    font-size: 15px;
    line-height: 1.55;
}

.customer-card__user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid rgba(109, 2, 1, 0.08);
}

.customer-card__avatar {
    flex: 0 0 74px;
    width: 74px;
    height: 74px;
    overflow: hidden;
    border: 3px solid rgb(252, 226, 108);
    border-radius: 50%;
    background: rgb(255, 255, 255);
}

.customer-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.customer-card__user h3 {
    margin-bottom: 0px;
    color: rgb(109, 2, 1);
    font-size: 16px;
    line-height: 1.35;
}

.info-social {
    padding: 40px 0px;
    background: rgb(159, 4, 6);
}

.info-album {
    padding: 40px 0px 0px;
    background: url("../images/bg_album.png") left bottom no-repeat;
}

.album-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    position: relative;
}

.album-grid__item {
    position: relative;
    display: block;
    overflow: hidden;
}

.album-grid__item .scale-img {
    border-radius: 5px;
}

.album-grid__item h3 {
    text-align: center;
    color: rgb(51, 51, 51);
    font-size: 15px;
    font-weight: 700;
    margin-top: 10px;
}

.album-grid__item h3:hover {
    color: rgb(255, 0, 0);
}

.news-detail-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    position: relative;
    margin: 20px 0px;
}

.news-detail-gallery a {
    border: 1px solid rgb(241, 241, 241);
    padding: 10px;
    border-radius: 8px;
}

.album-item__name {
    color: rgb(51, 51, 51);
    font-size: 16px;
    text-align: center;
    margin-top: 10px;
}

.floating-actions {
    position: fixed;
    right: 18px;
    bottom: 60%;
    z-index: 999;
    justify-items: end;
    gap: 10px;
    display: none !important;
}

.floating-actions .cart {
    position: relative;
    right: auto;
    bottom: auto;
}

.booking-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    padding: 0px 18px;
    border: 0px;
    border-radius: 999px;
    color: rgb(255, 255, 255);
    background: rgb(159, 4, 6);
    box-shadow: rgba(159, 4, 6, 0.28) 0px 8px 22px;
    font-size: 14px;
    cursor: pointer;
    transition: transform 0.2s, background-color 0.2s;
}

.booking-trigger:hover {
    color: rgb(159, 4, 6);
    background: rgb(252, 226, 108);
    transform: translateY(-2px);
}

.booking-trigger i {
    font-size: 17px;
}

#booking .modal-content {
    overflow: hidden;
    border: 0px;
    border-radius: 16px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 24px 70px;
}

#booking .modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid rgb(238, 238, 238);
}

#booking .modal-title {
    color: rgb(159, 4, 6);
    text-transform: uppercase;
}

#booking .modal-body {
    padding: 20px;
}

#booking .title-dl h2 {
    display: none;
}

#booking .title-dl p {
    margin: 0px 0px 18px;
    color: rgb(100, 116, 139);
    line-height: 1.6;
}

#booking .contact-input {
    margin-bottom: 12px;
}

#booking .form-control {
    min-height: 44px;
    border-color: rgb(225, 229, 234);
    border-radius: 8px;
}

#booking textarea.form-control {
    min-height: 90px;
}

.btn-booking {
    position: fixed;
    z-index: 999;
    right: 20px;
    bottom: 40%;
    border-radius: 50%;
}

.btn-booking .icon {
    position: absolute;
    width: 100%;
    height: 100%;
}

.btn-booking .icon::after {
    content: "";
    display: block;
    position: absolute;
    inset: -10px;
    background-color: rgba(241, 128, 48, 0.682);
    animation: 1s cubic-bezier(0.24, 0, 0.38, 1) 0s infinite normal none running pulse-animation;
    z-index: -1;
    border-radius: 50%;
}

.btn-booking button {
    position: relative;
    z-index: 99;
    border-radius: 50%;
    font-size: 20px;
    background: rgb(255, 0, 2);
    border-color: rgb(255, 0, 2);
}

.btn-booking button:hover,
.btn-booking button:active,
.btn-booking button:focus {
    background: rgb(255, 0, 2);
    border-color: rgb(255, 0, 2);
    outline: none;
    box-shadow: none;
}

.title-dl {
    text-align: center;
}

.title-dl h2 {
    color: rgb(240, 145, 75);
    text-transform: uppercase;
    font-family: Anton;
    font-size: 40px;
    box-shadow: none;
}

.menu-feature-section {
    width: 100%;
    padding: 0px;
    background: rgb(255, 255, 255);
}

.menu-feature-container {
    width: 100%;
    max-width: 1200px;
    margin: 0px auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.menu-card {
    width: 100%;
    text-align: center;
}

.menu-card__image {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: block;
    object-fit: cover;
    border-radius: 10px;
}

.menu-card__title {
    margin: 20px 0px 8px;
    font-family: "BT Beau Sans", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    color: rgb(159, 4, 6);
    text-align: center;
    text-transform: uppercase;
}

.menu-card__desc {
    max-width: 380px;
    margin: 0px auto;
    font-family: "BT Beau Sans", Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    color: rgb(51, 51, 51);
    text-align: center;
}

.menu-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 144px;
    min-height: 43px;
    margin-top: 14px;
    padding: 10px 30px;
    border-radius: 43px;
    background: rgb(252, 226, 108);
    font-family: "BT Beau Sans", Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    color: rgb(159, 4, 6);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.25s, background-color 0.25s;
}

.menu-card__button:hover {
    background: rgb(255, 194, 51);
    transform: translateY(-2px);
}

.social-section {
    width: 100%;
}

.social-section__container {
    width: 100%;
    max-width: 1200px;
    margin: 0px auto;
    text-align: center;
}

.social-section__title {
    margin: 0px;
    font-family: Anton, Arial, sans-serif;
    font-size: 55px;
    font-weight: 400;
    line-height: 1.1;
    color: rgb(252, 226, 108);
    text-align: center;
    text-transform: uppercase;
}

.social-section__subtitle {
    margin: 24px 0px 0px;
    font-family: "BT Beau Sans", Arial, sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    color: rgb(255, 255, 255);
    text-align: center;
    text-transform: uppercase;
}

.social-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 100px;
    margin: 22px auto 0px;
}

.social-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.social-item__title {
    margin: 0px 0px 16px;
    font-family: "BT Beau Sans", Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    color: rgb(255, 255, 255);
    text-align: center;
    text-transform: capitalize;
    white-space: nowrap;
}

.social-item__icon-link {
    width: 100px;
    height: 100px;
    display: block;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.25s, opacity 0.25s;
}

.social-item__icon-link:hover {
    transform: translateY(-4px);
    opacity: 0.9;
}

.social-item__icon {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 10px;
}

.social-item__icon--tiktok {
    object-fit: cover;
}

.social-item__icon--youtube {
    object-fit: cover;
}

.social-item__button {
    margin: 20px auto;
    padding: 10px;
    display: block;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgb(252, 226, 108);
    text-align: center;
    text-decoration: none;
    text-transform: capitalize;
    transition: transform 0.25s, background-color 0.25s;
}

.social-item__button h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    color: rgb(159, 4, 6);
}

.social-item__button:hover {
    background: rgb(255, 194, 51);
    transform: translateY(-3px);
}

.social-item__arrow {
    width: 14px;
    height: 8px;
    display: block;
    background-image: url("../images/down_link.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    margin: 0px auto;
    cursor: pointer;
}

.social-item__arrow--up {
    margin-top: 13px;
}

.social-item__arrow--down {
    margin-top: 8px;
    transform: rotate(180deg);
}

.name-link a {
    display: none;
}

.name-link a:first-child {
    display: block;
}

.social-item__button.active {
    display: block;
}

.info-news {
    width: 100%;
    padding: 40px 0px;
    background: rgb(255, 248, 223);
}

.info-video {
    padding: 30px 0px;
}

.video-showcase {
    position: relative;
}

.video-showcase__grid {
    position: relative;
    max-width: 1010px;
    margin: 40px auto 0px;
    z-index: 1;
}

.video-showcase__grid::after {
    content: "";
    position: absolute;
    left: -40px;
    right: -40px;
    top: -70px;
    height: 50%;
    border: 2px solid rgb(159, 4, 6);
    border-radius: 20px;
    z-index: -1;
}

.video-card {
    position: relative;
    z-index: 99;
    display: block;
    overflow: hidden;
    border-radius: 18px;
    color: rgb(255, 255, 255);
    background: rgb(47, 32, 23);
}

.video-card::before {
    content: "";
    position: absolute;
    inset: 0px;
    background: linear-gradient(rgba(0, 0, 0, 0.04) 25%, rgba(0, 0, 0, 0.72) 100%);
    z-index: 1;
    pointer-events: none;
}

.video-card img {
    width: 100%;
    min-height: 100px;
    object-fit: cover;
    height: 100% !important;
}

.video-card--featured {
    min-height: 300px;
    border-radius: 16px;
}

.video-card--small {
    border-radius: 14px;
}

.video-card__content {
    position: absolute;
    right: 14px;
    bottom: 12px;
    left: 14px;
    z-index: 2;
}

.video-card__content_name {
    font-size: 15px;
    color: rgb(51, 51, 51);
    text-align: center;
}

.video-card__title {
    display: block;
    font-size: 18px;
    color: rgb(255, 255, 255);
    text-shadow: rgba(0, 0, 0, 0.4) 0px 2px 10px;
}

.video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.88);
    color: rgb(179, 27, 23);
    transform: translate(-50%, -50%);
    transition: transform 0.25s, background-color 0.25s;
}

.video-card__play i {
    font-size: 16px;
    transform: translateX(1px);
}

.video-card__play--featured {
    width: 58px;
    height: 58px;
    background: rgb(239, 51, 64);
    color: rgb(255, 255, 255);
}

.video-card__play--featured i {
    font-size: 18px;
}

.video-card:hover .video-card__play {
    transform: translate(-50%, -50%) scale(1.08);
    background: rgb(252, 226, 108);
    color: rgb(159, 4, 6);
}

.newsnb-wrap {
    width: 100%;
}

.info-news .wrap-content {
    width: 100%;
    max-width: 1200px;
    margin: 0px auto;
}

.home-news-video {
    --home-news-panel-height: 420px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 28px;
    align-items: stretch;
}

.home-news-video__col {
    display: flex;
    flex-direction: column;
    min-width: 0px;
    height: 100%;
}

.title-main--left {
    text-align: left;
}

.title-main--left h2,
.title-main--left p {
    text-align: left;
}

.newsnb--vertical {
    flex: 1 1 0%;
    min-height: 0px;
    padding: 2px;
}

.newsnb--vertical .splide__track {
    height: var(--home-news-panel-height) !important;
}

.home-news-card {
    padding: 10px;
    border: 1px solid rgba(109, 2, 1, 0.08);
    border-radius: 8px;
    background: rgb(255, 255, 255);
}

.home-news-card.news-side-item {
    grid-template-columns: 160px minmax(0px, 1fr);
    gap: 12px;
    align-items: center;
    border-bottom: 0px;
}

.home-news-card .news-side-photo {
    border-radius: 8px;
}

.home-video-player {
    display: flex;
    flex-direction: column;
    flex: 1 1 0%;
    min-height: var(--home-news-panel-height);
    padding: 14px;
    border: 1px solid rgba(109, 2, 1, 0.08);
    border-radius: 8px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(49, 15, 8, 0.08) 0px 10px 24px;
}

.home-video-player__frame {
    position: relative;
    display: block;
    flex: 1 1 0%;
    min-height: 0px;
    overflow: hidden;
    border-radius: 8px;
    background: rgb(17, 17, 17);
}

.home-video-player__thumb {
    display: block;
    width: 100%;
    height: 100%;
    border: 0px;
    object-fit: cover;
    transition: transform 0.35s;
}

.home-video-player__frame::after {
    content: "";
    position: absolute;
    inset: 0px;
    background: rgba(0, 0, 0, 0.18);
    transition: background 0.25s;
}

.home-video-player__play {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    color: rgb(255, 255, 255);
    background: rgba(109, 2, 1, 0.88);
    transform: translate(-50%, -50%);
    box-shadow: rgba(0, 0, 0, 0.28) 0px 12px 28px;
}

.home-video-player__play i {
    margin-left: 4px;
    font-size: 24px;
}

.home-video-player__frame:hover .home-video-player__thumb {
    transform: scale(1.05);
}

.home-video-player__frame:hover::after {
    background: rgba(0, 0, 0, 0.28);
}

.home-video-player__title {
    margin: 14px 0px 12px;
    color: rgb(109, 2, 1);
    font-size: 18px;
    line-height: 1.4;
}

.home-video-select {
    width: 100%;
    min-height: 42px;
    padding: 0px 12px;
    border: 1px solid rgba(109, 2, 1, 0.18);
    border-radius: 8px;
    color: rgb(51, 51, 51);
    background: rgb(255, 255, 255);
    outline: none;
}

.home-video-select:focus {
    border-color: rgba(109, 2, 1, 0.42);
    box-shadow: rgba(109, 2, 1, 0.08) 0px 0px 0px 3px;
}

.newsnb .splide__track {
    overflow: hidden;
}

.newsnb .splide__list {
    align-items: stretch;
}

.newsnb .splide__slide {
    height: auto;
}

.grid-news {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 32px 24px;
    align-items: stretch;
}

.grid-news .news-item {
    min-width: 0px;
}

.news-item {
    width: 100%;
    height: 100%;
}

.news-item>a {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: rgba(28, 28, 28, 0.75);
    backdrop-filter: blur(20px);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 8px 24px;
    color: inherit;
    text-decoration: none;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s, border-color 0.35s;
    animation: 3.6s ease-in-out 0s infinite normal none running newsItemFloat;
}

.news-item>a:hover {
    border-color: rgba(253, 139, 15, 0.5);
    box-shadow: rgba(0, 0, 0, 0.25) 0px 16px 40px, rgba(253, 139, 15, 0.15) 0px 0px 25px;
    transform: translateY(-10px);
    animation-play-state: paused;
}

@keyframes newsItemFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-5px);
    }
}

.news-item__pic {
    width: 100%;
    aspect-ratio: 400 / 300;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.3);
}

.news-item__pic .scale-img,
.news-item__pic .img-item-news {
    width: 100%;
    height: 100%;
}

.news-item__pic img,
.news-item__pic picture,
.news-item__pic .w-100 {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.news-item__info {
    position: relative;
    display: flex;
    flex: 1 1 0%;
    flex-direction: column;
    padding: 18px;
}

.news-item__info::before {
    display: none;
}

.news-item__name {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    transition: color 0.35s;
}

.news-item__desc {
    color: rgba(255, 255, 255, 0.65);
}

.news-item__next {
    position: relative;
    display: inline-flex;
    width: fit-content;
    min-width: 120px;
    margin: 18px 0px 0px;
    padding: 0px 16px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: linear-gradient(90deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    font-family: var(--font-family);
    line-height: 40px;
    color: rgb(255, 255, 255);
    text-align: center;
    text-decoration: none;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s;
}

.news-item__next::before {
    display: none;
}

.news-item__next::after {
    display: none;
}

.news-item__next span {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    color: rgba(255, 255, 255, 0.85);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.news-item>a:hover .news-item__next span {
    transform: translateX(4px);
}

.news-item>a:hover .news-item__pic img {
    transform: scale(1.08);
}

.news-item__pic img {
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.news-item>a:hover .news-item__name {
    color: var(--color-main);
}

.news-item>a:hover .news-item__next {
    transform: translateY(-3px);
    box-shadow: rgba(210, 94, 56, 0.4) 0px 8px 20px;
}

.f-flipbook {
    display: block;
    position: relative;
    background: url("../images/bg_book.png") center center / 100% 100% no-repeat;
    max-width: 1083px;
    padding: 4% 5% 2%;
    margin: 0px auto;
}

.f-flipbook .shadow {
    box-shadow: none !important;
}

.flipbook {
    max-width: 100%;
    overflow: hidden;
    margin: auto !important;
}

.f-flipbook button {
    position: absolute;
    top: 50%;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    background: transparent;
    width: 55px;
    height: 35px;
    z-index: 0;
}

.f-flipbook .turn-next {
    right: -60px;
}

.f-flipbook .turn-prev {
    left: -60px;
    transform: rotate(180deg);
}

.flipbook-viewport .page {
    width: 420px;
    height: 645px;
    background-color: rgb(255, 255, 255);
    background-repeat: no-repeat;
    background-size: 95%;
}

.page-wrapper {
    max-width: 420px;
    transition: 0.5s;
}

.flipbook-viewport .page img {
    user-select: none;
    margin: 0px;
}

.flipbook-viewport .shadow {
    transition: -webkit-box-shadow 0.5s;
    box-shadow: rgb(204, 204, 204) 0px 0px 20px;
}

.home-hero {
    position: relative;
    overflow: hidden;
    min-height: 899px;
    background: radial-gradient(circle at 55% 38%, rgba(255, 239, 214, 0.28) 0px, rgba(255, 239, 214, 0.06) 18%, rgba(0, 0, 0, 0) 38%), linear-gradient(rgba(15, 10, 8, 0.55) 0%, rgba(15, 10, 8, 0.72) 100%), url("../images/bg_album.png") center center / cover no-repeat;
}

.home-hero::before {
    content: "";
    position: absolute;
    inset: 0px;
    background: linear-gradient(rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.45) 100%);
    pointer-events: none;
}

.home-hero__overlay {
    position: absolute;
    inset: 0px;
    pointer-events: none;
}

.home-hero__overlay--dark {
    background: rgba(18, 10, 8, 0.34);
}

.home-hero__overlay--warm {
    background: radial-gradient(circle at 50% 55%, rgba(245, 201, 150, 0.32) 0%, rgba(245, 201, 150, 0.08) 20%, rgba(0, 0, 0, 0) 50%);
    mix-blend-mode: screen;
}

.home-hero__wrap {
    position: relative;
    z-index: 2;
    min-height: inherit;
    display: grid;
    grid-template-columns: minmax(0px, 1fr) minmax(420px, 0.95fr);
    align-items: center;
    gap: 28px;
    padding-top: 78px;
    padding-bottom: 64px;
}

.home-hero__content {
    max-width: 560px;
    color: rgb(254, 240, 223);
    text-shadow: rgba(0, 0, 0, 0.25) 0px 3px 14px;
}

.home-hero__eyebrow {
    display: inline-block;
    margin: 0px 0px 14px;
    font-size: clamp(70px, 7vw, 115px);
    line-height: 0.9;
    background: linear-gradient(90deg, rgb(255, 240, 203) 0%, rgb(216, 160, 102) 55%, rgb(145, 86, 51) 100%) text;
    -webkit-text-fill-color: transparent;
    transform: translateX(-8px);
}

.home-hero__title {
    margin: 0px;
    font-size: clamp(66px, 5.7vw, 96px);
    line-height: 0.96;
    color: rgb(244, 208, 164);
    text-transform: none;
    letter-spacing: 0.01em;
}

.home-hero__subtitle {
    margin: 14px 0px 0px;
    max-width: 460px;
    font-size: clamp(22px, 2.6vw, 38px);
    line-height: 1.12;
    color: rgb(217, 165, 122);
    background: linear-gradient(90deg, rgb(255, 213, 159) 0%, rgb(155, 102, 77) 100%) text;
    -webkit-text-fill-color: transparent;
}

.home-hero__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.home-hero__button,
.home-hero__link {
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    text-transform: uppercase;
    transition: transform 0.2s, background-color 0.2s, color 0.2s;
}

.home-hero__button {
    background: rgb(252, 226, 108);
    color: rgb(159, 4, 6);
    box-shadow: rgba(0, 0, 0, 0.18) 0px 10px 24px;
}

.home-hero__button:hover {
    background: rgb(255, 210, 51);
    transform: translateY(-2px);
    color: rgb(141, 3, 5);
}

.home-hero__link {
    border: 1px solid rgba(252, 226, 108, 0.55);
    color: rgb(255, 240, 204);
    background: rgba(0, 0, 0, 0.16);
    backdrop-filter: blur(4px);
}

.home-hero__link:hover {
    background: rgba(252, 226, 108, 0.14);
    transform: translateY(-2px);
    color: rgb(255, 255, 255);
}

.home-hero__visual {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-hero__frame {
    position: relative;
    z-index: 2;
    width: min(100%, 620px);
    aspect-ratio: 0.95 / 1;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.32) 0px 24px 60px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.12);
}

.home-hero__image,
.home-hero__fallback {
    width: 100%;
    object-fit: cover;
    display: block;
    height: 100% !important;
}

.home-hero__fallback {
    background: radial-gradient(circle at 30% 30%, rgba(252, 226, 108, 0.35) 0px, rgba(252, 226, 108, 0.35) 10%, transparent 28%), radial-gradient(circle at 60% 40%, rgba(255, 210, 176, 0.28) 0px, rgba(255, 210, 176, 0.28) 12%, transparent 34%), linear-gradient(135deg, rgb(107, 58, 34) 0%, rgb(44, 22, 16) 100%);
}

.home-hero__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(0px);
    pointer-events: none;
}

.home-hero__orb--one {
    width: 340px;
    height: 340px;
    left: 8%;
    top: 12%;
    background: radial-gradient(circle, rgba(236, 225, 201, 0.22) 0%, rgba(236, 225, 201, 0.08) 55%, rgba(236, 225, 201, 0) 72%);
    opacity: 0.7;
}

.home-hero__orb--two {
    width: 260px;
    height: 260px;
    right: 3%;
    bottom: 10%;
    background: radial-gradient(circle, rgba(255, 220, 177, 0.24) 0%, rgba(255, 220, 177, 0.08) 48%, rgba(255, 220, 177, 0) 72%);
    opacity: 0.75;
}

.home-hero__wrap,
.home-hero__content,
.home-hero__visual,
.home-hero__frame {
    min-width: 0px;
}

.home-hero+.info-about {
    margin-top: 0px;
}

.video-page {
    padding: 12px 0px 34px;
}

.video-page .title-main {
    margin-bottom: 26px;
}

.video-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 22px;
}

.video-list-card {
    display: block;
    height: 100%;
    color: inherit;
    background: rgb(255, 255, 255);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.06) 0px 10px 26px;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}

.video-list-card:hover {
    color: inherit;
    border-color: rgba(184, 32, 37, 0.24);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 16px 34px;
    transform: translateY(-4px);
}

.video-list-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    background: rgb(243, 243, 243);
    overflow: hidden;
}

.video-list-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s;
}

.video-list-card:hover .video-list-card__media img {
    transform: scale(1.055);
}

.video-list-card__media::after {
    content: "";
    position: absolute;
    inset: 0px;
    background: linear-gradient(rgba(0, 0, 0, 0) 38%, rgba(0, 0, 0, 0.46) 100%);
    pointer-events: none;
}

.video-list-card__play {
    position: absolute;
    inset: 0px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-list-card__play span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    color: rgb(255, 255, 255);
    background: rgb(184, 32, 37);
    box-shadow: rgba(184, 32, 37, 0.34) 0px 10px 22px;
    transition: transform 0.25s, background 0.25s;
}

.video-list-card:hover .video-list-card__play span {
    background: rgb(148, 23, 27);
    transform: scale(1.08);
}

.video-list-card__body {
    padding: 14px 16px 16px;
}

.video-list-card__title {
    min-height: 48px;
    margin: 0px;
    color: rgb(31, 31, 31);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.video-list-card__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    color: rgb(119, 119, 119);
}

.video-empty {
    padding: 26px 20px;
    border: 1px dashed rgba(0, 0, 0, 0.16);
    border-radius: 8px;
    color: rgb(85, 85, 85);
    text-align: center;
    background: rgb(250, 250, 250);
}

.menu-page {
    padding: 16px 0px 42px;
}

.menu-page__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.menu-page__eyebrow {
    display: block;
    margin-bottom: 6px;
    color: rgb(168, 117, 0);
    letter-spacing: 0px;
    text-transform: uppercase;
}

.menu-page__sort {
    position: relative;
    flex: 0 0 auto;
}

.menu-page__sort-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0px 16px;
    border: 1px solid rgba(159, 4, 6, 0.18);
    border-radius: 8px;
    color: rgb(44, 44, 44);
    background: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 8px 22px;
    cursor: pointer;
}

.menu-page__sort-toggle strong {
    color: var(--chinh);
    font-weight: 700;
}

.menu-page__sort-toggle i {
    color: var(--chinh);
    font-size: 11px;
}

.menu-page__sort-panel {
    position: absolute;
    right: 0px;
    top: calc(100% + 8px);
    z-index: 20;
    min-width: 210px;
    padding: 8px;
    border: 1px solid rgba(159, 4, 6, 0.12);
    border-radius: 8px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0.12) 0px 16px 32px;
}

.menu-page__sort-panel p {
    margin: 0px;
}

.menu-page__sort-panel a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 6px;
    color: rgb(51, 51, 51);
    cursor: pointer;
}

.menu-page__sort-panel a:hover,
.menu-page__sort-panel a.check {
    color: var(--chinh);
    background: rgb(255, 244, 208);
}

.menu-page__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 17px;
}

.menu-page__grid.custom .productNB__item h3 a {
    color: rgb(0, 0, 0);
}

.menu-product-card {
    min-width: 0px;
    overflow: hidden;
    background: rgb(255, 255, 255);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.06) 0px 10px 26px;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}

.menu-product-card:hover {
    border-color: rgba(159, 4, 6, 0.24);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 16px 34px;
    transform: translateY(-4px);
}

.menu-product-card__link {
    display: block;
    color: inherit;
}

.menu-product-card__link:hover {
    color: inherit;
}

.menu-product-card__photo {
    position: relative;
    aspect-ratio: 1 / 1;
    background: rgb(244, 244, 244);
    overflow: hidden;
}

.menu-product-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s;
}

.menu-product-card:hover .menu-product-card__photo img {
    transform: scale(1.055);
}

.menu-product-card__body {
    padding: 14px 15px 16px;
    text-align: center;
}

.menu-product-card__name {
    margin: 0px;
    font-size: 15px;
    line-height: 1.45;
    text-transform: uppercase;
}

.menu-product-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    margin-top: 13px;
    padding: 0px 16px;
    border-radius: 999px;
    color: rgb(159, 4, 6);
    background: rgb(252, 226, 108);
    text-transform: uppercase;
    transition: color 0.2s, background 0.2s;
}

.menu-product-card a:hover .menu-product-card__action {
    color: rgb(255, 255, 255);
    background: rgb(159, 4, 6);
}

.menu-product-card__price {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 28px;
    margin-top: 8px;
}

.menu-product-card__price-new {
    color: rgb(159, 4, 6);
    font-size: 17px;
    font-weight: 700;
}

.menu-product-card__price-old {
    color: rgb(138, 138, 138);
    text-decoration: line-through;
}

.menu-product-card__discount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0px 8px;
    border-radius: 999px;
    color: rgb(255, 255, 255);
    background: rgb(6, 158, 52);
    font-size: 12px;
    font-weight: 700;
}

.menu-product-card__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 0px 12px 12px;
}

.menu-product-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0px;
    min-height: 40px;
    padding: 7px 9px;
    border: 1px solid rgb(159, 4, 6);
    border-radius: 7px;
    font-size: 13px;
    line-height: 1.2;
    cursor: pointer;
    transition: color 0.2s, background 0.2s, transform 0.2s;
}

.menu-product-card__btn--cart {
    color: rgb(159, 4, 6);
    background: rgb(255, 255, 255);
}

.menu-product-card__btn--buy {
    color: rgb(255, 255, 255);
    background: rgb(159, 4, 6);
}

.menu-product-card__btn:hover {
    transform: translateY(-1px);
}

.menu-product-card__btn--cart:hover {
    color: rgb(255, 255, 255);
    background: rgb(159, 4, 6);
}

.menu-product-card__btn--buy:hover {
    border-color: rgb(252, 226, 108);
    color: rgb(159, 4, 6);
    background: rgb(252, 226, 108);
}

.menu-page__empty {
    padding: 26px 20px;
    border: 1px dashed rgba(0, 0, 0, 0.16);
    border-radius: 8px;
    color: rgb(85, 85, 85);
    text-align: center;
    background: rgb(250, 250, 250);
}

.prodetail {
    padding: 16px 0px 48px;
}

.prodetail__header {
    grid-template-columns: minmax(0px, 46%) minmax(0px, 1fr);
    gap: 32px;
    align-items: start;
    margin-bottom: 32px;
}

.prodetail__gallery,
.prodetail__info {
    min-width: 0px;
}

.prodetail__thumb {
    margin-bottom: 16px;
    border: 1px solid rgb(236, 236, 236);
    border-radius: 8px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0.07) 0px 12px 28px;
}

.prodetail__thumb .splide__slide a {
    display: block;
    aspect-ratio: 1 / 1;
    background: rgb(247, 247, 247);
}

.prodetail__thumb img,
.product_nav_placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.prodetail__nav .splide__slide {
    border: 1px solid rgb(236, 236, 236);
    border-radius: 8px;
    background: rgb(255, 255, 255);
}

.prodetail__nav .splide__slide.is-active {
    border-color: rgb(159, 4, 6) !important;
}

.product_nav_placeholder {
    aspect-ratio: 1 / 1;
    background: rgb(247, 247, 247);
}

.prodetail__info {
    padding: 32px;
    border-radius: 8px;
    backdrop-filter: blur(25px);
    background: rgba(28, 28, 28, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 28px;
}

.prodetail__title {
    margin: 0px 0px 16px;
    color: var(--chinh);
    font-size: 32px;
    line-height: 1.25;
}

.prodetail__option {
    gap: 8px 12px;
    margin: 0px 0px 16px;
    color: rgb(255, 255, 255);
}

.prodetail__option li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.prodetail__option li.line {
    color: rgb(215, 215, 215);
}

.prodetail__option label {
    margin: 0px;
}

.prodetail__option li span {
    color: var(--chinh);
    font-weight: 700;
}

.prodetail__price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 16px 0px 24px;
}

.prodetail__price-new {
    font-size: 25px;
    line-height: 1;
}

.prodetail__price-old {
    margin: 0px;
    color: rgb(138, 138, 138);
    font-size: 16px;
    text-decoration: line-through;
}

.prodetail__price-discount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0px 10px;
    border-radius: 999px;
    color: rgb(255, 255, 255);
    background: rgb(208, 2, 27);
    font-weight: 700;
}

.prodetail__price-discount::before {
    display: none;
}

.prodetail__desc {
    margin: 0px 0px 24px;
    padding: 16px;
    border: 1px solid rgb(240, 240, 240);
    border-radius: 8px;
    color: rgb(85, 85, 85);
    background: rgb(250, 250, 250);
    line-height: 1.65;
}

.prodetail__actions {
    gap: 12px;
    margin: 24px 0px;
}

.prodetail__btn {
    min-height: 48px;
    padding: 10px 16px;
    border-radius: 8px;
    border-width: 1px;
    box-shadow: none;
}

.prodetail__btn:hover {
    transform: translateY(-1px);
}

.prodetail__btn svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
}

.prodetail__btn--hotline {
    background: var(--chinh);
    border-color: var(--chinh);
}

.prodetail__btn--add {
    color: var(--chinh);
    background: rgb(255, 255, 255);
    border-color: rgba(143, 3, 5, 0.28);
}

.prodetail__btn--buy {
    color: var(--chinh);
    background: rgb(252, 226, 108);
    border-color: rgb(252, 226, 108);
}

.prodetail__btn--zalo {
    justify-content: center;
    background: rgb(0, 104, 255);
    border-color: rgb(0, 104, 255);
}

.prodetail__attribute {
    margin-bottom: 24px;
}

.prodetail__attribute-label,
.prodetail__qty-group label {
    color: rgb(43, 43, 43);
}

.prodetail__attribute-list {
    gap: 8px;
}

.prodetail__attribute-btn:hover {
    border-color: var(--chinh);
}

.prodetail__attribute-btn.active {
    color: var(--chinh);
    border-color: var(--chinh);
    background: rgb(255, 244, 208);
}

.prodetail__attribute-check {
    background: var(--chinh);
}

.prodetail__qty-group {
    gap: 16px;
    margin: 24px 0px;
}

.prodetail__qty-group label {
    margin: 0px;
}

.prodetail__qty-control {
    border-color: rgb(230, 230, 230);
    border-radius: 8px;
}

.prodetail__qty-btn,
.prodetail__qty-input {
    width: 42px;
    height: 40px;
}

.prodetail__qty-btn {
    background: rgb(250, 250, 250);
}

.prodetail__qty-btn:hover {
    color: var(--chinh);
    background: rgb(255, 244, 208);
}

.prodetail__social {
    align-items: center;
    gap: 12px;
    margin: 24px 0px 0px;
    padding-top: 16px;
    border-top: 1px solid rgb(236, 236, 236);
}

.prodetail__social-title {
    font-weight: 700;
}

.prodetail__tabs {
    margin-top: 0px;
    padding: 24px;
    border-radius: 8px;
    backdrop-filter: blur(25px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 28px;
    background: rgba(28, 28, 28, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.prodetail__tab-header {
    gap: 24px;
    margin-bottom: 24px;
    border-color: rgba(143, 3, 5, 0.16);
}

.prodetail__tab-header li {
    color: rgb(68, 68, 68);
}

.prodetail__tab-header li.active {
    color: var(--chinh);
}

.prodetail__tab-header li::after {
    background: var(--chinh);
}

.prodetail__detail-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
    margin-top: 32px;
}

.prodetail__content-wrap {
    position: relative;
    max-height: 360px;
    overflow: hidden;
    transition: max-height 0.35s;
}

.prodetail__content-wrap.is-expanded {
    max-height: none;
}

.prodetail__content-wrap.is-expanded::after {
    opacity: 0;
}

.prodetail__content-action {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.prodetail__content-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 132px;
    min-height: 40px;
    padding: 0px 18px;
    border: 1px solid rgba(143, 3, 5, 0.2);
    border-radius: 999px;
    color: var(--chinh);
    background: rgb(255, 244, 208);
    cursor: pointer;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.prodetail__content-toggle:hover {
    color: rgb(255, 255, 255);
    border-color: var(--chinh);
    background: var(--chinh);
}

.prodetail__content-toggle i {
    font-size: 11px;
    transition: transform 0.2s;
}

.prodetail__content-toggle i.is-active {
    transform: rotate(180deg);
}

.prodetail__related {
    margin-top: 40px;
}

.prodetail__hot {
    padding: 24px;
    border: 1px solid rgb(236, 236, 236);
    border-radius: 8px;
    background: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 10px 24px;
}

.prodetail__hot-title {
    margin: 0px 0px 14px;
    color: var(--chinh);
    text-transform: uppercase;
    font-size: 18px;
}

.prodetail__hot-list {
    display: grid;
    gap: 12px;
}

.prodetail-hot-slider {
    height: 478px;
}

.prodetail-hot-slider .splide__track {
    height: 100%;
}

.prodetail__hot-item {
    display: grid;
    grid-template-columns: 86px minmax(0px, 1fr);
    gap: 10px;
    color: rgb(34, 34, 34);
}

.prodetail__hot-photo {
    display: block;
    overflow: hidden;
    border: 1px solid rgb(236, 236, 236);
    border-radius: 6px;
    background: rgb(255, 255, 255);
    aspect-ratio: 1 / 1;
}

.prodetail__hot-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s;
}

.prodetail__hot-item:hover .prodetail__hot-photo img {
    transform: scale(1.06);
}

.prodetail__hot-info {
    display: grid;
    align-content: start;
    gap: 6px;
    min-width: 0px;
}

.prodetail__hot-name {
    color: rgb(34, 34, 34);
    font-weight: 700;
    line-height: 1.35;
}

.prodetail__hot-item:hover .prodetail__hot-name {
    color: var(--chinh);
}

.prodetail__hot-price {
    color: var(--chinh);
    font-weight: 700;
}

.info-partner {
    padding: 30px 0px;
    background: rgb(255, 255, 255);
}

.partner-slider {
    margin-top: 24px;
}

.partner-slider__item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 110px;
    padding: 16px;
    border: 1px solid rgb(236, 236, 236);
    border-radius: 8px;
    background: rgb(255, 255, 255);
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.partner-slider__item:hover {
    border-color: rgba(143, 3, 5, 0.22);
    background-color: rgb(255, 250, 240);
    box-shadow: rgba(143, 3, 5, 0.12) 0px 0px 0px 1px inset;
}

.partner-slider__image {
    width: 100%;
    max-width: 220px;
    max-height: 110px;
    object-fit: contain;
}

.info-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
}

.info-tags a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    border-radius: 999px;
    background: rgb(248, 249, 250);
    border: 1px solid rgb(229, 231, 235);
    color: rgb(51, 51, 51);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    transition: 0.25s;
}

.info-tags a i {
    font-size: 13px;
    color: rgb(242, 76, 62);
    transition: 0.25s;
}

.info-tags a:hover {
    background: rgb(242, 76, 62);
    border-color: rgb(242, 76, 62);
    color: rgb(255, 255, 255);
    transform: translateY(-2px);
    box-shadow: rgba(242, 76, 62, 0.22) 0px 6px 14px;
}

.info-tags a:hover i {
    color: rgb(255, 255, 255);
}

@media (max-width: 575px) {
    .info-tags {
        gap: 6px;
    }

    .info-tags a {
        padding: 6px 10px;
        font-size: 13px;
    }
}

.product-layout {
    display: flex;
    gap: 30px;
    margin-top: 20px;
}

.left-product {
    width: 300px;
    flex: 0 0 auto;
    background: rgb(255, 255, 255);
    border: 1px solid rgb(236, 236, 236);
    border-radius: 12px;
    padding: 20px;
    box-shadow: rgba(0, 0, 0, 0.03) 0px 10px 25px;
    align-self: start;
}

.right-product {
    flex: 1 1 auto;
    min-width: 0px;
}

.sidebar-filter__title {
    font-size: 18px;
    font-weight: 700;
    color: rgb(159, 4, 6);
    border-bottom: 2px solid rgb(159, 4, 6);
    padding-bottom: 10px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
}

.danhmuccapName {
    font-family: var(--font-family);
    font-weight: 800;
    font-size: 22px;
    text-transform: uppercase;
    color: rgb(0, 0, 0);
    padding: 12px 0px;
    margin-bottom: 16px;
    border-bottom: 3px solid var(--chinh);
    position: relative;
}

.danhmuccapName::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0px;
    width: 50px;
    height: 3px;
    background: rgb(217, 0, 0);
    animation: 2s ease-in-out 0s infinite normal none running danhmuccapBar;
}

@keyframes danhmuccapBar {

    0%,
    100% {
        width: 50px;
        left: 0px;
    }

    50% {
        width: 100%;
        left: 0px;
    }
}

.sidebar-filter ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
}

.sidebar-filter ul li {
    position: relative;
}

.sidebar-filter ul li a {
    display: block;
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 14px;
    color: rgb(51, 51, 51);
    padding: 10px 14px;
    border-radius: 8px;
    transition: color 0.35s, transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.35s, padding-left 0.35s;
}

.sidebar-filter ul li a:hover {
    color: var(--chinh);
    background: rgba(0, 64, 208, 0.06);
    transform: translateX(6px);
    padding-left: 20px;
}

.sidebar-filter>ul>li>a {
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    color: rgb(17, 17, 17);
    padding: 12px 14px;
    margin-bottom: 2px;
}

.sidebar-filter>ul>li>a:hover {
    color: var(--chinh);
    background: rgba(0, 64, 208, 0.08);
    padding-left: 20px;
}

.sidebar-filter ul li ul {
    padding-left: 12px;
}

.sidebar-filter ul li ul li a {
    font-weight: 400;
    font-size: 13px;
    color: rgb(85, 85, 85);
    padding: 8px 14px;
}

.sidebar-filter ul li ul li a:hover {
    color: var(--chinh);
    background: rgba(0, 64, 208, 0.05);
}

.sidebar-filter ul li ul li ul {
    padding-left: 8px;
}

.sidebar-filter ul li ul li ul li a {
    font-size: 12px;
    color: rgb(119, 119, 119);
    padding: 6px 14px;
}

.sidebar-filter ul li ul li ul li a:hover {
    color: var(--chinh);
}

.sidebar-filter__mobile-header {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
    margin-bottom: 15px;
    border-bottom: 1px solid rgb(238, 238, 238);
}

.sidebar-filter__mobile-header strong {
    font-size: 18px;
    color: rgb(51, 51, 51);
}

.filter-close-btn {
    background: none;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    font-size: 20px;
    color: rgb(102, 102, 102);
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.filter-group {
    margin-bottom: 20px;
    border-bottom: 1px solid rgb(242, 242, 242);
    padding-bottom: 15px;
}

.filter-group:last-child {
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

.filter-group__title {
    font-size: 15px;
    font-weight: 700;
    color: rgb(51, 51, 51);
    margin-bottom: 12px;
}

.filter-group__content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter-item {
    display: flex;
    align-items: center;
}

.filter-item__label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: rgb(85, 85, 85);
    cursor: pointer;
    width: 100%;
    user-select: none;
}

.filter-item__label input {
    width: 18px;
    height: 18px;
    accent-color: rgb(159, 4, 6);
    cursor: pointer;
    flex-shrink: 0;
}

.filter-item__label span {
    transition: color 0.2s, font-weight 0.2s;
}

.filter-item__label input:checked+span {
    color: rgb(159, 4, 6);
    font-weight: 700;
}

.filter-mobile-btn-wrap {
    display: none;
    margin-bottom: 20px;
}

.filter-mobile-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgb(159, 4, 6);
    color: rgb(255, 255, 255);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: rgba(159, 4, 6, 0.2) 0px 6px 16px;
    transition: transform 0.2s, background 0.2s;
}

.filter-mobile-btn:hover {
    background: rgb(133, 3, 5);
    transform: translateY(-1px);
}

@media (max-width: 991px) {
    .product-layout {
        flex-direction: column;
        gap: 20px;
    }

    .left-product {
        position: fixed;
        left: -320px;
        top: 0px;
        bottom: 0px;
        width: 300px;
        z-index: 9999;
        margin: 0px;
        border-radius: 0px;
        border-width: medium;
        border-style: none;
        border-color: currentcolor;
        border-image: none;
        box-shadow: rgba(0, 0, 0, 0.15) 10px 0px 30px;
        overflow-y: auto;
        transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .left-product.show {
        left: 0px;
    }

    .sidebar-filter__mobile-header {
        display: flex;
    }

    .filter-mobile-btn-wrap {
        display: none;
        margin: 0px;
    }
}

.bean-header__search {
    position: relative;
    overflow: visible !important;
}

.bean-header__search-input {
    border-top-left-radius: 999px;
    border-bottom-left-radius: 999px;
}

.bean-header__search-button {
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px;
}

.show-search {
    position: absolute;
    top: calc(100% + 8px);
    left: 0px;
    width: 100%;
    max-height: 400px;
    overflow-y: auto;
    background: rgb(255, 255, 255);
    border: 1px solid rgba(159, 4, 6, 0.15);
    border-radius: 12px;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 12px 36px;
    z-index: 1000;
    padding: 8px 0px;
    display: none;
}

.box-search {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 16px;
    border-bottom: 1px solid rgb(245, 245, 245);
    transition: background-color 0.25s;
}

.box-search:last-child {
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
}

.box-search:hover {
    background-color: rgb(255, 248, 248);
}

.pic-search {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid rgb(238, 238, 238);
}

.pic-search img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ds-item-search {
    flex: 1 1 auto;
    min-width: 0px;
}

.ds-item-search .name-product {
    margin: 0px 0px 4px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.ds-item-search .name-product a {
    color: rgb(51, 51, 51);
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ds-item-search .name-product a:hover {
    color: rgb(159, 4, 6);
}

.price-product {
    margin: 0px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.price-product .price-new {
    color: rgb(159, 4, 6);
    font-weight: 700;
}

.price-product .price-old {
    color: rgb(136, 136, 136);
    text-decoration: line-through;
}

.price-product .price-per {
    color: rgb(6, 158, 52);
    font-weight: 700;
}

.tva2_grid {
    columns: 280px 3;
    column-gap: 20px;
    margin: 2rem 0px;
}

.tva2__item {
    break-inside: avoid;
    margin-bottom: 20px;
    border-radius: 12px;
    overflow: hidden;
    animation: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal both running tva2FadeIn;
}

.tva2__item:nth-child(1) {
    animation-delay: 0.05s;
}

.tva2__item:nth-child(2) {
    animation-delay: 0.12s;
}

.tva2__item:nth-child(3) {
    animation-delay: 0.19s;
}

.tva2__item:nth-child(4) {
    animation-delay: 0.26s;
}

.tva2__item:nth-child(5) {
    animation-delay: 0.33s;
}

.tva2__item:nth-child(6) {
    animation-delay: 0.4s;
}

.tva2__item:nth-child(7) {
    animation-delay: 0.47s;
}

.tva2__item:nth-child(8) {
    animation-delay: 0.54s;
}

.tva2__item:nth-child(9) {
    animation-delay: 0.61s;
}

.tva2__item:nth-child(10) {
    animation-delay: 0.68s;
}

.tva2__item:nth-child(11) {
    animation-delay: 0.05s;
}

.tva2__item:nth-child(12) {
    animation-delay: 0.12s;
}

.tva2__item a {
    display: block;
    overflow: hidden;
    border-radius: 12px;
}

.tva2__item_icon {
    overflow: hidden;
    border-radius: 12px;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.5s;
}

.tva2__item_icon img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.5s;
}

.tva2__item:hover .tva2__item_icon {
    transform: scale(1.04);
    filter: brightness(1.1);
}

.tva2__item:hover .tva2__item_icon img {
    transform: scale(1.06);
}

.tva2__item a::after {
    content: "";
    position: absolute;
    inset: 0px;
    border-radius: 12px;
    background: linear-gradient(transparent 50%, rgba(0, 0, 0, 0.45));
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none;
    z-index: 1;
}

.tva2__item:hover a::after {
    opacity: 1;
}

@keyframes tva2FadeIn {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.96);
    }

    100% {
        opacity: 1;
        transform: translateY(0px) scale(1);
    }
}

@media (max-width: 768px) {
    .tva2_grid {
        columns: 180px 2;
        column-gap: 12px;
    }

    .tva2__item {
        margin-bottom: 12px;
    }
}

@media (max-width: 480px) {
    .tva2_grid {
        columns: 2;
    }
}

.booking-modal {
    position: fixed;
    inset: 0px;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.35s;
}

.booking-modal.active {
    display: flex;
    pointer-events: auto;
    opacity: 1;
}

.booking-modal__backdrop {
    position: absolute;
    inset: 0px;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(12px);
}

.booking-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    background: rgb(255, 255, 255);
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 24px 64px;
    transform: scale(0.88) translateY(24px);
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.booking-modal.active .booking-modal__dialog {
    transform: scale(1) translateY(0px);
}

.booking-modal__close {
    position: absolute;
    top: 14px;
    right: 18px;
    width: 36px;
    height: 36px;
    border: 0px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.06);
    color: rgb(85, 85, 85);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s, color 0.25s;
}

.booking-modal__close:hover {
    background: var(--chinh);
    color: rgb(255, 255, 255);
}

.booking-modal__body {
    padding: 40px 32px 32px;
}

.booking-modal__form h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--chinh);
    text-align: center;
    margin: 0px 0px 28px;
}

.booking-modal__group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.booking-modal__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.booking-modal__field:nth-child(3),
.booking-modal__field:nth-child(4) {
    grid-column: span 2;
}

.booking-modal__field label {
    font-size: 13px;
    font-weight: 600;
    color: rgb(68, 68, 68);
}

.booking-modal__field input,
.booking-modal__field select {
    width: 100%;
    height: 44px;
    padding: 0px 14px;
    border: 1.5px solid rgb(224, 224, 224);
    border-radius: 10px;
    font-size: 14px;
    color: rgb(51, 51, 51);
    background: rgb(250, 250, 250);
    outline: none;
    transition: border-color 0.25s, box-shadow 0.25s, background 0.25s;
}

.booking-modal__field input:focus,
.booking-modal__field select:focus {
    border-color: var(--chinh);
    box-shadow: rgba(143, 3, 5, 0.1) 0px 0px 0px 3px;
    background: rgb(255, 255, 255);
}

.booking-modal__groups-note {
    margin: 4px 0 0;
    font-size: 12px;
    color: rgb(120, 120, 120);
}

.booking-modal__groups-note a {
    color: var(--chinh);
    font-weight: 600;
    text-decoration: none;
}

.booking-modal__groups-note a:hover {
    text-decoration: underline;
}

.was-validated .booking-modal__field input:invalid,
.was-validated .booking-modal__field select:invalid {
    border-color: rgb(220, 53, 69);
    box-shadow: rgba(220, 53, 69, 0.12) 0px 0px 0px 3px;
    background: rgb(255, 245, 245);
    animation: 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) 0s 1 normal none running shakeInvalid;
}

.was-validated .booking-modal__field input:valid,
.was-validated .booking-modal__field select:valid {
    border-color: rgb(25, 135, 84);
    box-shadow: rgba(25, 135, 84, 0.1) 0px 0px 0px 3px;
}

.booking-modal__submit {
    margin-top: 24px;
    text-align: center;
}

.booking-modal__submit button {
    width: 100%;
    height: 48px;
    border: 0px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--chinh));
    color: rgb(255, 255, 255);
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s;
}

.booking-modal__submit button:hover {
    transform: translateY(-2px);
    box-shadow: rgba(4, 33, 63, 0.35) 0px 8px 24px;
}

@media (max-width: 520px) {
    .booking-modal__group {
        grid-template-columns: 1fr;
    }

    .booking-modal__field:nth-child(3),
    .booking-modal__field:nth-child(4) {
        grid-column: span 1;
    }
}

@media (max-width: 1024px) {
    .mymenu {
        display: none;
    }

    .menu_mobi {
        display: block;
    }
}

@media (min-width: 1025px) {

    .menu_mobi_add,
    .menu_baophu {
        display: none !important;
    }
}

.productNB_pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.productNB_page_btn {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid rgba(17, 143, 32, 0.3);
    background: rgb(255, 255, 255);
    color: rgb(17, 143, 32);
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.3s, background 0.3s, color 0.3s;
}

.productNB_page_btn:hover:not(:disabled) {
    transform: translateY(-4px);
    box-shadow: rgba(17, 143, 32, 0.3) 0px 6px 18px;
    background: rgb(17, 143, 32);
    color: rgb(255, 255, 255);
}

.productNB_page_btn.active {
    background: rgb(17, 143, 32);
    color: rgb(255, 255, 255);
    border-color: rgb(17, 143, 32);
}

.productNB_page_btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.productNB_wrap.loading {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.2s;
}

.booking-modal {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: none;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s;
}

.booking-modal.active {
    display: flex;
    opacity: 1;
}

.booking-modal__backdrop {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(12px);
}

.booking-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 580px;
    max-height: 90vh;
    overflow-y: auto;
    background: rgba(28, 28, 28, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    padding: 2.5rem;
    margin: 1rem;
    transform: translateY(40px) scale(0.95);
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: rgba(0, 0, 0, 0.5) 0px 25px 80px;
}

.booking-modal.active .booking-modal__dialog {
    transform: translateY(0px) scale(1);
}

.booking-modal__close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 0px;
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(255, 255, 255);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.35s;
}

.booking-modal__close:hover {
    transform: rotate(90deg) scale(1.1);
    background: rgba(253, 139, 15, 0.2);
    color: var(--nhan);
}

.booking-modal__title {
    font-family: var(--font-family);
    font-weight: 800;
    font-size: 28px;
    color: rgb(255, 255, 255);
    margin: 0px 0px 1.75rem;
    text-align: center;
}

.booking-modal__intro {
    max-width: 620px;
    margin: -0.35rem auto 1.5rem;
    color: rgba(255, 255, 255, 0.72);
    text-align: center;
    line-height: 1.5;
}

.booking-modal__promo {
    margin: 0 0 1rem;
    padding: 10px 14px;
    border: 1px solid rgba(37, 211, 102, 0.42);
    border-radius: 12px;
    background: rgba(37, 211, 102, 0.1);
    color: #d9ffe7;
    text-align: center;
    font-size: 13px;
}

.booking-modal__requests {
    margin-top: 0.25rem;
    color: rgba(255, 255, 255, 0.78);
}

.booking-modal__requests summary {
    cursor: pointer;
    padding: 8px 0;
    font-size: 13px;
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.booking-modal__help {
    margin: 1.15rem 0 0;
    padding-bottom: 0.25rem;
    color: #f4efe7;
    text-align: center;
    font-size: 14px;
}

.booking-modal__help a {
    color: #25d366;
    font-weight: 700;
}

.booking-modal__help a + a {
    margin-left: 0.65rem;
}

.booking-modal__help-phone {
    color: #ffd08a !important;
}

.booking-modal__help-zalo {
    color: #8fc5ff !important;
}

.booking-modal__availability-note {
    margin: 0.55rem 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    line-height: 1.45;
}

.booking-modal__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.booking-modal__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.booking-modal__field label {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.booking-modal__field input,
.booking-modal__field select,
.booking-modal__field textarea {
    width: 100%;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.06);
    padding: 12px 16px;
    font-family: var(--font-family);
    font-size: 15px;
    color: rgb(255, 255, 255);
    outline: 0px;
    transition: border-color 0.35s, background 0.35s, box-shadow 0.35s;
}

.booking-modal__field input::placeholder,
.booking-modal__field textarea::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.booking-modal__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
    cursor: pointer;
}

.booking-modal__field select option {
    background: rgb(28, 28, 28);
    color: rgb(255, 255, 255);
}

.booking-modal__field select:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.booking-modal__field input:focus,
.booking-modal__field select:focus,
.booking-modal__field textarea:focus {
    border-color: var(--nhan);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: rgba(253, 139, 15, 0.15) 0px 0px 20px;
}

.booking-modal__field textarea {
    resize: vertical;
    min-height: 80px;
}

.booking-modal__submit {
    margin-top: 1.5rem;
    position: static;
    padding: 0;
}

.booking-modal__submit button {
    width: 100%;
    height: 54px;
    border-radius: 40px;
    border: 0px;
    background: linear-gradient(90deg, rgb(210, 94, 56) 0%, rgb(235, 139, 65) 100%);
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s;
}

.booking-modal__submit button::before {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 80%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2), transparent);
    transform: skewX(-25deg);
    transition: left 0.7s;
    pointer-events: none;
}

.booking-modal__submit button:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: rgba(210, 94, 56, 0.5) 0px 12px 35px, rgba(235, 139, 65, 0.35) 0px 0px 25px;
}

.booking-modal__submit button:hover::before {
    left: 120%;
}

.booking-modal__submit button:disabled,
.booking-modal__submit button.disabled,
.booking-modal__submit button[disabled] {
    background: none rgb(163, 170, 181) !important;
    color: rgb(241, 243, 245) !important;
    cursor: not-allowed !important;
    opacity: 0.65 !important;
    transform: none !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

.booking-modal__submit button:disabled::before,
.booking-modal__submit button.disabled::before,
.booking-modal__submit button[disabled]::before {
    display: none !important;
}

.booking-modal__submit button:disabled:hover,
.booking-modal__submit button.disabled:hover,
.booking-modal__submit button[disabled]:hover {
    transform: none !important;
    box-shadow: none !important;
}

.btnThucdonne a {
    transition: 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    animation: 3s ease-in-out 0s infinite normal none running btnFloat;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
}

.btnThucdonne a::after {
    content: "";
    position: absolute;
    top: 0px;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
    transform: skewX(-25deg);
    transition: none;
    z-index: 1;
}

.btnThucdonne a:hover::after {
    animation: 0.8s ease 0s 1 normal forwards running btnShine;
}

.btnThucdonne a:hover {
    transform: translateY(-8px) scale(1.06);
    box-shadow: rgba(210, 94, 56, 0.5) 0px 12px 35px, rgba(235, 139, 65, 0.35) 0px 0px 25px;
    animation-play-state: paused;
}

@keyframes btnFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes btnShine {
    0% {
        left: -100%;
    }

    100% {
        left: 150%;
    }
}

@media (max-width: 768px) {
    .btnThucdonne a {
        animation: auto ease 0s 1 normal none running none;
        bottom: unset;
        left: unset;
        display: flex;
        overflow: hidden;
        min-width: unset;
        padding: 15px 20px;
        font-size: 13px;
        margin: 0px;
        height: auto;
        line-height: 1.5;
        position: unset !important;
    }

    .btnThucdonne a:hover {
        transform: translateY(-3px) scale(1.03);
    }
}

.header-wrap.bean-header.fixed {
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 4px 20px;
    transition: background 0.3s, box-shadow 0.3s;
}

.ser-icon .process {
    display: none !important;
}

/* ==========================================================================
   Site improvements — Aug 2026
   Mobile reservation bar, guest-count chips, menu-page additions.
   ========================================================================== */

/* Rodízio "how it works" explainer */
.rodizio-how {
    padding: 88px 32px 92px;
    background: #17110c;
    color: #f4efe7;
}

.rodizio-how .headingman span {
    color: #ff9d36;
}

.rodizio-how .headingman h2 {
    color: #fff;
}

.rodizio-how__intro {
    max-width: 620px;
    margin: 0 auto 3rem;
    text-align: center;
    font-size: 1.05rem;
    color: rgba(244, 239, 231, 0.78);
}

.rodizio-how__steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
}

.rodizio-how__step {
    position: relative;
    padding: 2rem 1.5rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 157, 54, 0.18);
}

.rodizio-how__step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(90deg, #d25e38 0%, #eb8b41 100%);
    color: #fff;
    font-weight: 800;
    font-size: 1.05rem;
    margin-bottom: 1rem;
}

.rodizio-how__step h3 {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    color: #fff;
}

.rodizio-how__step p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.55;
    color: rgba(244, 239, 231, 0.72);
}

/* Package ladder */
.rodizio-tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1200px;
    margin: 2.5rem auto 0;
}

.rodizio-tier {
    position: relative;
    padding: 2rem 1.75rem 1.75rem;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.07);
    box-shadow: 0 12px 32px rgba(17, 13, 10, 0.06);
    display: flex;
    flex-direction: column;
}

.rodizio-tier--featured {
    border-color: var(--chinh);
    box-shadow: 0 16px 40px rgba(253, 139, 15, 0.18);
}

.rodizio-tier__badge {
    position: absolute;
    top: -13px;
    left: 1.75rem;
    padding: 5px 14px;
    border-radius: 999px;
    background: var(--chinh);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rodizio-tier h3 {
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    color: var(--tieu-de);
}

.rodizio-tier p.rodizio-tier__desc {
    margin: 0 0 1.25rem;
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--nd);
    flex-grow: 1;
}

.rodizio-tier__price {
    margin-bottom: 1.25rem;
}

.rodizio-tier__price .walkin {
    display: block;
    font-size: 0.82rem;
    color: var(--nd);
    text-decoration: line-through;
    opacity: 0.75;
}

.rodizio-tier__price .booked {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--chinh);
}

.rodizio-tier__price .booked small {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--nd);
}

.rodizio-tier button {
    width: 100%;
    padding: 13px;
    border-radius: 40px;
    border: 0;
    background: linear-gradient(90deg, #d25e38 0%, #eb8b41 100%);
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    cursor: pointer;
}

/* Menu page — included items + drinks + CTA */
.menu-decision-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin: 0 0 2.5rem;
    padding: 2rem;
    border-radius: 20px;
    background: #18130f;
    color: #fff;
}

.menu-decision-card > div > span {
    color: #ff9d36;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.menu-decision-card h2 {
    margin: 0.35rem 0 0.6rem;
    color: #fff;
    font-size: clamp(30px, 4vw, 48px);
}

.menu-decision-card h2 small {
    font-size: 0.4em;
    font-weight: 600;
}

.menu-decision-card p {
    margin: 0;
    color: rgba(255,255,255,.85);
}

.menu-decision-card__fine {
    margin-top: 0.45rem !important;
    color: rgba(255,255,255,.62) !important;
    font-size: 12px;
}

.menu-decision-card .btnbooking {
    flex: 0 0 auto;
    padding: 14px 24px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #d25e38, #eb8b41);
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
}

.menu-included {
    margin: 2.5rem 0;
    padding: 1.75rem 2rem;
    border-radius: 18px;
    background: rgba(253, 139, 15, 0.06);
    border: 1px solid rgba(253, 139, 15, 0.2);
}

.menu-included h3 {
    margin: 0 0 0.75rem;
    font-size: 1.05rem;
    color: var(--tieu-de);
}

.menu-included ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6rem 1.5rem;
}

.menu-included li {
    font-size: 0.92rem;
    color: var(--nd);
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.menu-included li::before {
    content: "✓";
    color: var(--chinh);
    font-weight: 800;
    flex: 0 0 auto;
}

.menu-drinks {
    margin: 2.5rem 0;
}

.menu-drinks h3 {
    margin: 0 0 1rem;
    font-size: 1.15rem;
    color: var(--tieu-de);
}

.menu-drinks__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.menu-drinks__item {
    padding: 1.25rem;
    border-radius: 14px;
    background: #faf7f2;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.menu-drinks__item h4 {
    margin: 0 0 0.35rem;
    font-size: 0.98rem;
    color: var(--tieu-de);
}

.menu-drinks__item p {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--nd);
}

.menu-page__cta {
    margin: 3rem 0 1rem;
    padding: 2.5rem 2rem;
    border-radius: 20px;
    background: #17110c;
    color: #fff;
    text-align: center;
}

.menu-page__cta h3 {
    margin: 0 0 0.5rem;
    font-size: 1.4rem;
    color: #fff;
}

.menu-page__cta p {
    margin: 0 0 1.25rem;
    color: rgba(244, 239, 231, 0.75);
}

.menu-page__cta button {
    padding: 14px 36px;
    border-radius: 40px;
    border: 0;
    background: linear-gradient(90deg, #d25e38 0%, #eb8b41 100%);
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    text-transform: uppercase;
    cursor: pointer;
}

/* Guest-count tap chips (replaces the plain <select> on the reservation form) */
.guest-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.guest-chip {
    flex: 1 1 auto;
    min-width: 44px;
    padding: 10px 0;
    text-align: center;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.14);
    background: #fff;
    font-weight: 650;
    font-size: 0.9rem;
    cursor: pointer;
    color: var(--nd);
}

.guest-chip.is-active {
    background: var(--chinh);
    border-color: var(--chinh);
    color: #fff;
}

#menu-section {
    scroll-margin-top: 110px;
}
