:root {
    --white: #fff;
    --black: #000;
    --primary: #dc4646;
    --secondary: #70857a;
    --third: #ffeb8a;
    --text: #101010;
    --text-2: #696e73;
    --text-3: #74757b;
    --bg: #f7f7f7;
    --bg-2: #f6f4f3;
    --bg-3: #2c2762;
    --bg-4: #cd3e341a;
    --bg-5: #fdf1e3;
    --bg-6: #103c29;
    --bg-7: #f8f4ec;
    --line: #e9e9e9;
    --white-04: hsla(0, 0%, 100%, .04);
    --white-10: hsla(0, 0%, 100%, .1);
    --white-20: hsla(0, 0%, 100%, .2);
    --white-60: hsla(0, 0%, 100%, .6);
    --yellow: #f0a750;
    --pink: #ec749d;
    --critical: #f03e3e;
    --success: #3dab25;
    --on-surface: #0c2c48;
    --surface: #f6f6f6;
    --cl-1: #0be7b4;
    --cl-2: #fdb900
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font: inherit;
    vertical-align: baseline;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

html {
    margin-right: 0 !important;
    scroll-behavior: smooth
}

@supports (scrollbar-gutter:stable) {
    html {
        scrollbar-gutter: stable
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

body {
    font-family: var(--primary-font, "DM Sans"), sans-serif;
    font-weight: 400;
    font-size: var(--body-size, 16px);
    line-height: 26px;
    color: var(--text);
    background: var(--white);
    overflow-x: clip
}

body::-webkit-scrollbar {
    width: 3px
}

body::-webkit-scrollbar-thumb {
    cursor: grab;
    background-color: var(--primary);
    border-radius: 999px
}

@media (max-width:1199px) {
    body {
        padding-bottom: 70px
    }
}

img {
    max-width: 100%;
    height: auto;
    transform: scale(1);
    vertical-align: middle;
    -ms-interpolation-mode: bicubic
}

li,
ul {
    list-style-type: none;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none
}

table {
    width: 100%;
    overflow-x: auto;
    table-layout: auto;
    border-collapse: collapse
}

td,
th {
    padding: 0 0 12px
}

button,
svg path {
    transition: all .3s ease
}

button {
    border: 0;
    display: inline-flex
}

button,
option,
select {
    background: transparent
}

option,
select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer
}

:-ms-input-placeholder {
    color: var(--secondary-2)
}

b,
strong {
    font-weight: bolder
}

video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

a {
    transition: all .3s ease;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
    font-family: var(--primary-font, "DM Sans"), sans-serif;
    color: var(--text)
}

a:focus,
a:hover {
    outline: 0
}

p {
    display: block
}

.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr)
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}

.grid-6 {
    display: grid;
    grid-template-columns: repeat(6, 1fr)
}

[data-grid=grid-1] {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr
}

[data-grid=grid-2] {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr
}

[data-grid=grid-3] {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(3, 1fr)
}

[data-grid=grid-4] {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(4, 1fr)
}

[data-grid=grid-5] {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(5, 1fr)
}

[data-grid=grid-6] {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(6, 1fr)
}

[data-grid=grid-7] {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(7, 1fr)
}

.grid-template-columns-2 {
    grid-template-columns: 1fr 1fr
}

.tf-row-flex {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 30px;
    column-gap: 30px;
    row-gap: 30px
}

.overflow-unset {
    overflow: unset !important
}

.sticky-top {
    position: sticky !important;
    z-index: 50;
    top: 15px;
    transition: all .3s ease
}

.sticky-top.no-offset {
    top: 0
}

.wmax {
    width: -moz-max-content !important;
    width: max-content !important
}

#scroll-top {
    position: fixed;
    display: block;
    width: 48px;
    height: 48px;
    line-height: 50px;
    border-radius: 4px;
    z-index: 1;
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    overflow: hidden;
    z-index: 100;
    background-color: var(--main);
    border: 0;
    bottom: 92px;
    right: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease
}

#scroll-top.show {
    opacity: 1;
    visibility: visible
}

#scroll-top.type-1 {
    bottom: 140px
}

#scroll-top:hover {
    transform: translateY(-5px);
    background-color: var(--primary)
}

.preload-container {
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
    background: #fff;
    position: fixed;
    z-index: 99999999999;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

.preload-container,
.spinner {
    top: 0;
    bottom: 0;
    right: 0;
    left: 0
}

.spinner {
    width: 60px;
    height: 60px;
    border: 3px solid transparent;
    border-top: 3px solid var(--text);
    border-radius: 100%;
    position: absolute;
    margin: auto;
    animation: spin 1s linear infinite
}

.spinner.type-primary {
    border-top-color: var(--primary)
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

.br-line {
    width: 100%;
    height: 1px;
    display: flex;
    background-color: var(--line)
}

.br-line.type-vertical {
    width: 1px;
    height: 16px
}

.br-line.fake-class {
    position: absolute;
    left: 0;
    right: 0
}

.br-line.h-24 {
    height: 24px
}

.br-dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--primary)
}

.tf-swiper .swiper-slide {
    height: auto
}

.tf-swiper .swiper-slide>* {
    height: 100%
}

.initial-child-container {
    flex: 0 0 auto;
    display: flex;
    min-width: auto;
    flex-direction: row;
    align-items: center
}

.marquee-wrapper {
    display: flex;
    animation: infiniteScroll 7s linear infinite;
    align-items: center;
    transition: animation-duration .3s
}

@media (min-width:1200px) {
    .flex-xl-1 {
        flex: 1 !important
    }
}

@media (min-width:576px) {
    .flex-sm-1 {
        flex: 1 !important
    }
}

.h-unset {
    height: unset !important
}

.opacity-10 {
    opacity: .1 !important
}

@media (min-width:576px) {
    .h-sm-100 {
        height: 100% !important
    }
}

@media (min-width:1200px) {
    .gap-xl-64 {
        gap: 64px !important
    }

    .gap-xl-40 {
        gap: 40px !important
    }

    .h-xl-unset {
        height: unset !important
    }
}

@media (min-width:1440px) {
    .text-xxl-nowrap {
        white-space: nowrap !important
    }
}

.w-maxcontent {
    width: -moz-max-content !important;
    width: max-content !important
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--heading-font, var(--primary-font, "DM Sans")), sans-serif;
    text-rendering: optimizeLegibility;
    font-weight: 500;
    margin-bottom: 0;
    letter-spacing: 0
}

.h1,
h1 {
    font-size: clamp(34px, 5vw, var(--h1-size, 56px));
    line-height: clamp(44px, 6vw, 68px)
}

.h1,
.h2,
h1,
h2 {
    letter-spacing: .05em
}

.h2,
h2 {
    font-size: clamp(30px, 4.2vw, var(--h2-size, 44px));
    line-height: clamp(38px, 5vw, 50px)
}

.h3,
h3 {
    font-size: clamp(28px, 3.8vw, var(--h3-size, 40px));
    line-height: clamp(36px, 4.5vw, 48px);
    letter-spacing: .05em
}

.h4,
h4 {
    font-size: clamp(24px, 3.5vw, var(--h4-size, 30px));
    line-height: clamp(32px, 4.2vw, 42px);
    letter-spacing: .02em
}

.h5,
h5 {
    font-size: clamp(22px, 3vw, var(--h5-size, 24px));
    line-height: clamp(28px, 3.5vw, 30px)
}

.h6,
h6 {
    font-size: var(--h6-size, 20px);
    line-height: 28px
}

.fw-7 {
    font-weight: 700
}

.font-main {
    font-family: var(--primary-font, "DM Sans"), sans-serif
}

.font-2 {
    font-family: var(--secondary-font, "Urbanist"), sans-serif
}

.font-outfit {
    font-family: var(--accent-font, "Outfit"), sans-serif
}

.font-kumbh {
    font-family: Kumbh Sans, sans-serif
}

.font-red_hat {
    font-family: var(--display-font, "Red Hat Display"), sans-serif
}

.font-plus_jakarta {
    font-family: Plus Jakarta Sans, sans-serif
}

.text-display {
    font-size: clamp(36px, 6vw, 80px);
    line-height: clamp(40px, 6.5vw, 88px);
    letter-spacing: .05em
}

.text-body-1 {
    font-size: 18px;
    line-height: 28px
}

.text-caption-01 {
    font-size: 14px;
    line-height: 22px
}

.text-caption-02,
.text-label {
    font-size: 12px;
    line-height: 16px
}

.text-24 {
    font-size: clamp(18px, 2vw, 24px);
    line-height: clamp(18px, 2vw, 24px)
}

.text-64 {
    font-size: clamp(36px, 5vw, 64px);
    line-height: clamp(36px, 5vw, 64px)
}

.text-128 {
    font-size: clamp(64px, 8vw, 128px);
    line-height: clamp(64px, 8vw, 128px)
}

.fs-10 {
    font-size: 10px !important
}

.fs-12 {
    font-size: 12px !important
}

.fs-14 {
    font-size: 14px !important
}

.fs-16 {
    font-size: 16px !important
}

.fs-18 {
    font-size: 18px !important
}

.fs-20 {
    font-size: 20px !important
}

.fs-24 {
    font-size: 24px !important
}

.fs-28 {
    font-size: 28px !important
}

.fs-32 {
    line-height: clamp(28px, 3.5vw, 32px) !important
}

.fs-35 {
    font-size: 35px !important
}

.fs-40 {
    font-size: 40px !important
}

.lh-8 {
    line-height: 8px !important
}

.lh-10 {
    line-height: 10px !important
}

.lh-11 {
    line-height: 11px !important
}

.lh-13 {
    line-height: 13px !important
}

.lh-19 {
    line-height: 19px !important
}

.lh-20 {
    line-height: 20px !important
}

.lh-24 {
    line-height: 24px !important
}

.lh-26 {
    line-height: 26px !important
}

.lh-28 {
    line-height: 28px !important
}

.lh-30 {
    line-height: 30px !important
}

.lh-32 {
    line-height: 32px !important
}

.letter-space-05 {
    letter-spacing: .005em !important
}

.letter-space-1 {
    letter-spacing: .01em !important
}

.letter-space-2 {
    letter-spacing: .02em !important
}

.letter-space-3 {
    letter-spacing: .03em !important
}

.letter-space-4 {
    letter-spacing: .04em !important
}

.letter-space-0 {
    letter-spacing: 0 !important
}

.letter-space--1 {
    letter-spacing: -.01em !important
}

.letter-space--2 {
    letter-spacing: -.02em !important
}

.letter-space--3 {
    letter-spacing: -.03em !important
}

.letter-space--4 {
    letter-spacing: -.04em !important
}

@media (min-width:1440px) {
    .lh-xxl-11 {
        line-height: 11px !important
    }

    .lh-xxl-19 {
        line-height: 19px !important
    }

    .lh-xxl-22 {
        line-height: 22px !important
    }

    .lh-xxl-56 {
        line-height: 56px !important
    }
}

@media (min-width:1200px) {
    .lh-xl-54 {
        line-height: 54px !important
    }

    .lh-xl-36 {
        line-height: 36px !important
    }
}

@media (min-width:992px) {
    .lh-lg-56 {
        line-height: 56px !important
    }
}

.mb--20 {
    margin-bottom: -20px !important
}

.mb-2 {
    margin-bottom: 2px !important
}

.mb-3 {
    margin-bottom: 3px !important
}

.mb-4 {
    margin-bottom: 4px !important
}

.mb-5 {
    margin-bottom: 5px !important
}

.mb-6 {
    margin-bottom: 6px !important
}

.mb-7 {
    margin-bottom: 7px !important
}

.mb-8 {
    margin-bottom: 8px !important
}

.mb-9 {
    margin-bottom: 9px !important
}

.mb-10 {
    margin-bottom: 10px !important
}

.mb-12 {
    margin-bottom: 12px !important
}

.mb-14 {
    margin-bottom: 14px !important
}

.mb-15 {
    margin-bottom: 15px !important
}

.mb-16 {
    margin-bottom: 16px !important
}

.mb-20 {
    margin-bottom: 20px !important
}

.mb-24 {
    margin-bottom: 24px !important
}

.mb-28 {
    margin-bottom: 28px !important
}

.mb-30 {
    margin-bottom: 30px
}

.mb-32 {
    margin-bottom: 32px !important
}

.mb-36 {
    margin-bottom: 36px !important
}

.mb-40 {
    margin-bottom: 40px !important
}

.mt-4 {
    margin-top: 4px !important
}

.mt-10 {
    margin-top: 10px !important
}

.mt-14 {
    margin-top: 14px !important
}

.mt-20 {
    margin-top: 20px !important
}

.mt-30 {
    margin-top: 30px
}

.mx-15 {
    margin-left: 15px;
    margin-right: 15px
}

.mx-20 {
    margin-left: 20px;
    margin-right: 20px
}

.pb-4 {
    padding-bottom: 4px !important
}

.pb-20 {
    padding-bottom: 20px !important
}

.pb-40 {
    padding-bottom: 40px !important
}

.pt-30 {
    padding-top: 30px
}

.pt-40 {
    padding-top: 40px
}

.px-10 {
    padding-left: 10px;
    padding-right: 10px
}

.px-16 {
    padding-left: 16px;
    padding-right: 16px
}

.px-20 {
    padding-left: 20px;
    padding-right: 20px
}

.py-4 {
    padding-top: 4px !important;
    padding-bottom: 4px !important
}

.py-20 {
    padding-top: 20px;
    padding-bottom: 20px
}

.py-30 {
    padding-top: 30px;
    padding-bottom: 30px
}

.gap-4 {
    gap: 4px !important
}

.gap-6 {
    gap: 6px !important
}

.gap-8 {
    gap: 8px !important
}

.gap-10 {
    gap: 10px !important
}

.gap-12 {
    gap: 12px !important
}

.gap-13 {
    gap: 13px !important
}

.gap-15 {
    gap: 15px !important
}

.gap-16 {
    gap: 16px !important
}

.gap-20 {
    gap: 20px !important
}

.gap-21 {
    gap: 21px !important
}

.gap-24 {
    gap: 24px !important
}

.gap-28 {
    gap: 28px !important
}

.gap-30 {
    gap: 30px !important
}

.gap-40 {
    gap: 40px
}

.flat-spacing {
    padding-top: 80px;
    padding-bottom: 80px
}

@media (max-width:991px) {
    .flat-spacing {
        padding-top: 60px;
        padding-bottom: 60px
    }
}

@media (max-width:425px) {
    .flat-spacing {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.flat-spacing-2 {
    padding-top: 60px;
    padding-bottom: 60px
}

@media (max-width:425px) {
    .flat-spacing-2 {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.flat-spacing-3 {
    padding-top: 40px;
    padding-bottom: 40px
}

.flat-spacing-4 {
    padding-top: 48px;
    padding-bottom: 48px
}

@media (max-width:575px) {
    .flat-spacing-4 {
        padding-top: 30px;
        padding-bottom: 30px
    }
}

.flat-spacing-5 {
    padding-top: 120px;
    padding-bottom: 120px
}

@media (max-width:1439px) {
    .flat-spacing-5 {
        padding-top: 80px;
        padding-bottom: 80px
    }
}

@media (max-width:991px) {
    .flat-spacing-5 {
        padding-top: 60px;
        padding-bottom: 60px
    }
}

@media (max-width:425px) {
    .flat-spacing-5 {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.flat-spacing-6 {
    padding-top: 71px;
    padding-bottom: 80px
}

@media (max-width:991px) {
    .flat-spacing-6 {
        padding-top: 60px;
        padding-bottom: 60px
    }
}

@media (max-width:425px) {
    .flat-spacing-6 {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.flat-spacing-7 {
    padding-top: 80px;
    padding-bottom: 77px
}

@media (max-width:991px) {
    .flat-spacing-7 {
        padding-top: 60px;
        padding-bottom: 60px
    }
}

@media (max-width:425px) {
    .flat-spacing-7 {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.flat-spacing-8 {
    padding-top: 80px;
    padding-bottom: 120px
}

@media (max-width:991px) {
    .flat-spacing-8 {
        padding-top: 60px;
        padding-bottom: 60px
    }
}

@media (max-width:425px) {
    .flat-spacing-8 {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.text-primary {
    color: var(--primary) !important
}

.text-secondary {
    color: var(--secondary) !important
}

.text-white-50 {
    color: var(--white-50)
}

.text-white_20 {
    color: var(--white-20)
}

.text-white_60 {
    color: var(--white-60)
}

.cl-text-yellow {
    color: var(--yellow) !important
}

.cl-text-main {
    color: var(--text) !important
}

.cl-text-2 {
    color: var(--text-2) !important
}

.cl-text-3 {
    color: var(--text-3) !important
}

.cl-text-4 {
    color: var(--text-4) !important
}

.cl-text-5 {
    color: var(--text-5) !important
}

.cl-text-6 {
    color: var(--text-6) !important
}

.cl-text-7 {
    color: var(--text-7) !important
}

.cl-text-8 {
    color: var(--text-8) !important
}

.cl-text-9 {
    color: var(--text-9) !important
}

.cl-text-10 {
    color: var(--text-10) !important
}

.cl-text-11 {
    color: var(--text-11) !important
}

.cl-text-12 {
    color: var(--text-12) !important
}

.cl-text-13 {
    color: var(--text-13) !important
}

.cl-text-14 {
    color: var(--text-14) !important
}

.cl-text-line {
    color: var(--line) !important
}

.link {
    transition: all .3s ease
}

.link:hover {
    color: var(--primary) !important
}

.link-2 {
    transition: all .3s ease
}

.link-2:hover {
    color: var(--primary-2) !important
}

.link-3 {
    transition: all .3s ease
}

.link-3:hover {
    color: var(--secondary) !important
}

.link-black {
    transition: all .3s ease
}

.link-black:hover {
    color: var(--black) !important
}

.link-dark {
    transition: all .3s ease
}

.link-dark:hover {
    color: var(--text) !important
}

.link-rotate {
    transition: all .3s ease
}

.link-rotate:hover {
    transform: rotate(180deg)
}

.link-underline {
    transition: all .3s ease;
    text-decoration: underline;
    text-decoration-color: transparent !important
}

.link-underline:hover {
    text-decoration-color: var(--primary) !important
}

.link-underline-primary {
    transition: all .3s ease;
    text-decoration: underline;
    text-decoration-color: transparent !important
}

.link-underline-primary:hover {
    color: var(--primary);
    text-decoration-color: var(--primary) !important
}

.link-underline-white {
    transition: all .3s ease;
    text-decoration: underline;
    text-decoration-color: transparent !important
}

.link-underline-white:hover {
    text-decoration-color: var(--white) !important
}

.link-underline-text {
    transition: all .3s ease;
    text-decoration: underline;
    text-decoration-color: transparent !important
}

.link-underline-text:hover {
    text-decoration-color: var(--text) !important
}

.text-decoration-thickness {
    text-decoration-thickness: 2px !important
}

.text-decoration-thickness_3 {
    text-decoration-thickness: 3px !important
}

.text-vertical {
    writing-mode: vertical-lr;
    transform: rotate(180deg)
}

.color-1 {
    color: var(--cl-1)
}

.color-2 {
    color: var(--cl-2)
}

.cs-pointer {
    cursor: pointer
}

.max-width_1 {
    max-width: 1424px;
    width: 100%
}

.img-cover {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.gap-x-10 {
    -moz-column-gap: 10px !important;
    column-gap: 10px !important
}

.gap-x-40 {
    row-gap: 40px
}

.radius-3 {
    border-radius: 3px !important
}

.radius-5 {
    border-radius: 5px !important
}

.radius-8 {
    border-radius: 8px !important
}

.radius-10 {
    border-radius: 10px !important
}

.radius-12 {
    border-radius: 12px !important
}

.radius-16 {
    border-radius: 16px !important
}

.radius-20 {
    border-radius: 20px !important
}

.bg-primary {
    background-color: var(--primary) !important
}

.bg-secondary {
    background-color: var(--secondary) !important
}

.bg-main {
    background: var(--bg)
}

.bg-main-2 {
    background: var(--bg-2)
}

.bg-main-5 {
    background: var(--bg-5) !important
}

.bg-main-6 {
    background: var(--bg-6) !important
}

.bg-dark {
    background-color: var(--text) !important
}

.bg-white-2 {
    background-color: var(--bg-10)
}

.bg-white_10 {
    background: var(--white-10) !important
}

.bg-cl-text {
    background-color: var(--text) !important
}

.bg-surface {
    background-color: var(--surface)
}

.text-line-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden
}

.text-line-clamp-2 {
    -webkit-line-clamp: 2
}

.text-line-clamp-2,
.text-line-clamp-3 {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden
}

.text-line-clamp-3 {
    -webkit-line-clamp: 3 !important
}

.aspect-ratio-0 {
    aspect-ratio: 0 !important
}

.aspect-ratio-1 {
    aspect-ratio: 1/1 !important
}

.aspect-ratio-0_75 {
    aspect-ratio: .75 !important
}

.z-1 {
    z-index: 1
}

.z-5 {
    z-index: 5
}

.cursor-not-allowed {
    cursor: not-allowed
}

.cursor-auto {
    cursor: auto
}

.min-w-unset {
    min-width: unset !important
}

.flex-1 {
    flex: 1
}

.flex-unset {
    flex: unset !important
}

.position-unset {
    position: unset !important
}

.rounded-8 {
    border-radius: 8px !important
}

.rounded-20 {
    border-radius: 20px !important
}

.rounded-top-20 {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px
}

.g-5,
.gy-5 {
    --bs-gutter-y: 2rem
}

.g-12,
.gy-12 {
    --bs-gutter-y: 12px
}

.g-20,
.gy-20 {
    --bs-gutter-y: 20px
}

.g-30,
.gy-30 {
    --bs-gutter-y: 30px
}

@media (min-width:426px) {
    .d-ssm-flex {
        display: flex !important
    }
}

@media (min-width:768px) {
    .h-md-100 {
        height: 100% !important
    }
}

@media (min-width:992px) {
    .h-lg-100 {
        height: 100% !important
    }

    .gap-lg-30 {
        gap: 30px !important
    }

    .opacity-lg-0 {
        opacity: 0 !important
    }

    .mb-lg-20 {
        margin-bottom: 20px !important
    }
}

@media (min-width:1200px) {
    .mt-xl-40 {
        margin-top: 40px !important
    }

    .mt-xl-44 {
        margin-top: 44px !important
    }

    .mb-xl-32 {
        margin-bottom: 32px !important
    }

    .mx-xl-20 {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media (min-width:1440px) {

    .g-xxl_40,
    .gy-xxl_40 {
        --bs-gutter-y: 40px
    }
}

@media (min-width:1600px) {
    .d-xxxl-flex {
        display: flex !important;
        display: none !important
    }
}

@media (max-width:1599px) {
    .xxxl-d-none {
        display: none !important
    }
}

@media (max-width:1439px) {
    .xxl-mt-10 {
        margin-top: 10px !important
    }
}

@media (max-width:1199px) {
    .xl-wd-full {
        grid-column: 1/-1 !important
    }

    .xl-gap-20 {
        gap: 20px !important
    }
}

@media (max-width:991px) {
    .lg-overflow-auto {
        overflow: auto !important
    }

    .lg-mx-auto {
        margin-left: auto !important;
        margin-right: auto !important
    }

    .lg-justify-content-center {
        justify-content: center !important
    }
}

@media (max-width:767px) {
    .md-mb-12 {
        margin-bottom: 12px
    }

    .md-d-none {
        display: none !important
    }
}

@media (max-width:575px) {
    .sm-d-none {
        display: none !important
    }

    .sm-cl-black {
        color: var(--black) !important
    }
}

.tf-grid-layout {
    display: grid;
    -moz-column-gap: 16px;
    column-gap: 16px;
    row-gap: 24px
}

.tf-grid-layout.tf-col-1 {
    grid-template-columns: 1fr
}

.tf-grid-layout.tf-col-2 {
    grid-template-columns: 1fr 1fr
}

.tf-grid-layout.tf-col-3 {
    grid-template-columns: repeat(3, 1fr)
}

.tf-grid-layout.tf-col-4 {
    grid-template-columns: repeat(4, 1fr)
}

.tf-grid-layout.tf-col-5 {
    grid-template-columns: repeat(5, 1fr)
}

.tf-grid-layout.tf-col-6 {
    grid-template-columns: repeat(6, 1fr)
}

.tf-grid-layout.tf-col-7 {
    grid-template-columns: repeat(7, 1fr)
}

.tf-grid-layout .wd-full {
    grid-column: 1/-1
}

.tf-grid-layout .wd-2-cols {
    grid-column: span 2
}

@media (min-width:426px) {
    .tf-grid-layout.ssm-col-2 {
        grid-template-columns: 1fr 1fr
    }

    .tf-grid-layout.ssm-col-3 {
        grid-template-columns: repeat(3, 1fr)
    }

    .tf-grid-layout.ssm-col-4 {
        grid-template-columns: repeat(4, 1fr)
    }

    .tf-grid-layout.ssm-col-5 {
        grid-template-columns: repeat(5, 1fr)
    }

    .tf-grid-layout.ssm-col-6 {
        grid-template-columns: repeat(6, 1fr)
    }

    .tf-grid-layout.ssm-col-7 {
        grid-template-columns: repeat(7, 1fr)
    }
}

@media (min-width:576px) {
    .tf-grid-layout {
        -moz-column-gap: 24px;
        column-gap: 24px;
        row-gap: 32px
    }

    .tf-grid-layout.sm-col-2 {
        grid-template-columns: 1fr 1fr
    }

    .tf-grid-layout.sm-col-3 {
        grid-template-columns: repeat(3, 1fr)
    }

    .tf-grid-layout.sm-col-4 {
        grid-template-columns: repeat(4, 1fr)
    }

    .tf-grid-layout.sm-col-5 {
        grid-template-columns: repeat(5, 1fr)
    }

    .tf-grid-layout.sm-col-6 {
        grid-template-columns: repeat(6, 1fr)
    }

    .tf-grid-layout.sm-col-7 {
        grid-template-columns: repeat(7, 1fr)
    }
}

@media (min-width:768px) {
    .tf-grid-layout.md-col-1 {
        grid-template-columns: 1fr
    }

    .tf-grid-layout.md-col-2 {
        grid-template-columns: 1fr 1fr
    }

    .tf-grid-layout.md-col-3 {
        grid-template-columns: repeat(3, 1fr)
    }

    .tf-grid-layout.md-col-4 {
        grid-template-columns: repeat(4, 1fr)
    }

    .tf-grid-layout.md-col-5 {
        grid-template-columns: repeat(5, 1fr)
    }

    .tf-grid-layout.md-col-6 {
        grid-template-columns: repeat(6, 1fr)
    }

    .tf-grid-layout.md-col-7 {
        grid-template-columns: repeat(7, 1fr)
    }
}

@media (min-width:992px) {
    .tf-grid-layout.lg-col-1 {
        grid-template-columns: 1fr
    }

    .tf-grid-layout.lg-col-2 {
        grid-template-columns: 1fr 1fr
    }

    .tf-grid-layout.lg-col-3 {
        grid-template-columns: repeat(3, 1fr)
    }

    .tf-grid-layout.lg-col-4 {
        grid-template-columns: repeat(4, 1fr)
    }

    .tf-grid-layout.lg-col-5 {
        grid-template-columns: repeat(5, 1fr)
    }

    .tf-grid-layout.lg-col-6 {
        grid-template-columns: repeat(6, 1fr)
    }

    .tf-grid-layout.lg-col-7 {
        grid-template-columns: repeat(7, 1fr)
    }
}

@media (min-width:1200px) {
    .tf-grid-layout {
        -moz-column-gap: 30px;
        column-gap: 30px;
        row-gap: 40px
    }

    .tf-grid-layout.gap-xl-30 {
        gap: 30px !important
    }

    .tf-grid-layout.cl-gap-xxl-40 {
        -moz-column-gap: 40px;
        column-gap: 40px
    }

    .tf-grid-layout.cl-xl-gap-38 {
        -moz-column-gap: 38px;
        column-gap: 38px
    }

    .tf-grid-layout.row-xl-gap-40 {
        row-gap: 40px
    }

    .tf-grid-layout.row-xl-gap-56 {
        row-gap: 56px
    }

    .tf-grid-layout.xl-col-1 {
        grid-template-columns: 1fr
    }

    .tf-grid-layout.xl-col-2 {
        grid-template-columns: 1fr 1fr
    }

    .tf-grid-layout.xl-col-3 {
        grid-template-columns: repeat(3, 1fr)
    }

    .tf-grid-layout.xl-col-4 {
        grid-template-columns: repeat(4, 1fr)
    }

    .tf-grid-layout.xl-col-5 {
        grid-template-columns: repeat(5, 1fr)
    }

    .tf-grid-layout.xl-col-6 {
        grid-template-columns: repeat(6, 1fr)
    }

    .tf-grid-layout.xl-col-7 {
        grid-template-columns: repeat(7, 1fr)
    }
}

@media (min-width:1440px) {
    .tf-grid-layout.xxl-col-2 {
        grid-template-columns: 1fr 1fr
    }

    .tf-grid-layout.xxl-col-3 {
        grid-template-columns: repeat(3, 1fr)
    }

    .tf-grid-layout.xxl-col-4 {
        grid-template-columns: repeat(4, 1fr)
    }

    .tf-grid-layout.xxl-col-5 {
        grid-template-columns: repeat(5, 1fr)
    }

    .tf-grid-layout.xxl-col-6 {
        grid-template-columns: repeat(6, 1fr)
    }

    .tf-grid-layout.xxl-col-7 {
        grid-template-columns: repeat(7, 1fr)
    }
}

.row {
    margin-right: -16px;
    margin-left: -16px
}

.row>* {
    padding-left: 16px;
    padding-right: 16px
}

@media (min-width:1200px) {
    .row {
        margin-right: -24px;
        margin-left: -24px
    }

    .row>* {
        padding-left: 24px;
        padding-right: 24px
    }
}

.row {
    margin-left: -15px !important;
    margin-right: -15px !important
}

.row>* {
    padding-left: 15px !important;
    padding-right: 15px !important
}

.row.r2 {
    margin-left: -10px !important;
    margin-right: -10px !important
}

.row.r2>* {
    padding-left: 10px !important;
    padding-right: 10px !important
}

.row.r3 {
    margin-left: -13px !important;
    margin-right: -13px !important
}

.row.r3>* {
    padding-left: 13px !important;
    padding-right: 13px !important
}

.container {
    width: 1440px
}

.container,
.container-2 {
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 100%
}

.container-2 {
    width: 1320px
}

.container-full {
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;
    width: 1800px;
    max-width: 100%
}

.container-full.full-v2 {
    width: 1760px
}

.container-full.full-v3 {
    width: 1830px
}

.container-full.full-v4 {
    width: 1870px
}

.container-full-2 {
    width: 100%;
    max-width: 100%;
    padding-left: 60px;
    padding-right: 60px;
    margin-left: auto;
    margin-right: auto
}

@media (max-width:1599px) {
    .container-full-2 {
        padding-left: 30px;
        padding-right: 30px
    }
}

@media (max-width:1439px) {
    .container-full-2 {
        padding-left: 15px;
        padding-right: 15px
    }
}

.container-full-3 {
    width: 100%;
    max-width: 100%;
    padding-left: 40px;
    padding-right: 40px;
    position: relative;
    margin-left: auto;
    margin-right: auto
}

@media (max-width:1599px) {
    .container-full-3 {
        padding-left: 30px;
        padding-right: 30px
    }
}

@media (max-width:1439px) {
    .container-full-3 {
        padding-left: 15px;
        padding-right: 15px
    }
}

.container-full-4 {
    width: 100%;
    max-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    position: relative;
    margin-left: auto;
    margin-right: auto
}

@media (max-width:1599px) {
    .container-full-4 {
        padding-left: 10px;
        padding-right: 10px
    }
}

@media (max-width:1439px) {
    .container-full-4 {
        padding-left: 15px;
        padding-right: 15px
    }
}

.container-layout-right {
    width: calc(50vw + 900px);
    margin-right: unset;
    max-width: 100%;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px
}

.container-layout-right .swiper {
    margin-right: -15px;
    padding-right: 15px;
    overflow: hidden
}

.grid-cls-layout {
    display: grid;
    gap: 15px
}

@media (min-width:576px) {
    .grid-cls-layout .item1 {
        grid-area: aa
    }

    .grid-cls-layout .item2 {
        grid-area: bb
    }

    .grid-cls-layout .item3 {
        grid-area: cc
    }

    .grid-cls-layout .item4 {
        grid-area: dd
    }
}

@media (min-width:1200px) {
    .grid-cls-layout {
        gap: 30px
    }
}

@media (min-width:992px) {
    .grid-cls-v2 {
        grid-template-areas: "aa bb" "aa cc";
        grid-template-columns: 1fr 1fr
    }
}

.grid-cls-v3 {
    gap: 10px
}

@media (min-width:576px) {
    .grid-cls-v3 {
        grid-template-areas: "aa aa" "bb cc";
        grid-template-columns: 1fr 1fr
    }
}

@media (min-width:992px) {
    .grid-cls-v3 {
        grid-template-areas: "aa aa bb" "aa aa cc";
        grid-template-columns: 1fr 1fr 1fr;
        gap: 20px
    }
}

@media (min-width:1200px) {
    .grid-cls-v4 {
        gap: 26px;
        display: grid;
        grid-template-areas: "aa bb bb bb";
        grid-template-columns: 1fr 1fr 1fr 1fr;
        align-items: center
    }

    .grid-cls-v4 .item1 {
        grid-area: aa
    }

    .grid-cls-v4 .item2 {
        grid-area: bb
    }
}

@media (min-width:1440px) {
    .grid-cls-v4 {
        grid-template-areas: "aa bb bb bb bb";
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr
    }
}

.tf-header-block-height,
header {
    transition: all .3s ease
}

header {
    position: sticky;
    z-index: 100
}

header.header-sticky:not(.header-s5, .header-abs) {
    background: var(--white)
}

header.header-sticky.scr-box-shadow,
header.header-sticky.scr-box-shadow-2 .header-inner {
    box-shadow: 0 0 10px rgba(0, 0, 0, .15)
}

header.header-sticky.header-abs .swip-text {
    opacity: 0;
    visibility: hidden
}

header.header-sticky.header-s7.hds7-type-2 {
    background: hsla(0, 0%, 44.7%, .6);
    backdrop-filter: blur(12px)
}

header.header-sticky.tf-header-landing {
    backdrop-filter: blur(10px);
    background: rgba(0, 0, 0, .5)
}

@media (min-width:1200px) {
    header.header-sticky.has-by-category:not(.header-s8) {
        background: transparent
    }

    header.header-sticky.has-by-category:not(.header-s8) .header-bottom_wrap,
    header.header-sticky.has-by-category:not(.header-s8) .header-inner_wrap {
        background: var(--white)
    }

    header.header-sticky.has-by-category.header-s8 {
        background: transparent
    }

    header.header-sticky.has-by-category.header-s8 .header-bottom_wrap {
        border-bottom: 1px solid var(--line);
        background: var(--white)
    }
}

body.show-admin-bar {
    --admin-bar-offset: 40px
}

body.show-admin-bar header.header-sticky {
    top: var(--admin-bar-offset)
}

.tf-header .box-open-menu-mobile {
    flex: 1;
    display: flex
}

@media (max-width:1199px) {
    .tf-header {
        padding-top: 15px;
        padding-bottom: 15px
    }

    .tf-header .logo-site img {
        max-width: 120px
    }

    .tf-header .header-inner {
        align-items: center
    }

    .tf-header .header-inner .header-left {
        flex: unset
    }
}

.header-abs {
    background: transparent;
    margin-top: 15px;
    margin-bottom: -75px
}

.header-abs .header-inner_wrap {
    position: relative;
    z-index: 2
}

.header-abs .swip-text {
    margin-top: 16px
}

.header-abs .header-inner {
    padding-left: 20px;
    padding-right: 20px;
    background: var(--white);
    border-radius: 12px
}

.header-abs .header-left {
    display: flex;
    align-items: center;
    gap: 40px
}

.header-abs .header-right {
    gap: 28px
}

.header-abs .nav-category-wrap {
    min-width: 218px
}

@media (min-width:1200px) {
    .header-abs {
        margin-top: 20px;
        margin-bottom: -142px
    }

    .header-abs .header-left,
    .header-abs .header-right {
        flex: unset !important
    }
}

@media (min-width:1600px) {
    .header-abs {
        margin-top: 40px;
        margin-bottom: -162px
    }

    .header-abs .header-inner {
        padding-left: 40px;
        padding-right: 40px
    }

    .header-abs .form-search-nav {
        min-width: 340px
    }
}

@media (max-width:1199px) {
    .header-abs {
        padding-top: 0;
        padding-bottom: 0
    }

    .header-abs .header-inner {
        padding-top: 15px;
        padding-bottom: 15px
    }
}

.header-abs-2 {
    margin-bottom: -80px
}

@media (max-width:1199px) {
    .header-abs-2 {
        margin-bottom: -60px
    }
}

.header-abs-3 {
    margin-bottom: -124px
}

@media (max-width:1199px) {
    .header-abs-3 {
        margin-bottom: -60px
    }
}

.header-s2 .header-right {
    gap: 24px;
    align-items: center
}

.header-s2 .header-right .br-line {
    height: 20px
}

@media (max-width:1599px) {
    .header-s2 .sub-menu.mega-menu {
        left: 0
    }
}

@media (max-width:1439px) {
    .header-s2 .box-nav-menu {
        gap: 20px
    }
}

.header-s3 .header-center {
    flex: 2
}

.header-s3 .item-link {
    padding-top: 15px;
    padding-bottom: 15px
}

.header-s3 .header-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.header-s3 .header-bottom .col-left {
    display: flex;
    align-items: center;
    gap: 40px
}

@media (min-width:1200px) {
    .header-s3 .header-inner {
        padding-top: 20px;
        padding-bottom: 20px
    }

    .header-s3 .header-bottom_wrap,
    .header-s3 .header-inner_wrap {
        position: relative
    }

    .header-s3 .header-bottom_wrap:before,
    .header-s3 .header-inner_wrap:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        background: var(--line)
    }

    .header-s3:before {
        display: none
    }
}

.header-s4 .form-search-nav {
    max-width: 280px
}

.header-s4 .item-link {
    padding-top: 15px;
    padding-bottom: 15px
}

@media (min-width:1200px) {
    .header-s4 .header-inner {
        padding-top: 24px;
        padding-bottom: 24px
    }
}

.header-s5 {
    background: var(--bg-3)
}

.header-s5 .header-right {
    gap: 24px;
    align-items: center
}

.header-s5 .header-right .br-line {
    height: 20px
}

.header-s5 .item-link {
    padding-top: 19px;
    padding-bottom: 19px
}

@media (min-width:1200px) {
    .header-s5 .header-inner {
        padding-top: 20px;
        padding-bottom: 20px
    }
}

.header-s6.header-sticky .header-bottom {
    padding-bottom: 15px;
    padding-top: 15px
}

.header-s6 .header-bottom_wrap {
    position: relative;
    z-index: 1
}

.header-s6 .header-inner_wrap {
    position: relative;
    z-index: 2
}

.header-s6 .header-inner .header-left {
    display: flex;
    align-items: center;
    gap: 60px
}

.header-s6 .header-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding-top: 31px;
    padding-bottom: 41px;
    transition: all .3s ease
}

.header-s6 .header-bottom .col-center {
    width: 100%
}

@media (min-width:1200px) {

    .header-s6 .header-inner .header-left,
    .header-s6 .header-inner .header-right {
        flex: unset
    }
}

@media (min-width:1440px) {
    .header-s6 .item-link {
        padding-top: 35px;
        padding-bottom: 35px
    }
}

.header-s7 .header-left {
    display: flex;
    align-items: center;
    gap: 40px
}

.header-s7 .header-right {
    gap: 28px
}

@media (min-width:1200px) {
    .header-s7 .header-left {
        gap: 78px
    }

    .header-s7 .header-left,
    .header-s7 .header-right {
        flex: unset !important
    }
}

@media (min-width:1440px) {
    .header-s7 .form-search-nav {
        min-width: 340px
    }
}

@media (min-width:1200px) {
    .header-s8 .header-bottom_wrap .header-bottom {
        display: flex;
        justify-content: space-between;
        align-items: center
    }

    .header-s8 .item-link {
        padding-top: 23px;
        padding-bottom: 23px
    }

    .header-s8 .header-left {
        display: flex;
        gap: 40px
    }

    .header-s8 .header-left .wrap-left {
        display: flex;
        align-items: center;
        gap: 8px
    }

    .header-s8 .header-inner_wrap {
        background: var(--bg);
        position: relative;
        z-index: 1
    }

    .header-s8 .header-inner .header-left,
    .header-s8 .header-inner .header-right {
        flex: unset
    }

    .header-s8 .header-inner {
        align-items: center;
        padding-top: 20px;
        padding-bottom: 20px
    }
}

@media (min-width:1440px) {
    .header-s8 .header-left {
        display: flex;
        width: 100%;
        gap: 60px
    }

    .header-s8 .header-left .wrap-left {
        width: 100%
    }
}

.header-s9 .header-inner_wrap {
    position: relative;
    z-index: 2
}

.header-s9 .swip-text {
    margin-top: 16px
}

.header-s9 .header-inner {
    padding-left: 20px;
    padding-right: 20px;
    background: var(--white);
    border-radius: 12px
}

.header-s9 .header-left {
    display: flex;
    align-items: center;
    gap: 40px
}

.header-s9 .header-right {
    gap: 28px
}

.header-s9 .nav-category-wrap {
    min-width: 218px
}

@media (min-width:1200px) {

    .header-s9 .header-left,
    .header-s9 .header-right {
        flex: unset !important
    }
}

@media (min-width:1600px) {
    .header-s9 .header-inner {
        padding-left: 40px;
        padding-right: 40px
    }

    .header-s9 .form-search-nav {
        min-width: 340px
    }
}

@media (max-width:1199px) {
    .header-s9 {
        padding-top: 0;
        padding-bottom: 0
    }

    .header-s9 .header-inner {
        padding-top: 15px;
        padding-bottom: 15px
    }
}

.header-s10 {
    background-color: var(--white);
    margin-bottom: -130px
}

.has-by-category .box-open-header-bottom {
    display: none;
    margin-right: 20px
}

.has-by-category.header-sticky {
    pointer-events: none
}

.has-by-category.header-sticky>* {
    pointer-events: all
}

.has-by-category.header-sticky .box-open-header-bottom {
    display: block
}

.has-by-category .header-bottom_wrap {
    transition: all .3s ease;
    margin-top: 0;
    opacity: 1;
    visibility: visible
}

.has-by-category .header-bottom_wrap.hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

@media (max-width:1199px) {
    .has-by-category .box-open-header-bottom {
        display: none !important
    }
}

.btn-open-header-bottom {
    display: flex
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.header-inner .header-left,
.header-inner .header-right {
    flex: 1
}

.header-inner .header-right {
    display: flex;
    justify-content: flex-end
}

.nav-icon-list {
    display: flex;
    align-items: center;
    gap: 24px
}

.nav-icon-list .nav-icon-item {
    display: flex;
    position: relative
}

.nav-icon-list .nav-icon-item .icon {
    font-size: 24px
}

.nav-icon-list .nav-icon-item.has-text {
    display: flex;
    align-items: center;
    gap: 12px
}

.nav-icon-list .nav-icon-item .count {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 11px;
    line-height: 10px;
    color: var(--white);
    background: var(--primary)
}

@media (max-width:767px) {
    .nav-icon-list {
        gap: 12px
    }
}

.box-navigation.style-white .item-link,
.box-navigation.style-white-2 .item-link {
    color: var(--white)
}

.box-navigation.style-white-2 .item-link .cus-text:after {
    background: var(--text)
}

.box-navigation.style-white-2 .menu-item:hover .item-link {
    color: var(--text)
}

.box-nav-menu {
    gap: 24px
}

.box-nav-menu,
.item-link {
    display: flex;
    align-items: center
}

.item-link {
    font-weight: 500;
    gap: 4px;
    padding-top: 27px;
    padding-bottom: 27px;
    position: relative
}

.item-link:after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 48px);
    height: 100%;
    display: none
}

.item-link .cus-text {
    position: relative
}

.item-link .cus-text:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: auto;
    right: 0;
    width: 0;
    height: 1px;
    background: var(--primary);
    transition: all .3s ease
}

.item-link .icon {
    transition: all .3s ease
}

.menu-item:hover .item-link {
    color: var(--primary)
}

.menu-item:hover .item-link:after {
    display: block
}

.menu-item:hover .item-link .cus-text:after {
    right: auto;
    left: 0;
    width: 100%
}

.menu-item:hover .item-link .icon {
    transform: rotate(180deg)
}

.menu-item:hover .sub-menu {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: all
}

@media (max-width:1439px) {
    .menu-item.menu-cus {
        position: unset
    }
}

.sub-menu {
    position: absolute;
    left: -32px;
    right: auto;
    padding: 32px;
    background: var(--white);
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    border-radius: 0 0 16px 16px;
    transform: translateY(10px);
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

@media (max-width:1439px) {
    .sub-menu {
        min-width: 180px
    }

    .sub-menu.mega-menu {
        left: 0;
        right: 0
    }
}

.mega-menu {
    width: 100%;
    margin: auto;
    left: 0;
    right: 0;
    padding-bottom: 48px
}

@media (max-width:1439px) {
    .mega-menu .card-product .card-product_wrapper.square .compare {
        display: none !important
    }

    .mega-menu .card-product.has-size .variant-box {
        display: none
    }

    .mega-menu .card-product.has-size .product-action_bot {
        bottom: 16px
    }
}

.mega-menu-item .menu-heading {
    margin-bottom: 16px
}

.mega-menu_grouped .mega-menu-item {
    min-width: 200px
}

.sub-menu_wrap {
    display: flex;
    gap: 40px
}

.sub-menu_wrap .sub-image {
    width: 300px;
    border-radius: 8px;
    overflow: hidden
}

.menu-heading {
    margin-bottom: 16px;
    font-weight: 600;
    line-height: 26px
}

.sub-menu_list li:not(:first-child) .sub-menu_link {
    padding-top: 8px
}

.sub-menu_list li:not(:last-child) .sub-menu_link {
    padding-bottom: 8px
}

@media (min-width:1440px) {
    .sub-menu_list {
        min-width: 150px
    }
}

.sub-menu_link {
    white-space: nowrap;
    color: var(--text-2);
    font-weight: 500
}

.sub-menu_link .cus-text {
    position: relative
}

.sub-menu_link .cus-text:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: auto;
    right: 0;
    width: 0;
    height: 1px;
    background: var(--text);
    transition: all .3s ease
}

.sub-menu_link:hover {
    color: var(--text)
}

.sub-menu_link:hover .cus-text:after {
    right: auto;
    left: 0;
    width: 100%
}

.sub-menu_link.has-text {
    display: flex;
    align-items: center;
    gap: 8px
}

.sub-menu_link.type-pri:hover {
    color: var(--primary)
}

.sub-menu_link.type-pri .cus-text:after {
    background: var(--primary)
}

.demo-label {
    font-size: 10px;
    line-height: 12px;
    padding: 2px 4px;
    border-radius: 4px;
    color: var(--white);
    font-weight: 600
}

.demo-label.type-hot {
    background: var(--primary)
}

.demo-label.type-trend {
    background: var(--yellow)
}

.demo-label.type-new {
    background: var(--pink)
}

.demo-label.type-soon {
    background: rgba(147, 39, 166, .8)
}

.nav-category-wrap {
    position: relative;
    min-width: 300px
}

.nav-category-wrap.style-2 .btn-nav-drop {
    background: var(--primary)
}

.nav-category-wrap.style-2 .box-nav-category {
    border: 3px solid var(--primary);
    border-top: 0
}

.nav-category-wrap.style-2 .has-sub-nav-category .sub-nav-category {
    padding: 24px
}

.nav-category-wrap.style-2 .sub-nav-category_list .sub-nav__link:not(:last-child) {
    margin-bottom: 24px
}

.nav-category-wrap.style-3 .btn-nav-drop {
    padding-top: 12px;
    padding-bottom: 12px
}

.nav-category-wrap.style-3 .btn-nav-drop:not(:hover) {
    background: var(--bg);
    color: var(--text)
}

.nav-category-wrap.style-4 {
    min-width: 220px
}

.nav-category-wrap.style-4 .btn-nav-drop {
    background: var(--white);
    border: 1px solid var(--line);
    color: var(--text);
    padding: 11px 15px
}

.box-nav-category {
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    background: var(--white);
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    transform: translateY(10px);
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease;
    border-radius: 0 0 12px 12px
}

.box-nav-category.active {
    transform: translateY(0);
    opacity: 1;
    visibility: visible
}

.box-nav-category li:not(:last-child) {
    border-bottom: 1px solid var(--line)
}

.box-nav-category li:last-child .nav-category_link {
    border-radius: 0 0 12px 12px
}

.has-sub-nav-category {
    position: relative
}

.has-sub-nav-category .sub-nav-category {
    padding: 32px 48px 32px 32px;
    border-radius: 12px;
    background: var(--white);
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    position: absolute;
    left: 100%;
    top: 0;
    white-space: nowrap;
    transform: translateY(10px);
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.has-sub-nav-category .tf-grid-layout {
    gap: 30px 50px
}

.has-sub-nav-category:hover .nav-category_link {
    color: var(--primary);
    background: var(--bg)
}

.has-sub-nav-category:hover .sub-nav-category {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: all
}

.sub-nav-category_list {
    display: grid;
    place-items: start;
    min-width: 200px
}

.sub-nav-category_list .sub-nav__title {
    margin-bottom: 12px
}

.sub-nav-category_list .sub-nav__link:not(:last-child) {
    margin-bottom: 8px
}

.nav-category_link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 16px 24px;
    color: var(--text);
    font-weight: 500
}

.nav-category_link .icon {
    font-size: 20px
}

.nav-category_link:hover {
    color: var(--primary);
    background: var(--bg)
}

.btn-nav-drop {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    background: var(--black);
    color: var(--white);
    transition: all .3s ease;
    padding: 15px 20px
}

.btn-nav-drop .name-category {
    transition: all .3s ease;
    flex: 1
}

.btn-open-menu {
    font-size: 24px;
    display: inline-flex
}

.canvas-mb .canvas-header {
    display: grid;
    gap: 20px;
    justify-content: unset;
    padding: 20px
}

.canvas-mb .canvas-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    padding-top: 0
}

.canvas-mb .need-help-wrap {
    display: grid
}

.canvas-mb .canvas-footer {
    display: flex;
    border-top: 1px solid var(--line);
    box-shadow: unset;
    padding: 0
}

.canvas-mb .canvas-footer>* {
    width: 100%;
    padding: 6px 0 7px
}

.nav-ul-mb .nav-mb-item:not(:last-child) .mb-menu-link {
    padding-bottom: 12px
}

.nav-ul-mb .nav-mb-item:not(:last-child) {
    border-bottom: 1px solid var(--line)
}

.nav-ul-mb .nav-mb-item:not(:first-child) .mb-menu-link {
    padding-top: 12px
}

.mb-menu-link {
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.mb-menu-link:not(.collapsed) .ic-custom:before {
    transform: rotate(90deg)
}

.mb-menu-link:not(.collapsed) .ic-custom:after {
    transform: rotate(180deg)
}

.mb-menu-link .ic-custom {
    width: 12px;
    height: 12px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.mb-menu-link .ic-custom:after,
.mb-menu-link .ic-custom:before {
    content: "";
    position: absolute;
    background: var(--black);
    border-radius: 999px;
    transition: all .3s ease
}

.mb-menu-link .ic-custom:after {
    width: 100%;
    height: 2px
}

.mb-menu-link .ic-custom:before {
    height: 100%;
    width: 2px
}

.mb-menu-link.active {
    font-weight: 700;
    color: var(--black)
}

.sub-nav-link .icon {
    transition: all .3s ease
}

.sub-nav-link:not(.collapsed) .icon {
    transform: rotateX(180deg)
}

.sub-nav-menu {
    padding-left: 16px;
    padding-top: 4px;
    padding-bottom: 4px;
    margin-left: 16px;
    border-left: 1px solid var(--line);
    margin-bottom: 20px
}

.sub-nav-menu .sub-nav-link {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--text);
    display: flex;
    padding-top: 8px;
    padding-bottom: 8px;
    align-items: center;
    justify-content: space-between
}

.sub-nav-menu .sub-nav-link .icon {
    font-size: 14px
}

.sub-nav-menu .sub-nav-link.active {
    font-weight: 700;
    color: var(--black)
}

.sub-nav-menu .sub-nav-link.soon {
    pointer-events: none;
    color: var(--text-3)
}

.demo-item {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 12px;
    padding: 8px 8px 12px;
    backdrop-filter: blur(4px);
    border: 1px solid var(--line);
    background-color: var(--bg);
    transition: all .3s ease;
    border-radius: 8px
}

.demo-item .demo-img {
    position: relative;
    border-radius: 6px;
    overflow: hidden
}

.demo-item .demo-img img {
    aspect-ratio: .9;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top
}

.demo-item .demo-name {
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    transition: all .3s ease;
    color: var(--text-2);
    display: flex;
    align-items: center;
    gap: 8px
}

.demo-item:hover {
    border-color: var(--text)
}

.demo-item:hover .demo-name {
    color: var(--text)
}

.demo-item.soon {
    pointer-events: none;
    opacity: .5
}

.row-demo {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px
}

@media (min-width:1440px) {
    .row-demo {
        grid-template-columns: repeat(6, 1fr)
    }
}

@media (min-width:1600px) {
    .row-demo {
        grid-template-columns: repeat(7, 1fr)
    }
}

.mega-menu_home .row-demo {
    margin-bottom: 30px
}

.mega-menu_home_v2 {
    display: flex;
    gap: 40px;
    left: 0
}

.mega-menu_home_v2 .sub-menu_list {
    min-width: 200px
}

.mega-menu_home_v2 .sub-menu_list .soon {
    pointer-events: none;
    color: var(--text-3)
}

.mega-menu_home_v2 .image-preview {
    border-radius: 8px;
    overflow: hidden;
    display: flex
}

.mega-menu_home_v2 .image-preview img {
    max-width: 300px
}

.mega-menu_home_v2.home-type_2 {
    left: -280px
}

.mega-menu_home_v2.home-type_4 {
    left: -180px
}

@media (max-width:1439px) {
    .mega-menu_home_v2.home-type_3 {
        left: -180px
    }
}

.nav-account {
    position: relative
}

.nav-account .dropdown-account {
    pointer-events: none;
    position: absolute;
    background-color: var(--white);
    min-width: 200px;
    z-index: 999;
    text-align: left;
    top: calc(100% + 28px);
    opacity: 0;
    visibility: hidden;
    border-radius: 8px;
    transform: translateX(0) translateY(15px);
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .12);
    transition: all .3s ease;
    left: -100px;
    padding: 8px 28px
}

.nav-account .dropdown-account .list-menu-item li:not(:last-child) {
    margin-bottom: 8px
}

.nav-account .dropdown-account .list-menu-item li:not(:last-child) a {
    border-bottom: 1px solid var(--line)
}

.nav-account .dropdown-account .list-menu-item a {
    padding: 8px 0;
    display: block
}

.nav-account:hover .dropdown-account {
    pointer-events: all;
    opacity: 1;
    visibility: visible;
    transform: translateX(0) translateY(0)
}

.nav-account:hover .nav-icon-item:after {
    display: block
}

.nav-account .dropdown-login {
    left: -200px;
    min-width: 290px;
    padding: 24px
}

.nav-account .dropdown-login .tf-btn {
    border-radius: 4px;
    width: 100%;
    font-size: 12px;
    line-height: 20px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .1em
}

.nav-account .dropdown-login .sub-top {
    display: grid;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line)
}

.nav-account .dropdown-login .sub-bot {
    padding: 16px 0
}

.nav-account .nav-icon-item {
    position: relative
}

.nav-account .nav-icon-item:after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 82px;
    display: none
}

.tf-topbar {
    padding-top: 12px;
    padding-bottom: 12px;
    position: relative;
    z-index: 101
}

.tf-topbar .br-line.fake-class {
    position: absolute;
    left: 0;
    right: 0
}

.swiper-topbar {
    height: 26px
}

.topbar-s2 {
    position: relative
}

.topbar-s2:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--line)
}

.topbar-s3 {
    padding-top: 9px;
    padding-bottom: 9px
}

.article-blog {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 16px
}

.article-blog .blog-image {
    border-radius: 16px;
    overflow: hidden;
    position: relative
}

.article-blog .entry-date {
    margin-bottom: 12px
}

.article-blog .entry-title {
    margin-bottom: 8px
}

.article-blog .wrap-tags {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 3
}

.article-blog .wrap-tags .tag {
    padding: 4px 11px;
    background-color: var(--text);
    border-radius: 4px;
    color: var(--white)
}

.article-blog.style-list .entry-desc {
    margin-bottom: 12px
}

.article-blog.style-list .blog-image {
    border-radius: 8px
}

@media (min-width:576px) {
    .article-blog.style-list.list-v2 {
        flex-direction: row
    }

    .article-blog.style-list.list-v2 .blog-image {
        max-width: 300px;
        width: 100%
    }
}

.article-blog.style-2 {
    border-radius: 16px;
    overflow: hidden;
    position: relative
}

.article-blog.style-2 img {
    min-height: 450px
}

.article-blog.style-2 .blog-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 24px 28px;
    background: rgba(0, 0, 0, .2);
    backdrop-filter: blur(40px)
}

@media (max-width:767px) {
    .article-blog.style-2 .blog-content {
        padding: 24px 15px
    }
}

.article-blog.style-3 .blog-image {
    border-radius: 1000px 1000px 0 0;
    position: relative
}

.article-blog.style-3 .wrap-tags {
    position: absolute;
    left: 12px;
    bottom: 12px;
    top: unset;
    z-index: 3
}

.article-blog.style-3 .wrap-tags .tag {
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 8px;
    background-color: var(--text);
    border-radius: 4px;
    color: var(--white);
    height: 30px
}

@media (min-width:1200px) {
    .article-blog {
        gap: 24px
    }

    .article-blog.style-list {
        display: flex;
        align-items: center;
        flex-direction: row
    }
}

@media (min-width:1440px) {
    .article-blog.style-list .blog-image {
        max-width: 340px;
        flex-shrink: 0
    }
}

.tf-page-pagination {
    display: flex;
    gap: 8px
}

.tf-page-pagination .pag-item {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    font-weight: 600
}

.tf-page-pagination .pag-item.active,
.tf-page-pagination .pag-item:hover {
    border-color: var(--text);
    background: var(--text);
    color: var(--white)
}

.blog-sidebar {
    max-width: 380px;
    margin-left: auto
}

.sidebar-item:not(:last-child) {
    margin-bottom: 40px
}

.sidebar-item .sb-title {
    margin-bottom: 16px
}

.sb-category {
    display: grid;
    gap: 12px
}

.sb-category a {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.sb-category a:not(:hover) {
    color: var(--text-2)
}

.sb-recent .recent-item {
    display: flex;
    align-items: center;
    gap: 28px
}

.sb-recent .recent-item:not(:last-child) {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line)
}

.sb-recent .image {
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0
}

.sb-recent .image img {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1
}

.sb-recent .meta-date {
    margin-bottom: 4px
}

.sb-recent .meta-name {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden
}

@media (max-width:991px) {
    .sb-recent .recent-item {
        gap: 16px
    }
}

.sb-tag {
    display: flex;
    gap: 11px;
    flex-wrap: wrap
}

.sb-tag a {
    padding: 4px 16px;
    border-radius: 100px;
    color: var(--text-2);
    background: var(--bg)
}

.sb-tag a:hover {
    background: var(--primary);
    color: var(--white)
}

@media (max-width:991px) {
    .sb-tag {
        gap: 8px
    }
}

.btn-sidebar-mb {
    position: fixed;
    top: 30%;
    left: 0;
    z-index: 50
}

.btn-sidebar-mb button {
    width: 40px;
    height: 40px;
    border: 1px solid var(--black);
    background-color: var(--black);
    color: var(--white);
    display: flex;
    justify-content: center;
    align-items: center
}

.btn-sidebar-mb button i {
    font-size: 20px
}

.btn-sidebar-mb.right {
    left: unset;
    right: 0;
    transform: rotate(180deg)
}

.main-blog-single .wg-comment {
    margin-bottom: 40px
}

.main-blog-single .blog-image {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 60px
}

.main-blog-single .blog-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    min-height: 350px
}

.main-blog-single .blog-content {
    display: grid;
    gap: 40px;
    margin-bottom: 40px
}

.main-blog-single .blog-content .tf-list li {
    padding-left: 27px;
    position: relative
}

.main-blog-single .blog-content .tf-list li:after {
    content: "";
    position: absolute;
    inset: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--text);
    top: 12px;
    left: 13px
}

.main-blog-single .blog-heading {
    text-align: center;
    display: grid;
    place-items: center;
    gap: 16px
}

.main-blog-single .blog-heading .entry-tag {
    padding: 7px 16px;
    background: var(--bg);
    display: inline-flex;
    border-radius: 100px
}

.main-blog-single .blog-heading .entry-meta {
    display: flex;
    align-items: center;
    gap: 16px
}

.main-blog-single .blog-heading .meta-item {
    display: flex;
    align-items: center;
    gap: 4px
}

.main-blog-single .blog-heading .meta-item .icon {
    font-size: 20px
}

.main-blog-single .blog-image-2 {
    border-radius: 8px;
    overflow: hidden
}

.main-blog-single .box-social-tag {
    justify-content: space-between;
    flex-wrap: wrap
}

.main-blog-single .box-social-tag,
.main-blog-single .box-social-tag .social-left {
    display: flex;
    align-items: center;
    gap: 12px
}

.main-blog-single .box-social-tag .tags-right a {
    padding: 4px 16px;
    border-radius: 100px;
    color: var(--text-2);
    background: var(--bg)
}

.main-blog-single .box-social-tag .tags-right a:hover {
    background: var(--primary);
    color: var(--white)
}

.main-blog-single .box-social-tag .tf-social-icon-2 a {
    width: 32px;
    height: 32px
}

.main-blog-single .box-social-tag .tf-social-icon-2 .icon {
    font-size: 16px
}

.main-blog-single .group-direc {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 23px;
    padding-bottom: 23px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line)
}

.main-blog-single .group-direc .br-line {
    height: 100%
}

.main-blog-single .group-direc .btn-direc {
    display: grid;
    gap: 8px
}

.main-blog-single .group-direc .btn-direc.next {
    text-align: end
}

@media (max-width:991px) {
    .main-blog-single .wg-comment {
        margin-bottom: 30px
    }

    .main-blog-single .blog-image {
        margin-bottom: 40px
    }

    .main-blog-single .blog-content {
        gap: 30px;
        margin-bottom: 30px
    }
}

@keyframes sliderShape {

    0%,
    to {
        border-radius: 42% 58% 70% 30%/45% 45% 55% 55%;
        transform: translateZ(0) rotate(.01deg)
    }

    34% {
        border-radius: 70% 30% 46% 54%/30% 29% 71% 70%;
        transform: translate3d(0, 5px, 0) rotate(.01deg)
    }

    50% {
        transform: translateZ(0) rotate(.01deg)
    }

    67% {
        border-radius: 100% 60% 60% 100%/100% 100% 60% 60%;
        transform: translate3d(0, -3px, 0) rotate(.01deg)
    }
}

@keyframes tf-animate-zoom-in-out {
    0% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.1)
    }

    to {
        transform: scale(1)
    }
}

@keyframes ripple-line {
    to {
        transform: scale(2);
        opacity: 0
    }
}

@keyframes shine-reverse {
    0% {
        left: 100%
    }

    to {
        left: -100%
    }
}

@keyframes spinner-circleBounceDelay {

    0%,
    80%,
    to {
        transform: scale(0)
    }

    40% {
        transform: scale(1)
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

.ani-zoom {
    animation: tf-animate-zoom-in-out 30s linear infinite
}

@keyframes iconBounce {

    0%,
    20%,
    50%,
    80%,
    to {
        transform: translateY(0)
    }

    40% {
        transform: translateY(-8px)
    }

    60% {
        transform: translateY(-5px)
    }
}

@keyframes float1 {

    0%,
    to {
        transform: translateY(0) rotate(0deg)
    }

    50% {
        transform: translateY(-5px) rotate(-5deg)
    }
}

@keyframes float2 {

    0%,
    to {
        transform: translateX(0) rotate(0deg)
    }

    50% {
        transform: translateX(5px) rotate(10deg)
    }
}

@keyframes float3 {

    0%,
    to {
        transform: scale(1) rotate(0deg)
    }

    50% {
        transform: scale(1.1) rotate(-8deg)
    }
}

@keyframes float4 {

    0%,
    to {
        opacity: .6;
        transform: translateY(0)
    }

    50% {
        opacity: 1;
        transform: translateY(-8px)
    }
}

@keyframes float5 {

    0%,
    to {
        transform: rotate(0deg) scale(1)
    }

    25% {
        transform: rotate(5deg) scale(1.05)
    }

    75% {
        transform: rotate(-5deg) scale(1.05)
    }
}

@keyframes bgMove {
    0% {
        background-position: 200% 0
    }

    to {
        background-position: 0 0
    }
}

@keyframes effect-send {
    0% {
        transform: translateX(0);
        opacity: 1
    }

    49% {
        transform: translate3d(42px, -39px, 38px);
        opacity: 0
    }

    50% {
        transform: translate3d(-42px, 39px, 38px);
        opacity: 0
    }

    to {
        transform: translateX(0);
        opacity: 1
    }
}

@keyframes move-stripes {
    0% {
        background-position: 0 0
    }

    to {
        background-position: 1000px 0
    }
}

.effect-flash {
    position: relative;
    overflow: hidden
}

.effect-flash:after {
    background-image: linear-gradient(90deg, transparent, var(--white), transparent);
    content: "";
    left: 150%;
    position: absolute;
    top: 0;
    bottom: 0;
    transform: skew(-20deg);
    width: 200%;
    animation: erFlashEffect 3s cubic-bezier(.01, .56, 1, 1) infinite;
    opacity: .7
}

@keyframes erFlashEffect {

    20%,
    to {
        left: -200%
    }
}

@keyframes BackgroundAnimatedVertical {
    0% {
        background-position: 50% 0
    }

    to {
        background-position: 50% 100%
    }
}

.clip-text-bg-vertical {
    animation: BackgroundAnimatedVertical 10s linear infinite
}

.hover-img .img-style {
    overflow: hidden
}

.hover-img .img-style>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: opacity .5s ease, transform 1.5s cubic-bezier(0, 0, .44, 1.18)
}

.hover-img:hover .img-style>img {
    transform: scale(1.1)
}

.hover-img .img-style2 {
    overflow: hidden;
    border-radius: 10px
}

.hover-img .img-style2 .img-hv {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all 1s cubic-bezier(.3, 1, .35, 1) 0s;
    transition: transform .5s ease
}

.hover-img2 .img-style2 {
    overflow: hidden;
    border-radius: 8px
}

.hover-img2 .img-style2 .img2 {
    transition: all .3s ease
}

.hover-img2:hover .img2 {
    transform: scale(1.1) rotate(3deg)
}

.hover-img3 .img-style3 {
    border-radius: 8px;
    overflow: hidden
}

.hover-img3 .img-style3 img {
    width: 100%;
    transition: all .3s ease
}

.hover-img3:hover img {
    transform: scale(1.075);
    transition: all .3s ease
}

.hover-img4 .img-style4 {
    position: relative;
    overflow: hidden
}

.hover-img4 .img-style4:after {
    content: "";
    position: absolute;
    width: 200%;
    height: 0;
    left: 50%;
    top: 50%;
    background-color: hsla(0, 0%, 100%, .3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
    pointer-events: none
}

.hover-img4 .img-style4 img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all 1s
}

.hover-img4:hover .img-style4:after {
    height: 250%;
    transition: all .6s linear;
    background-color: transparent
}

.hover-img4:hover .img-style4 img {
    transform: scale(1.1)
}

.hv-one:hover .box-img .icon-practice,
.pagi2 .swiper-pagination2:hover .box-img .icon-practice,
.swiper-button-next2:hover .box-img .icon-practice,
.swiper-button-prev2:hover .box-img .icon-practice {
    opacity: 1;
    z-index: 99;
    top: 50%;
    transition-delay: .5s
}

.hv-one:hover .img-style:before,
.pagi2 .swiper-pagination2:hover .img-style:before,
.swiper-button-next2:hover .img-style:before,
.swiper-button-prev2:hover .img-style:before {
    opacity: 1
}

.hv-one .img-style,
.pagi2 .swiper-pagination2 .img-style,
.swiper-button-next2 .img-style,
.swiper-button-prev2 .img-style {
    border-radius: 10px;
    overflow: hidden
}

.hv-one .img-style:before,
.pagi2 .swiper-pagination2 .img-style:before,
.swiper-button-next2 .img-style:before,
.swiper-button-prev2 .img-style:before {
    content: "";
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    position: absolute;
    background: rgba(0, 0, 0, .502);
    width: 100%;
    height: 100%;
    transition: all .5s ease;
    z-index: 99;
    opacity: 0;
    border-radius: 10px
}

.hv-one .img-style.s-one:before,
.pagi2 .swiper-pagination2 .img-style.s-one:before,
.swiper-button-next2 .img-style.s-one:before,
.swiper-button-prev2 .img-style.s-one:before {
    border-radius: 50%
}

.hv-one2:hover .img-style2:before {
    opacity: 1;
    visibility: visible
}

.hv-one2 .img-style2:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transition: all .4s ease-out 0s;
    opacity: 0;
    visibility: hidden;
    background: rgba(0, 0, 0, .5);
    z-index: 1;
    border-radius: 10px
}

.hv-tool {
    transition: all .3s ease
}

.hover-tooltip,
.hv-tool {
    position: relative
}

.hover-tooltip .tooltip {
    font-family: var(--primary-font, "DM Sans"), sans-serif;
    position: absolute;
    white-space: nowrap;
    padding: 2px 12px;
    border-radius: 2px;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    color: var(--white);
    background-color: var(--black);
    transition: transform .3s ease .1s, opacity .3s ease .1s;
    z-index: 5;
    font-size: 12px;
    line-height: 22px;
    font-weight: 400;
    border-radius: 8px;
    text-align: center;
    display: none
}

.hover-tooltip .tooltip:before {
    content: "";
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    top: 22px;
    position: absolute;
    background: var(--black);
    width: 9px;
    height: 9px;
    z-index: -1
}

@media (min-width:1200px) {
    .hover-tooltip .tooltip {
        display: block
    }
}

.hover-tooltip:hover .tooltip {
    opacity: 1;
    visibility: visible
}

.hover-tooltip.tooltip-bot .tooltip {
    top: calc(100% + 9px);
    bottom: unset
}

.hover-tooltip.tooltip-bot .tooltip:before {
    top: -5px
}

.hover-tooltip.tooltip-left .tooltip {
    right: 100%;
    bottom: auto;
    transform: translateX(0);
    left: unset
}

.hover-tooltip.tooltip-left .tooltip:before {
    top: 50%;
    left: auto;
    transform: translateY(-50%) rotate(45deg);
    right: -4px
}

.hover-tooltip.tooltip-left:hover .tooltip {
    transform: translateX(-12px)
}

.hover-tooltip.tooltip-right .tooltip {
    left: 100%;
    bottom: auto;
    transform: translateX(0)
}

.hover-tooltip.tooltip-right .tooltip:before {
    top: 50%;
    right: auto;
    transform: translateY(-50%) rotate(45deg);
    left: -4px
}

.hover-tooltip.tooltip-right:hover .tooltip {
    transform: translateX(8px)
}

.hover-overlay {
    position: relative
}

.hover-overlay:before {
    position: absolute;
    z-index: 2;
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .1);
    top: 0;
    left: 0;
    transition: .4s ease .1s;
    opacity: 0;
    visibility: hidden
}

.hover-overlay:hover:before {
    opacity: 1;
    visibility: visible
}

.hover-cursor-img .hover-image {
    display: none
}

@media (min-width:1200px) {
    .hover-cursor-img {
        position: relative
    }

    .hover-cursor-img .hover-image {
        position: fixed;
        display: block;
        transform: scale(0);
        pointer-events: none;
        opacity: 0;
        transition: transform .3s ease, opacity .3s ease;
        z-index: 1000
    }

    .hover-cursor-img .hover-image img {
        border-radius: 50%;
        max-width: 150px;
        box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122)
    }
}

.box-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
    cursor: pointer
}

.social-color {
    --facebook-cl: #3b5998;
    --x-cl: #555;
    --instagram-cl: linear-gradient(#8a3ab9, #e95950, #fccc63);
    --threads-cl: #e03566;
    --youtube-cl: #cd201f;
    --tiktok-cl: linear-gradient(#25f4ee, #000, #fe2c55);
    --tiktok-cl2: #fe2c55;
    --pinterest-cl: #cb2027;
    --tumblr-cl: #37455c;
    --vimeo-cl: #1ab7ea;
    --snapchat-cl: #fd0;
    --whatsapp-cl: #00e676;
    --linked_in-cl: #176aff;
    --wechat-cl: #1aad18;
    --reddit-cl: #ff4500;
    --line-cl: #00c34d;
    --spotify-cl: #1e7d60
}

.social-color a {
    position: relative;
    overflow: hidden
}

.social-color a:after {
    content: "";
    position: absolute;
    background: transparent;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    z-index: 0;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden
}

.social-color .social-facebook:after {
    background: var(--facebook-cl)
}

.social-color .social-facebook:hover {
    color: var(--white)
}

.social-color .social-facebook:hover:after {
    opacity: 1;
    visibility: visible
}

.social-color .social-instagram:after {
    background: var(--instagram-cl)
}

.social-color .social-instagram:hover {
    color: var(--white)
}

.social-color .social-instagram:hover:after {
    opacity: 1;
    visibility: visible
}

.social-color .social-x:after {
    background: var(--x-cl)
}

.social-color .social-x:hover {
    color: var(--white)
}

.social-color .social-x:hover:after {
    opacity: 1;
    visibility: visible
}

.social-color .social-snapchat:after {
    background: var(--snapchat-cl)
}

.social-color .social-snapchat:hover {
    color: var(--white)
}

.social-color .social-snapchat:hover:after {
    opacity: 1;
    visibility: visible
}

.social-color .social-pinterest:after {
    background: var(--pinterest-cl)
}

.social-color .social-pinterest:hover {
    color: var(--white)
}

.social-color .social-pinterest:hover:after {
    opacity: 1;
    visibility: visible
}

.social-color .social-linkin:after {
    background: var(--linked_in-cl)
}

.social-color .social-linkin:hover {
    color: var(--white)
}

.social-color .social-linkin:hover:after {
    opacity: 1;
    visibility: visible
}

.social-color .social-tiktok:after {
    background: var(--tiktok-cl)
}

.social-color .social-tiktok:hover {
    color: var(--white)
}

.social-color .social-tiktok:hover:after {
    opacity: 1;
    visibility: visible
}

.tf-social-icon-2 {
    display: flex;
    align-items: center;
    gap: 8px
}

.tf-social-icon-2 a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--line)
}

.tf-social-icon-2 a:hover {
    border-color: var(--primary);
    background-color: var(--primary);
    color: var(--white)
}

.tf-social-icon-2 .icon {
    font-size: 24px
}

.tf-social-icon-2.style-2 a {
    width: 32px;
    height: 32px
}

.tf-social-icon-2.style-2 a:hover {
    border-color: var(--text);
    background-color: var(--text)
}

.tf-social-icon-2.style-2 .icon {
    font-size: 16px
}

.tf-social-icon-2.hv-dark a:hover {
    border-color: var(--text);
    background-color: var(--text)
}

@media (min-width:1200px) {
    .tf-social-icon-2 a {
        width: 44px;
        height: 44px
    }
}

.box-icon_V01 {
    text-align: center;
    position: relative
}

.box-icon_V01 .icon {
    font-size: 40px;
    margin-bottom: 20px;
    display: inline-flex;
    transition-duration: .5s
}

.box-icon_V01 .title {
    margin-bottom: 8px
}

.box-icon_V01:hover .icon {
    transform: scale(1.1);
    transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36)
}

.box-icon_V01.has-line .icon {
    font-size: 60px
}

.box-icon_V01.has-line:after {
    content: "";
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    height: 80px;
    width: 1px;
    background-color: var(--line)
}

@media (max-width:1199px) {
    .box-icon_V01.has-line:after {
        right: -16px
    }
}

@media (max-width:767px) {
    .box-icon_V01.has-line:after {
        right: -6px
    }
}

.box-icon_V01.style-2 .icon {
    margin-bottom: 16px
}

@media (min-width:576px) {
    .box-icon_V01.style-3 {
        display: flex;
        align-items: center;
        gap: 20px;
        text-align: start
    }

    .box-icon_V01.style-3 .icon {
        margin-bottom: 0;
        font-size: 60px
    }
}

@media (min-width:992px) {
    .box-icon_V01 .icon {
        font-size: 48px
    }
}

@media (min-width:1200px) {
    .box-icon_V01.style-2 .icon {
        font-size: 60px
    }
}

.box-icon_V02 {
    text-align: center;
    padding: 31px;
    border: 1px solid var(--white-10);
    border-radius: 12px;
    display: grid;
    gap: 16px
}

.box-icon_V02 .icon {
    font-size: 60px;
    transition-duration: .5s
}

.box-icon_V02:hover .icon {
    transform: scale(1.1);
    transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36)
}

@media (max-width:1199px) {
    .box-icon_V02 .icon {
        font-style: 40px
    }
}

@media (max-width:767px) {
    .box-icon_V02 {
        padding: 20px 15px
    }
}

.box-icon_V03 {
    text-align: start;
    place-items: start;
    background: hsla(0, 0%, 100%, .059);
    border: 0;
    padding: 20px;
    border-radius: 8px;
    display: grid
}

.box-icon_V03 .icon {
    font-size: 60px;
    transition-duration: .5s
}

.box-icon_V03 .ic-wrap {
    margin-bottom: 20px
}

.box-icon_V03 .tf-btn-line-2 {
    padding-bottom: 2px
}

.box-icon_V03:hover .icon {
    transform: scale(1.1);
    transition-timing-function: cubic-bezier(.47, 2.02, .31, -.36)
}

@media (max-width:1199px) {
    .box-icon_V03 .icon {
        font-style: 40px
    }
}

.offcanvas {
    border: none !important;
    color: var(--black);
    z-index: 3000;
    background-color: var(--white)
}

.offcanvas.offcanvas-end,
.offcanvas.offcanvas-start {
    width: 320px
}

.offcanvas .icon-close-popup {
    transition: all .3s ease;
    cursor: pointer;
    font-size: 24px;
    z-index: 2
}

.offcanvas .icon-close-popup:hover {
    color: var(--primary)
}

.offcanvas .offcanvas-content {
    height: 100%
}

.offcanvas.offcanvas-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    opacity: 0;
    visibility: hidden;
    max-width: calc(100vw - 30px)
}

.offcanvas.offcanvas-center.show {
    visibility: visible;
    opacity: 1
}

.offcanvas-backdrop {
    z-index: 2999;
    cursor: url(../images/cursor-close.svg), auto
}

.overflow-x-auto::-webkit-scrollbar,
.overflow-y-auto::-webkit-scrollbar {
    width: 0
}

.modal {
    cursor: url(../images/cursor-close.svg), auto
}

.modal .icon-close-popup {
    top: 10px;
    right: 10px;
    transition: all .3s ease;
    cursor: pointer;
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg);
    z-index: 2
}

.modal .icon-close-popup:hover {
    background: var(--text);
    color: var(--white);
    transform: rotate(180deg)
}

@media (min-width:992px) {
    .modal .icon-close-popup {
        top: 20px;
        right: 20px
    }
}

.modal .modal-content {
    border: 0
}

.modal .modal-body {
    padding: 0
}

.modal.fullRight .modal-dialog {
    transform: translate(100%);
    min-width: 100%;
    height: 100%;
    margin: 0;
    transition: transform 1s ease-out
}

.modal.fullRight .modal-dialog .modal-content {
    border-radius: 0;
    border: 0;
    margin: auto;
    overflow: hidden;
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0;
    padding: 0
}

.modal.fullRight .modal-dialog .modal-content .modal-body {
    overflow: auto;
    padding: 0 0 30px
}

.modal.fullRight.show .modal-dialog {
    transform: none;
    transition: transform .4s ease-out
}

.modal.fullLeft .modal-dialog {
    transform: translate(-100%) !important;
    min-width: 100%;
    height: 100%;
    margin: 0;
    transition: all .3s !important
}

.modal.fullLeft .modal-content {
    border-radius: 0;
    border: 0;
    margin: auto;
    overflow: hidden;
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    padding: 0
}

.modal.fullLeft .modal-body {
    overflow: auto;
    padding: 0 0 30px
}

.modal.fullLeft.show .modal-dialog {
    transform: translate(0) !important
}

.modal.fullBottom .modal-dialog {
    transform: translateY(100%);
    min-width: 100%;
    height: 100%;
    max-height: unset;
    margin: 0;
    transition: transform .3s linear !important
}

.modal.fullBottom .modal-content {
    border-radius: 0;
    border: 0;
    margin: auto;
    overflow: hidden;
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0;
    max-height: -moz-max-content;
    max-height: max-content
}

.modal.fullBottom .modal-body {
    overflow: auto;
    padding: 0 0 30px
}

.modal.fullBottom.show .modal-dialog {
    transform: translate(0)
}

.modal.modalCentered .modal-dialog {
    margin: 15px auto;
    padding-left: 15px;
    padding-right: 15px;
    transform: translate(0) !important
}

.modal.fade:not(.show) {
    opacity: 0
}

.modal .modal-content {
    cursor: default !important;
    border-radius: 0
}

@media (max-width:575px) {
    .modal {
        --bs-modal-margin: 1.75rem
    }
}

.modal-dialog {
    background-clip: var(--white)
}

.modal-heading {
    position: relative;
    margin-bottom: 28px
}

.canvas-wrapper {
    padding: 0;
    isolation: isolate;
    height: 100%;
    width: 100%;
    max-height: none;
    display: grid;
    grid-auto-rows: auto minmax(0, 1fr) auto;
    align-content: start
}

.canvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    position: relative;
    text-transform: capitalize
}

.canvas-header:after {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    height: 1px;
    background-color: var(--line)
}

.canvas-body {
    background-color: var(--white);
    padding: 24px;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    flex: 1
}

.canvas-body::-webkit-scrollbar {
    width: 2px
}

.canvas-body::-webkit-scrollbar-track {
    background-color: var(--white)
}

.canvas-body::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 4px
}

.canvas-bottom,
.canvas-footer {
    padding: 20px 24px;
    box-shadow: 0 5px 18px 5px rgba(64, 72, 87, .149)
}

.canvas-filter .canvas-header {
    padding: 15px 24px;
    background: var(--bg)
}

.canvas-filter .canvas-body>:not(:last-child) {
    margin-bottom: 20px
}

@media (min-width:576px) {
    .canvas-filter {
        width: 400px !important
    }

    .canvas-filter .canvas-header {
        padding-left: 32px;
        padding-right: 32px
    }

    .canvas-filter .canvas-body {
        padding: 20px 32px
    }
}

@media (min-width:1200px) {
    .canvas-filter .canvas-body>:not(:last-child) {
        margin-bottom: 28px
    }

    .canvas-filter.offcanvas .canvas-body>:not(:last-child) {
        margin-bottom: 20px
    }
}

.sidebar-filter {
    background-color: var(--white);
    transition: all .3s ease;
    max-width: 360px
}

.sidebar-filter .canvas-header {
    color: var(--black)
}

.sidebar-filter .canvas-body {
    overflow-x: hidden
}

@media (min-width:1200px) {

    .sidebar-filter .canvas-body,
    .sidebar-filter .canvas-bottom {
        padding: 0
    }
}

@media (max-width:1199px) {
    .sidebar-filter {
        position: fixed;
        bottom: 0;
        z-index: 3000;
        display: flex;
        flex-direction: column;
        background-clip: padding-box;
        outline: 0
    }

    .sidebar-filter.left {
        top: 0;
        left: 0;
        transform: translateX(-100%)
    }

    .sidebar-filter.right {
        top: 0;
        right: 0;
        transform: translateX(100%)
    }

    .sidebar-filter.show {
        transform: none
    }
}

@media (min-width:1200px) {
    .sidebar-filter {
        max-width: 300px !important
    }

    .sidebar-filter .canvas-header {
        background: unset;
        padding: 0 0 28px
    }
}

.sidebar-filter-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 2999;
    cursor: pointer
}

@media (max-width:1199px) {
    body.sidebar-filter-open .sidebar-filter-backdrop {
        display: block
    }
}

.modal-log .modal-dialog {
    max-width: 510px
}

.modal-log .modal-content {
    position: relative;
    padding: 20px 15px;
    border-radius: 20px;
    overflow: hidden
}

@media (min-width:992px) {
    .modal-log .modal-content {
        padding: 32px
    }
}

.modal-ask .modal-dialog {
    max-width: 710px
}

.modal-ask .tf-field textarea {
    height: 160px
}

.tf-toolbar-bottom {
    display: none;
    padding: 15px 0 calc(15px + env(safe-area-inset-bottom, 0px));
    position: fixed;
    z-index: 200;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: var(--white);
    box-shadow: 0 5px 18px 5px rgba(64, 72, 87, .149)
}

.tf-toolbar-bottom .toolbar-item {
    flex: 1 0 20%;
    position: relative
}

.tf-toolbar-bottom a {
    width: 100%;
    gap: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.tf-toolbar-bottom .toolbar-icon {
    font-size: 20px;
    position: relative;
    display: flex
}

.tf-toolbar-bottom .toolbar-count {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    border-radius: 50%;
    font-size: 11px;
    line-height: 10px;
    color: var(--white)
}

.tf-toolbar-bottom .toolbar-label {
    font-size: 12px;
    line-height: 16px
}

@media (max-width:1199px) {
    .tf-toolbar-bottom {
        display: flex
    }

    body.modal-open .tf-toolbar-bottom {
        display: none
    }
}

.modal-newsletter .modal-dialog {
    max-width: 870px
}

.modal-newsletter .modal-content {
    border-radius: 16px;
    overflow: hidden
}

.modal-newsletter .image-left img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transform: translateX(20px);
    transition: all .3s ease;
    transition-delay: .1s
}

.modal-newsletter .content-right {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transform: translateX(-20px);
    transition: all .3s ease;
    transition-delay: .1s
}

.modal-newsletter .desc-pop {
    margin-bottom: 28px
}

.modal-newsletter.show .content-right,
.modal-newsletter.show .image-left img {
    transform: translateX(0)
}

@media (min-width:768px) {
    .modal-newsletter .image-left {
        max-width: 360px;
        width: 100%
    }

    .modal-newsletter .modal-content {
        flex-direction: row
    }
}

@media (min-width:1200px) {
    .modal-newsletter .desc-pop {
        margin-bottom: 40px
    }

    .modal-newsletter .content-right {
        padding: 32px
    }
}

@media (max-width:767px) {
    .modal-newsletter .image-left img {
        max-height: 300px;
        -o-object-position: top;
        object-position: top
    }
}

.modal-search .modal-dialog {
    max-width: 1154px
}

.modal-search .modal-content {
    gap: 24px;
    padding: 20px;
    border-radius: 24px
}

.modal-search .icon-close-popup {
    position: unset
}

.modal-search .form-search-nav input {
    border-radius: 12px
}

.modal-search .tf-list-tag {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.modal-search .link-tag {
    padding-left: 15px;
    padding-right: 15px;
    border: 1px solid var(--line);
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px
}

.modal-search .link-tag:hover {
    background: var(--line)
}

@media (min-width:1200px) {
    .modal-search .modal-content {
        gap: 32px
    }

    .modal-search .form-search-nav input {
        padding: 12px 52px 12px 23px;
        font-size: 18px;
        line-height: 28px
    }

    .modal-search .modal-content {
        padding: 40px
    }
}

.tf-minicart-recommendations {
    width: 260px;
    flex-shrink: 0;
    padding: 24px 23px 0 24px;
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column
}

.tf-minicart-recommendations .title {
    margin-bottom: 12px
}

.tf-minicart-recommendations>.wrap-recommendations {
    flex-grow: 1;
    overflow-y: auto
}

.tf-minicart-recommendations>.wrap-recommendations::-webkit-scrollbar {
    width: 0
}

.tf-minicart-recommendations .list-cart-item:not(:last-child) {
    margin-bottom: 20px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 20px
}

.tf-minicart-recommendations .list-cart-item .image {
    margin-bottom: 12px;
    overflow: hidden;
    display: flex;
    border-radius: 8px
}

.tf-minicart-recommendations .list-cart-item .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.tf-minicart-recommendations .list-cart-item .name {
    margin-bottom: 2px
}

@media (max-width:767px) {
    .tf-minicart-recommendations {
        display: none
    }
}

.popup-shopping-cart {
    flex-direction: row
}

.popup-shopping-cart .popup-header {
    padding: 24px 24px 20px
}

.popup-shopping-cart .cart-threshold {
    padding: 20px;
    background: var(--bg);
    border-radius: 12px
}

.popup-shopping-cart .cart-threshold .tf-progress-ship {
    border-radius: 100px;
    height: 4px;
    background: var(--line);
    margin-top: 8px;
    margin-bottom: 8px
}

.popup-shopping-cart .cart-threshold .tf-progress-ship .value {
    background: var(--success);
    height: 4px;
    border-radius: 100px;
    transition: all .5s ease;
    position: relative
}

.popup-shopping-cart .cart-threshold .tf-progress-ship .value:before {
    content: "\e930";
    font-size: 12px;
    color: var(--success);
    font-family: icomoon;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    background: var(--white);
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid var(--success)
}

.popup-shopping-cart .wrap {
    display: flex;
    flex-direction: column
}

.popup-shopping-cart .tf-mini-cart-wrap {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: relative
}

.popup-shopping-cart .tf-mini-cart-bottom-wrap {
    padding: 16px 24px 20px
}

.popup-shopping-cart .tf-mini-cart-bottom-wrap .tf-mini-cart-total {
    margin-bottom: 12px
}

.popup-shopping-cart .tf-mini-cart-bottom-wrap .checkbox-wrap {
    padding-top: 4px;
    margin-bottom: 16px;
    padding-bottom: 4px
}

.popup-shopping-cart .tf-mini-cart-bottom-wrap .tf-mini-cart-view-checkout {
    display: flex;
    gap: 16px;
    margin-bottom: 16px
}

.popup-shopping-cart .tf-mini-cart-bottom-wrap .tf-mini-cart-view-checkout a {
    width: 100%
}

.popup-shopping-cart .tf-mini-cart-view-checkout {
    display: grid;
    gap: 12px
}

@media (min-width:576px) {
    .popup-shopping-cart {
        max-width: 740px;
        width: 100% !important
    }
}

@media (min-width:768px) {
    .popup-shopping-cart {
        background: transparent;
        pointer-events: none
    }

    .popup-shopping-cart .canvas-wrapper,
    .popup-shopping-cart .tf-minicart-recommendations {
        background: var(--white);
        pointer-events: all
    }

    .popup-shopping-cart .canvas-wrapper {
        max-width: 480px;
        margin-left: auto
    }
}

@media (max-width:767px) {
    .popup-shopping-cart {
        flex-direction: column;
        max-width: min(500px, 100vw);
        max-width: 340px
    }

    .popup-shopping-cart .tf-minicart-recommendations {
        padding: 16px 16px 0;
        width: unset
    }

    .popup-shopping-cart .tf-minicart-recommendations .title {
        margin-bottom: 16px
    }

    .popup-shopping-cart .list-cart {
        display: flex;
        gap: 15px;
        overflow-x: auto
    }

    .popup-shopping-cart .list-cart .list-cart-item {
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
        margin-bottom: 0 !important;
        min-width: 120px
    }

    .popup-shopping-cart .list-cart .list-cart-item .image {
        max-height: 150px;
        margin-bottom: 12px
    }

    .popup-shopping-cart .cart-threshold {
        padding: 15px
    }

    .popup-shopping-cart .tf-mini-cart-sroll {
        padding: 0 16px
    }

    .popup-shopping-cart .tf-mini-cart-item {
        gap: 12px
    }

    .popup-shopping-cart .tf-mini-cart-item .tf-mini-cart-image {
        max-width: 80px
    }

    .popup-shopping-cart .popup-header {
        padding: 16px
    }

    .popup-shopping-cart .tf-mini-cart-tool {
        padding: 10px 16px
    }

    .popup-shopping-cart .tf-mini-cart-tool-btn {
        padding: 6px 8px
    }

    .popup-shopping-cart .tf-mini-cart-bottom-wrap {
        padding: 20px 16px
    }

    .popup-shopping-cart .tf-mini-cart-tool-openable .tf-mini-cart-tool-content {
        padding: 24px 16px
    }
}

.tf-mini-cart-main {
    flex: 1 1 auto;
    position: relative
}

.tf-mini-cart-sroll {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow: auto;
    padding: 0 24px
}

.tf-mini-cart-sroll::-webkit-scrollbar {
    width: 4px;
    background: var(--line)
}

.tf-mini-cart-sroll::-webkit-scrollbar-thumb {
    background-color: var(--text-3)
}

@media (min-width:1200px) {
    .tf-mini-cart-sroll::-webkit-scrollbar {
        width: 8px;
        background: var(--line)
    }
}

.tf-mini-cart-items {
    display: flex;
    flex-direction: column;
    height: 100%
}

.tf-mini-cart-items .tf-mini-cart-item:not(:last-child) {
    padding-bottom: 19px;
    margin-bottom: 19px;
    border-bottom: 1px solid var(--line)
}

.tf-mini-cart-items .tf-mini-cart-item:last-child {
    padding-bottom: 24px
}

.tf-mini-cart-items .tf-mini-cart-item:has(.mini-cart-remove.btn-loading) {
    opacity: .55;
    pointer-events: none;
    transition: opacity .2s ease
}

.tf-mini-cart-items .wg-quantity--mini {
    display: inline-flex;
    align-items: center;
    gap: 0;
    max-width: 110px;
    min-width: 0;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--white);
    overflow: hidden;
    height: 32px
}

.tf-mini-cart-items .wg-quantity--mini .btn-quantity {
    width: 28px;
    height: 100%;
    border: 0;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 12px;
    transition: background .15s ease
}

.tf-mini-cart-items .wg-quantity--mini .btn-quantity:hover {
    background: var(--bg)
}

.tf-mini-cart-items .wg-quantity--mini .quantity-product {
    flex: 1 1 auto;
    width: 36px;
    min-width: 0;
    height: 100%;
    border: 0;
    background: transparent;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    outline: none;
    padding: 0;
    -moz-appearance: textfield
}

.tf-mini-cart-items .wg-quantity--mini .quantity-product::-webkit-inner-spin-button,
.tf-mini-cart-items .wg-quantity--mini .quantity-product::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.tf-mini-cart-items .wg-quantity--mini.is-updating {
    opacity: .55;
    pointer-events: none
}

.tf-mini-cart-items .tf-mini-cart-item.is-updating [data-mini-cart-line-total] {
    opacity: .45;
    transition: opacity .15s ease
}

.tf-mini-cart-items .mini-cart-remove {
    position: relative;
    transition: opacity .2s ease
}

.tf-mini-cart-items .mini-cart-remove.btn-loading {
    color: transparent !important;
    cursor: wait;
    pointer-events: none
}

.tf-mini-cart-items .mini-cart-remove.btn-loading>* {
    visibility: hidden
}

.tf-mini-cart-items .mini-cart-remove.btn-loading:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    border: 2px solid rgba(0, 0, 0, .18);
    border-top: 2px solid var(--primary);
    border-radius: 50%;
    animation: spin .7s linear infinite
}

.tf-mini-cart-tool {
    padding: 10px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--bg-2)
}

@media (max-width:767px) {
    .tf-mini-cart-tool {
        gap: 6px
    }
}

.tf-mini-cart-tool-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: all .3s ease;
    background: var(--white)
}

.tf-mini-cart-tool-btn .icon {
    font-size: 20px
}

.tf-mini-cart-tool-btn:hover {
    background: var(--text);
    color: var(--white)
}

@media (max-width:767px) {
    .tf-mini-cart-tool-btn {
        gap: 6px
    }
}

.tf-mini-cart-tool-openable {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(100%);
    transition: all .3s ease;
    z-index: 70;
    opacity: 0;
    visibility: hidden
}

.tf-mini-cart-tool-openable.open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible
}

.tf-mini-cart-tool-openable.open>.overlay {
    opacity: 0;
    visibility: visible
}

.tf-mini-cart-tool-openable.open .tf-mini-cart-tool-content {
    box-shadow: 0 -10px 20px 0 rgba(0, 0, 0, .102)
}

.tf-mini-cart-tool-openable>.overlay {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 200vh;
    right: 0;
    background-color: transparent;
    opacity: 0;
    background-color: var(--black);
    visibility: hidden;
    transition: all .3s ease
}

.tf-mini-cart-tool-openable .tf-mini-cart-tool-close {
    cursor: pointer
}

.tf-mini-cart-tool-openable .tf-mini-cart-tool-content {
    position: relative;
    z-index: 80;
    padding: 24px;
    background-color: var(--white)
}

.tf-mini-cart-tool-openable .tf-mini-cart-tool-content .tf-mini-cart-tool-text {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    color: var(--black)
}

.tf-mini-cart-tool-openable .tf-mini-cart-tool-content .tf-mini-cart-tool-text .icon {
    font-size: 20px
}

.tf-mini-cart-tool-openable .tf-mini-cart-tool-content .tf-cart-tool-btns {
    display: flex;
    gap: 12px;
    flex-direction: column
}

.tf-mini-cart-tool-openable.add-note textarea {
    height: 150px;
    margin-bottom: 12px
}

.tf-mini-cart-tool-openable.add-gift .wrap {
    padding: 44px 15px;
    border-radius: 12px;
    border: 1px solid var(--line);
    text-align: center;
    margin-bottom: 24px
}

.tf-mini-cart-tool-openable.add-gift .wrap .icon {
    margin-bottom: 8px;
    font-size: 40px
}

.tf-mini-cart-tool-openable.estimate-shipping .tf-cart-tool-btns {
    margin-top: 24px
}

.tf-mini-cart-tool-openable.estimate-shipping .error {
    color: #ff6f61
}

.tf-mini-cart-tool-openable.estimate-shipping .success .standard {
    color: #1caa23;
    margin-top: 4px
}

.tf-mini-cart-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-right: 28px
}

.tf-mini-cart-item .tf-mini-cart-image {
    flex: 0 0 auto;
    width: 88px;
    max-width: 88px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--bg)
}

.tf-mini-cart-item .tf-mini-cart-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1/1
}

.tf-mini-cart-item .tf-mini-cart-info {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0
}

.tf-mini-cart-item .tf-mini-cart-info .name {
    margin-bottom: 0;
    color: var(--text);
    line-height: 1.35
}

.tf-mini-cart-item .tf-mini-cart-line-price {
    font-size: 14px
}

.tf-mini-cart-item .tf-mini-cart-line-price .price-new {
    font-size: 15px
}

.tf-mini-cart-item .tf-mini-cart-line-price .price-old {
    margin-left: 4px
}

.tf-mini-cart-del {
    position: absolute;
    top: 0;
    right: 0;
    inset-inline-end: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--text-2);
    cursor: pointer;
    transition: color .15s ease, background-color .15s ease
}

.tf-mini-cart-del:focus,
.tf-mini-cart-del:hover {
    color: var(--critical);
    background-color: rgba(0, 0, 0, .04)
}

.tf-mini-cart-del .icon {
    font-size: 14px;
    line-height: 1
}

.tf-mini-cart-del.btn-loading {
    color: transparent !important;
    pointer-events: none
}

.tf-mini-cart-del.btn-loading .icon {
    visibility: hidden
}

.tf-mini-cart-del.btn-loading:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    border: 2px solid rgba(0, 0, 0, .18);
    border-top: 2px solid var(--primary);
    border-radius: 50%;
    animation: spin .7s linear infinite
}

.tf-mini-cart-totals {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line)
}

.tf-mini-cart-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 14px;
    color: var(--text)
}

.tf-mini-cart-total-row .label {
    font-weight: 500
}

.tf-mini-cart-total-row.tf-mini-cart-total-row--grand {
    font-size: 16px;
    font-weight: 600;
    padding-top: 8px;
    border-top: 1px solid var(--line)
}

.tf-mini-cart-total-row.tf-mini-cart-total-row--grand .label,
.tf-mini-cart-total-row.tf-mini-cart-total-row--grand .value {
    font-weight: 700
}

.tf-mini-cart-total-row.tf-mini-cart-total-row--grand .value {
    color: var(--primary)
}

.tf-mini-cart-view-checkout {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.canvas-quickview {
    flex-direction: row
}

.canvas-quickview .mini-quick-image {
    display: flex;
    width: 100%
}

.canvas-quickview .wrap-quick {
    flex-grow: 1;
    overflow-y: auto;
    display: grid;
    gap: 28px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 16px
}

.canvas-quickview .wrap-quick::-webkit-scrollbar {
    width: 8px;
    height: 4px;
    background-color: var(--line)
}

.canvas-quickview .wrap-quick::-webkit-scrollbar-thumb {
    background-color: var(--text-3)
}

.canvas-quickview .wrap-quick .image {
    border: 1px solid var(--line);
    border-radius: 12px;
    display: flex
}

.canvas-quickview .wrap-quick .image img {
    border-radius: 12px;
    aspect-ratio: .7657657658;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.canvas-quickview .wrap-canvas {
    width: 100%;
    display: flex;
    flex-direction: column
}

.canvas-quickview .tf-quick-view {
    display: grid;
    gap: 20px;
    padding-top: 0
}

@media (min-width:768px) {
    .canvas-quickview {
        gap: 24px;
        width: 848px !important
    }

    .canvas-quickview .mini-quick-image {
        max-width: 340px;
        direction: rtl
    }

    .canvas-quickview.style-2 {
        max-width: 468px !important
    }

    .canvas-quickview.style-2 .mini-quick-image {
        display: none !important
    }
}

@media (min-width:1200px) {
    .canvas-quickview {
        gap: 40px
    }
}

@media (max-width:767px) {
    .canvas-quickview {
        flex-direction: column
    }

    .canvas-quickview .wrap-quick {
        display: flex;
        overflow-x: auto;
        padding: 15px 16px;
        gap: 8px
    }

    .canvas-quickview .wrap-quick .image {
        max-width: 120px;
        width: 100%;
        flex-shrink: 0
    }

    .canvas-quickview .wrap-canvas {
        overflow: auto
    }

    .canvas-quickview .canvas-header {
        padding-top: 15px;
        padding-bottom: 15px
    }
}

.tf-product-quick_view {
    display: grid;
    gap: 24px
}

.tf-product-quick_view .tf-product-info-heading .product-infor-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px
}

.tf-product-quick_view .tf-product-info-heading .meta_rate,
.tf-product-quick_view .tf-product-info-heading .meta_sold {
    display: flex;
    align-items: center;
    gap: 4px
}

.tf-product-quick_view .tf-product-info-heading .br-line {
    height: 12px
}

.tf-product-quick_view .product-infor-price,
.tf-product-quick_view .tf-product-info-heading .product-infor-reality {
    display: flex;
    align-items: center;
    gap: 8px
}

.tf-product-quick_view .product-infor-price .badge-sale {
    margin-left: 8px
}

.tf-product-quick_view .tf-product-variant {
    display: grid;
    gap: 20px
}

.tf-product-quick_view .tf-product-variant .variant-picker-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px
}

.tf-product-quick_view .tf-product-variant .variant-picker-values {
    display: flex;
    align-items: center;
    gap: 12px
}

.tf-product-quick_view .variant-color .variant-picker-values {
    display: flex;
    align-items: center;
    gap: 20px
}

.tf-product-quick_view .variant-color .color-btn_quick:not(.select-item) {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-align: center;
    border: 1px solid var(--line);
    cursor: pointer;
    transition: all .3s ease;
    border-radius: 50%
}

.tf-product-quick_view .variant-color .color-btn_quick:not(.select-item) .check-color {
    width: 32px;
    height: 32px;
    display: flex;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid #dcdcdc;
    transition: all .3s ease
}

.tf-product-quick_view .variant-color .color-btn_quick:not(.select-item).active {
    border-color: var(--black)
}

.tf-product-quick_view .variant-color .color-btn_quick.style-image {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    border: 1px solid transparent;
    overflow: hidden
}

.tf-product-quick_view .variant-color .color-btn_quick.style-image .img {
    display: flex;
    align-items: center
}

.tf-product-quick_view .variant-color .color-btn_quick.style-image .img img {
    -o-object-fit: cover;
    object-fit: cover
}

.tf-product-quick_view .variant-color .color-btn_quick.style-image.style-small {
    width: 40px;
    height: 40px;
    padding: 4px
}

.tf-product-quick_view .variant-color .color-btn_quick.style-image-square {
    width: 120px;
    height: 160px;
    padding: 7px;
    border: 1px solid var(--line);
    border-radius: 8px
}

.tf-product-quick_view .variant-color .color-btn_quick.style-image-square .img {
    width: 100%;
    height: 100%;
    border-radius: 6px;
    overflow: hidden
}

.tf-product-quick_view .variant-color .color-btn_quick.style-image-square img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.tf-product-quick_view .variant-color .color-btn_quick.style-image-square.active {
    box-shadow: 0 4px 16px 0 rgba(0, 0, 0, .078)
}

@media (max-width:1199px) {
    .tf-product-quick_view .variant-color .color-btn_quick.style-image-square {
        width: 80px;
        height: 120px
    }
}

.tf-product-quick_view .variant-size .variant-picker-label {
    justify-content: space-between
}

.tf-product-quick_view .variant-size .size-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    cursor: pointer;
    border-radius: 4px;
    transition: all .3s ease
}

.tf-product-quick_view .variant-size .size-btn:hover {
    border-color: var(--text)
}

.tf-product-quick_view .variant-size .size-btn.active {
    background: var(--text);
    color: var(--white);
    border-color: var(--text)
}

.tf-product-quick_view .variant-size .size-btn.disabled {
    opacity: .3;
    pointer-events: none
}

.tf-product-quick_view .tf-product-total-quantity {
    display: grid;
    gap: 12px
}

.tf-product-quick_view .tf-product-total-quantity .group-action {
    display: flex;
    align-items: center;
    gap: 10px
}

.tf-product-quick_view .tf-product-total-quantity .btn-action-price {
    gap: 0
}

@media (max-width:767px) {
    .tf-product-quick_view .tf-product-total-quantity .group-action {
        flex-wrap: wrap;
        gap: 12px
    }

    .tf-product-quick_view .tf-product-total-quantity .group-action .wg-quantity {
        width: 100%
    }
}

#quick-shop-modal .modal-dialog,
.modal-quickadd .modal-dialog {
    max-width: 480px
}

#quick-shop-modal .modal-content,
.modal-quickadd .modal-content {
    padding: 28px 24px 24px;
    border-radius: 16px;
    background-color: var(--white)
}

#quick-shop-modal>.modal-dialog>.modal-content>.btn-close,
.modal-quickadd>.modal-dialog>.modal-content>.btn-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background-color: transparent;
    opacity: .6;
    z-index: 2;
    transition: all .3s ease
}

#quick-shop-modal>.modal-dialog>.modal-content>.btn-close:focus,
#quick-shop-modal>.modal-dialog>.modal-content>.btn-close:hover,
.modal-quickadd>.modal-dialog>.modal-content>.btn-close:focus,
.modal-quickadd>.modal-dialog>.modal-content>.btn-close:hover {
    opacity: 1;
    background-color: var(--bg)
}

#quick-shop-modal .modal-body,
.modal-quickadd .modal-body {
    padding: 0;
    position: relative;
    min-height: 80px
}

#quick-shop-modal .modal-body.modal-empty,
.modal-quickadd .modal-body.modal-empty {
    min-height: 240px
}

@media (max-width:767px) {

    #quick-shop-modal .modal-content,
    .modal-quickadd .modal-content {
        padding: 24px 16px 16px
    }

    #quick-shop-modal .modal-body,
    .modal-quickadd .modal-body {
        max-height: calc(100vh - 7rem);
        max-height: calc(100dvh - 7rem);
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain
    }
}

.tf-product-quick_add {
    display: grid;
    gap: 18px
}

.tf-product-quick_add .product-mini-view {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-right: 32px;
    margin-bottom: 4px
}

.tf-product-quick_add .product-mini-view .prd-image {
    flex-shrink: 0;
    width: 80px;
    border-radius: 8px;
    overflow: hidden;
    background-color: var(--bg)
}

.tf-product-quick_add .product-mini-view .prd-image img {
    width: 100%;
    height: auto;
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 80/107
}

.tf-product-quick_add .product-mini-view .prd-content {
    display: grid;
    gap: 6px;
    min-width: 0;
    flex: 1
}

.tf-product-quick_add .product-mini-view .prd-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--text);
    font-size: 16px;
    line-height: 1.4
}

.tf-product-quick_add .product-mini-view .price-wrap {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px
}

.tf-product-quick_add .bb-product-attribute-swatch {
    gap: 8px;
    margin-bottom: 0
}

.tf-product-quick_add .bb-product-attribute-swatch-title {
    font-size: 14px;
    font-weight: 600
}

.tf-product-quick_add .product-total-quantity {
    display: grid;
    gap: 10px
}

.tf-product-quick_add .product-total-quantity .title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    line-height: 1.4
}

.tf-product-quick_add .group-action {
    display: flex;
    align-items: stretch;
    gap: 10px
}

.tf-product-quick_add .wg-quantity {
    min-width: 132px;
    flex-shrink: 0
}

.tf-product-quick_add .btn-action-price,
.tf-product-quick_add button[name=add-to-cart],
.tf-product-quick_add button[name=checkout] {
    padding-left: 18px;
    padding-right: 18px;
    gap: 0;
    min-height: 48px
}

.tf-product-quick_add button[name=checkout] {
    margin-top: 4px
}

@media (max-width:767px) {
    .tf-product-quick_add {
        gap: 16px
    }

    .tf-product-quick_add .wg-quantity {
        min-width: 120px
    }

    .tf-product-quick_add .group-action {
        flex-wrap: wrap
    }

    .tf-product-quick_add .group-action .wg-quantity {
        width: 100%
    }
}

.box-text_empty.type-shop_cart {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-bottom: 32px;
    gap: 30px
}

.box-text_empty.type-shop_cart .shop-empty_top {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    max-width: 354px;
    margin: 0 auto;
    flex: 1
}

.box-text_empty.type-shop_cart .shop-empty_top .icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: var(--black);
    font-size: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    margin-bottom: 24px
}

.box-text_empty.type-shop_cart .shop-empty_top .text-emp {
    margin-bottom: 12px
}

.box-text_empty.type-shop_cart .shop-empty_bot {
    display: grid;
    gap: 12px
}

@media (max-width:767px) {
    .box-text_empty.type-shop_cart .shop-empty_top .icon {
        width: 60px;
        height: 60px;
        font-size: 24px
    }

    .box-text_empty.type-shop_cart .text-emp {
        font-size: 24px;
        line-height: 32px
    }
}

.modal-order_detail .modal-dialog {
    max-width: 1191px
}

.modal-order_detail .modal-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px
}

.modal-order_detail .modal-content {
    border-radius: 16px
}

.modal-order_detail .col-left {
    padding: 40px;
    border-right: 1px solid var(--line)
}

.modal-order_detail .col-right {
    padding: 40px
}

.modal-order_detail .box-info {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.modal-order_detail .list-order-product .order-item {
    padding-bottom: 15px;
    margin-bottom: 16px
}

.modal-order_detail .list-order-product .order-item:last-child {
    border: 0;
    padding-bottom: 0;
    margin-bottom: 20px
}

.modal-order_detail .list-total {
    padding-top: 19px;
    padding-bottom: 19px;
    margin-bottom: 20px
}

.modal-order_detail .list-total .total-item:not(:last-child) {
    margin-bottom: 16px
}

@media (min-width:1200px) {
    .modal-order_detail .col-left .tf-grid-layout {
        gap: 40px
    }
}

@media (max-width:991px) {

    .modal-order_detail .col-left,
    .modal-order_detail .col-right {
        padding: 20px
    }

    .modal-order_detail .grid-info {
        gap: 20px
    }
}

@media (max-width:767px) {
    .modal-order_detail .col-left {
        border: 0;
        order: 2
    }

    .modal-order_detail .box-info {
        gap: 4px
    }
}

.canvas-compare {
    height: -moz-max-content !important;
    height: max-content !important;
    width: 100% !important;
    z-index: 5000
}

.canvas-compare .close-popup {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    cursor: pointer
}

.canvas-compare .canvas-body {
    padding: 32px 0
}

.canvas-compare .canvas-wrapper {
    height: unset
}

.tf-compare-list {
    display: flex;
    align-items: center;
    gap: 10px
}

.tf-compare-list .tf-compare-head {
    flex: 0 0 18.96%;
    display: flex;
    align-items: center;
    white-space: nowrap
}

.tf-compare-list .tf-compare-head .title {
    font-size: 28px;
    line-height: 34px
}

.tf-compare-list .tf-compare-offcanvas {
    display: flex;
    align-items: center;
    flex: 1 1 100%;
    overflow-x: auto
}

.tf-compare-list .tf-compare-item {
    flex: 0 0 25%;
    max-width: 170px;
    padding: 0 12px;
    display: flex
}

.tf-compare-list .tf-compare-item a {
    display: flex;
    position: relative
}

.tf-compare-list .tf-compare-item .icon {
    position: absolute;
    z-index: 5;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    background: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .2);
    transition: all .3s ease
}

.tf-compare-list .tf-compare-item .icon:hover {
    background: var(--text);
    color: var(--white)
}

.tf-compare-list .tf-compare-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: .75
}

.tf-compare-list .tf-compare-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 0 0 17%
}

.tf-compare-list .tf-compare-buttons .tf-compare-button-clear-all {
    cursor: pointer
}

@media (max-width:1024px) {
    .tf-compare-list {
        flex-direction: column;
        max-height: 100%;
        overflow-y: auto;
        gap: 20px
    }

    .tf-compare-list>div {
        flex: 0 0 100% !important
    }

    .tf-compare-list .tf-compare-offcanvas .tf-compare-item {
        max-width: unset;
        height: unset
    }

    .tf-compare-list .tf-compare-buttons {
        width: 100%;
        justify-content: space-between;
        flex-direction: row
    }
}

@media (max-width:767px) {
    .tf-compare-list .tf-compare-offcanvas .tf-compare-item {
        flex: 0 0 33.333%
    }
}

@media (max-width:575px) {
    .tf-compare-list .tf-compare-offcanvas .tf-compare-item {
        flex: 0 0 50%;
        padding-left: 6px;
        padding-right: 6px
    }
}

.modal-share .modal-dialog {
    max-width: 620px
}

.modal-share .wrap-code {
    position: relative;
    border-radius: 999px;
    padding: 12px 20px;
    background-color: var(--bg-2)
}

.modal-share .btn-action-copy {
    position: absolute;
    top: 3px;
    right: 3px;
    bottom: 3px;
    min-width: 100px;
    height: unset
}

.modal-share .modal-content {
    position: relative;
    padding: 20px 15px;
    border-radius: 20px;
    overflow: hidden
}

@media (min-width:992px) {
    .modal-share .modal-content {
        padding: 32px
    }
}

@media (min-width:1200px) {
    .modal-share .tf-social-icon {
        margin-bottom: 40px
    }
}

.title-pop {
    letter-spacing: 0
}

.modal-find_size .modal-dialog {
    max-width: 900px
}

.modal-find_size .tf-sizeguide-table {
    border: 1px solid var(--line);
    border-radius: 5px;
    width: 100%;
    white-space: nowrap
}

.modal-find_size .tf-sizeguide-table th {
    border: 1px solid var(--line);
    padding: 10px;
    font-weight: 600;
    line-height: 20px
}

.modal-find_size .tf-sizeguide-table td {
    border-width: 1px;
    border-left: 0 solid var(--line);
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
    border-top: 0 solid var(--line);
    padding: 10px;
    line-height: 20px
}

.modal-find_size .tf-page-size-chart-content {
    display: grid;
    gap: 10px;
    grid-template-columns: 8fr 4fr
}

.modal-find_size p {
    color: var(--text-2)
}

.modal-find_size .modal-content {
    position: relative;
    padding: 20px 15px;
    border-radius: 20px;
    overflow: hidden
}

@media (min-width:992px) {
    .modal-find_size .modal-content {
        padding: 32px
    }
}

@media (max-width:767px) {
    .modal-find_size .tf-page-size-chart-content {
        grid-template-columns: unset
    }

    .modal-find_size .tf-page-size-chart-content>div:last-child {
        text-align: center
    }
}

.pop-notice-sale {
    position: fixed;
    right: 40px;
    top: 160px;
    z-index: 22;
    display: flex;
    gap: 12px;
    padding: 16px;
    background: var(--white);
    border-radius: 8px;
    min-width: 340px;
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease;
    transform: translateX(20px)
}

.pop-notice-sale .pns-thumb {
    position: relative;
    max-width: 63px;
    width: 100%
}

.pop-notice-sale .pns-content {
    width: 100%;
    display: grid
}

.pop-notice-sale .image {
    border-radius: 4px;
    overflow: hidden
}

.pop-notice-sale .purchase {
    padding: 6px;
    background: var(--primary);
    position: absolute;
    left: -8px;
    top: -8px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.pop-notice-sale .bottom {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.pop-notice-sale .pns_date {
    display: flex;
    align-items: center;
    gap: 4px
}

.pop-notice-sale .btn-cl-pop {
    position: absolute;
    right: 12px;
    top: 12px
}

.pop-notice-sale.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0)
}

@media (max-width:1199px) {
    .pop-notice-sale {
        top: 120px;
        right: 15px
    }
}

@media (max-width:991px) {
    .pop-notice-sale {
        display: none
    }
}

.quick-variant-picker .variant-picker_values {
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

.quick-variant-picker.picker_color .color_btn .img {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 4px;
    border: 1px solid transparent;
    transition: all .3s ease
}

.quick-variant-picker.picker_color .color_btn .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1
}

.quick-variant-picker.picker_color .color_btn.active .img {
    border-color: var(--text)
}

.quick-variant-picker.picker_size .variant-picker_values {
    gap: 12px
}

.quick-variant-picker.picker_size .variant-picker_label {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.quick-variant-picker.picker_size .size_btn {
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all .3s ease;
    cursor: pointer;
    position: relative
}

.quick-variant-picker.picker_size .size_btn:hover {
    border-color: var(--text)
}

.quick-variant-picker.picker_size .size_btn.active {
    border-color: var(--text);
    background: var(--text);
    color: var(--white)
}

.quick-variant-picker.picker_size .size_btn.disabled {
    border-color: var(--bg);
    background: var(--bg);
    pointer-events: none;
    color: var(--line)
}

.quick-variant-picker.picker_size .size_btn.style-2 {
    width: auto;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 40px
}

.quick-variant-picker.picker_size .size_btn.style-2:after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 40px;
    border: 1px solid var(--text);
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
}

.quick-variant-picker.picker_size .size_btn.style-2:hover:after {
    opacity: 1;
    visibility: visible
}

.offcanvas-pickup .pickup-available-list {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.offcanvas-pickup .pickup-available-item .title {
    margin-bottom: 8px
}

.offcanvas-pickup .pickup-available-item .desc {
    margin-bottom: 12px
}

.offcanvas-pickup .pickup-available-item ul {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 12px
}

.offcanvas-pickup .pickup-available-item a {
    display: flex;
    align-items: center;
    gap: 8px
}

.offcanvas-pickup .pickup-available-item a .icon {
    font-size: 10px
}

@media (min-width:576px) {
    .offcanvas-pickup {
        width: 520px !important
    }
}

@media (min-width:1200px) {
    .offcanvas-pickup .modal-inner {
        padding: 40px 32px
    }

    .offcanvas-pickup .pickup-available-list {
        gap: 40px
    }
}

.canvas-lookbook.offcanvas {
    height: auto
}

.canvas-lookbook .canvas-body {
    padding: 0
}

.canvas-lookbook .popup-look-item {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 400px;
    margin: 0 auto;
    padding: 12px
}

.canvas-lookbook .popup-look-item .look-image {
    border-radius: 4px;
    overflow: hidden
}

.canvas-lookbook .popup-look-item .look-content {
    display: grid;
    gap: 4px
}

.modalDemo .demo-title {
    margin-top: 40px;
    margin-bottom: 30px;
    text-align: center
}

.modalDemo .modal-dialog {
    max-width: 1540px;
    margin-top: 8px;
    margin-bottom: 8px
}

.modalDemo .modal-content {
    padding: 0 40px 40px;
    background-color: var(--white);
    width: 100%;
    border-radius: 20px;
    margin: 0 30px;
    max-height: calc(100vh - 60px);
    border: 0;
    cursor: default;
    overflow: hidden
}

.modalDemo .mega-menu {
    padding: 0 20px;
    overscroll-behavior-y: contain;
    overflow-y: auto
}

.modalDemo .mega-menu::-webkit-scrollbar {
    width: 6px;
    background: var(--line)
}

.modalDemo .mega-menu::-webkit-scrollbar:hover {
    width: 12px;
    height: 12px
}

.modalDemo .mega-menu::-webkit-scrollbar-thumb {
    background: var(--text);
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.modalDemo .top {
    position: relative
}

.modalDemo .top .btn-close-popup {
    position: absolute;
    top: 18px;
    right: 0;
    font-size: 24px
}

.modalDemo .row-demo {
    grid-template-columns: repeat(5, 1fr);
    row-gap: 32px
}

@media (max-width:1439px) {
    .modalDemo .row-demo {
        grid-template-columns: repeat(4, 1fr)
    }
}

.tf-product-modal .modal-dialog {
    max-width: min(1140px, 100% - 32px);
    margin: 1.75rem auto
}

.tf-product-modal .modal-content {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #fff
}

@media (max-width:767.98px) {
    .tf-product-modal .tf-product-modal-content {
        max-height: calc(100vh - 3.5rem);
        max-height: calc(100dvh - 3.5rem);
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain
    }
}

@media (min-width:768px) {
    .tf-product-modal .tf-product-modal-content {
        max-height: min(40rem, 100vh - 4rem);
        overflow: hidden
    }
}

.tf-product-modal .tf-product-modal-close-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    inset-inline-end: 16px;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, .06);
    opacity: 1;
    z-index: 5;
    transition: background-color .2s ease
}

.tf-product-modal .tf-product-modal-close-btn:focus,
.tf-product-modal .tf-product-modal-close-btn:hover {
    background-color: rgba(0, 0, 0, .12);
    box-shadow: none
}

.tf-product-modal .quick-view-gallery {
    position: relative;
    background-color: var(--bg)
}

@media (min-width:768px) {
    .tf-product-modal .quick-view-gallery {
        height: min(40rem, 100vh - 4rem)
    }
}

.tf-product-modal .quick-view-gallery__main {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

.tf-product-modal .quick-view-gallery__main img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: opacity .2s ease
}

.tf-product-modal .quick-view-gallery__thumbs {
    position: absolute;
    inset-inline-start: 16px;
    bottom: 16px;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 8px !important;
    margin: 0;
    background: hsla(0, 0%, 100%, .85);
    backdrop-filter: blur(6px);
    border-radius: 12px;
    overflow-x: auto;
    max-width: calc(100% - 32px)
}

@media (max-width:767.98px) {
    .tf-product-modal .quick-view-gallery__thumbs {
        position: static;
        background: transparent;
        backdrop-filter: none;
        padding: 12px !important
    }
}

.tf-product-modal .quick-view-gallery__thumbs::-webkit-scrollbar {
    display: none
}

.tf-product-modal .quick-view-gallery__thumbs {
    scrollbar-width: none
}

.tf-product-modal .quick-view-gallery__thumb {
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
    transition: border-color .2s ease, transform .15s ease
}

.tf-product-modal .quick-view-gallery__thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block
}

.tf-product-modal .quick-view-gallery__thumb:hover {
    transform: translateY(-1px)
}

.tf-product-modal .quick-view-gallery__thumb.is-active {
    border-color: var(--primary)
}

@media (min-width:768px) {
    .tf-product-modal .quick-view-content {
        max-height: min(40rem, 100vh - 4rem);
        overflow-y: auto
    }
}

.tf-product-modal .quick-view-share {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--line)
}

.tf-product-modal .quick-view-share__label {
    font-weight: 500;
    color: var(--text)
}

.tf-product-modal .quick-view-share__buttons {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.newsletter-popup.modal .modal-dialog {
    max-width: 870px !important;
    margin: 1.75rem auto;
    background: #fff;
    border-radius: 16px !important;
    overflow: hidden !important
}

.newsletter-popup.modal .modal-content {
    border: 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #fff
}

@media (min-width:768px) {
    .newsletter-popup.modal .modal-content {
        flex-direction: row !important
    }
}

.newsletter-popup.modal .newsletter-popup-bg {
    background-color: #f7f7f7;
    padding: 0 !important;
    line-height: 0
}

.newsletter-popup.modal .newsletter-popup-bg .newsletter-popup-image,
.newsletter-popup.modal .newsletter-popup-bg img,
.newsletter-popup.modal .newsletter-popup-bg picture {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width:768px) {
    .newsletter-popup.modal .newsletter-popup-bg {
        flex: 0 0 auto !important;
        width: 50% !important;
        max-width: 430px !important;
        height: auto !important
    }
}

@media (max-width:767.98px) {
    .newsletter-popup.modal .newsletter-popup-bg {
        width: 100% !important;
        height: auto !important;
        max-height: 260px
    }

    .newsletter-popup.modal .newsletter-popup-bg .newsletter-popup-image,
    .newsletter-popup.modal .newsletter-popup-bg img {
        max-height: 260px;
        -o-object-position: top;
        object-position: top
    }
}

.newsletter-popup.modal .btn-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    inset-inline-end: 16px !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0;
    padding: 0;
    border-radius: 50% !important;
    background-color: rgba(0, 0, 0, .06);
    opacity: 1;
    z-index: 5;
    transition: background-color .2s ease
}

.newsletter-popup.modal .btn-close:focus,
.newsletter-popup.modal .btn-close:hover {
    background-color: rgba(0, 0, 0, .12);
    opacity: 1;
    box-shadow: none
}

.newsletter-popup.modal .modal-content .newsletter-popup-content {
    padding: 32px 28px !important;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0 !important
}

@media (min-width:768px) {
    .newsletter-popup.modal .modal-content .newsletter-popup-content {
        padding: 48px 40px !important
    }
}

@media (min-width:1200px) {
    .newsletter-popup.modal .modal-content .newsletter-popup-content {
        padding: 56px 48px !important
    }
}

.newsletter-popup.modal .modal-header {
    margin-bottom: 24px
}

@media (min-width:1200px) {
    .newsletter-popup.modal .modal-header {
        margin-bottom: 32px
    }
}

.newsletter-popup.modal .modal-content .modal-subtitle {
    font-family: var(--primary-font, "DM Sans"), sans-serif;
    font-size: 16px !important;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0 !important;
    color: var(--text);
    margin-bottom: 12px;
    text-transform: none
}

.newsletter-popup.modal .modal-content .modal-title {
    font-family: var(--primary-font, "DM Sans"), sans-serif;
    font-size: clamp(40px, 5vw, 56px) !important;
    line-height: 1;
    font-weight: 700;
    color: var(--primary);
    margin: 0 0 16px;
    letter-spacing: -.5px
}

.newsletter-popup.modal .modal-content .modal-text {
    font-size: 16px !important;
    line-height: 1.55;
    color: var(--text);
    margin: 0
}

.newsletter-popup.modal .bb-newsletter-popup-form {
    position: relative
}

.newsletter-popup.modal .bb-newsletter-popup-form .form-group>label:not(.form-check),
.newsletter-popup.modal .bb-newsletter-popup-form .input-group>label:not(.form-check),
.newsletter-popup.modal .bb-newsletter-popup-form>div>label.required:not(.form-check),
.newsletter-popup.modal .bb-newsletter-popup-form>label:not(.form-check) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.newsletter-popup.modal .bb-newsletter-popup-form .form-group,
.newsletter-popup.modal .bb-newsletter-popup-form .input-group {
    margin: 0 !important;
    padding: 0;
    display: block !important
}

.newsletter-popup.modal .bb-newsletter-popup-form input[type=email] {
    width: 100% !important;
    height: 56px !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    background-color: #fff !important;
    padding: 0 160px 0 24px !important;
    font-size: 15px !important;
    color: var(--text);
    box-shadow: none !important;
    transition: border-color .2s ease
}

.newsletter-popup.modal .bb-newsletter-popup-form input[type=email]::-moz-placeholder {
    color: #9b9b9b
}

.newsletter-popup.modal .bb-newsletter-popup-form input[type=email]::placeholder {
    color: #9b9b9b
}

.newsletter-popup.modal .bb-newsletter-popup-form input[type=email]:focus {
    border-color: var(--text) !important;
    outline: 0;
    box-shadow: none !important
}

.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form .btn-primary,
.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form button[type=submit] {
    position: absolute !important;
    top: 0px !important;
    right: 0px !important;
    bottom: 6px !important;
    left: auto !important;
    width: auto !important;
    min-width: 130px !important;
    max-height: 56px !important;
    height: auto !important;
    padding: 0 28px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background-color: var(--text) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer;
    transition: background-color .2s ease;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important
}

.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form .btn-primary:active,
.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form .btn-primary:focus,
.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form .btn-primary:hover,
.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form button[type=submit]:active,
.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form button[type=submit]:focus,
.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form button[type=submit]:hover {
    background-color: #000 !important;
    color: #fff !important;
    box-shadow: none !important
}

.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form .btn-primary.button-loading,
.newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form button[type=submit].button-loading {
    color: transparent !important
}

.newsletter-popup.modal .bb-newsletter-popup-form .form-check {
    display: flex !important;
    align-items: center;
    gap: 8px;
    margin: 16px 0 0 !important;
    padding-left: 0 !important;
    min-height: 0;
    font-size: 13px;
    color: var(--text-2);
    cursor: pointer
}

.newsletter-popup.modal .bb-newsletter-popup-form .form-check .form-check-input {
    float: none !important;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0 !important;
    cursor: pointer
}

.newsletter-popup.modal .bb-newsletter-popup-form .form-check .form-check-label,
.newsletter-popup.modal .bb-newsletter-popup-form .form-check span {
    flex: 1 1 auto;
    cursor: pointer
}

.newsletter-popup.modal .newsletter-popup-caption {
    margin: 18px 0 0 !important;
    font-size: 13px;
    line-height: 1.4;
    color: var(--text-2)
}

.newsletter-popup.modal .bb-newsletter-popup-form .newsletter-message {
    margin: 16px 0 0 !important;
    padding: 12px 16px !important;
    font-size: 13px;
    border-radius: 8px;
    border-left-width: 4px
}

@media (max-width:767.98px) {
    .newsletter-popup.modal .modal-dialog {
        max-width: calc(100% - 24px) !important;
        margin: 1rem auto
    }

    .newsletter-popup.modal .modal-content .newsletter-popup-content {
        padding: 24px 20px 28px !important
    }

    .newsletter-popup.modal .modal-content .modal-title {
        font-size: 38px !important
    }

    .newsletter-popup.modal .bb-newsletter-popup-form input[type=email] {
        height: 50px !important;
        padding: 0 20px !important
    }

    .newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form .btn-primary,
    .newsletter-popup.modal .modal-dialog .modal-content .bb-newsletter-popup-form button[type=submit] {
        position: static !important;
        width: 100% !important;
        margin-top: 12px !important;
        height: 48px !important
    }
}

.flat-animate-tab {
    overflow: hidden
}

.flat-animate-tab .tab-content {
    position: relative
}

.flat-animate-tab .tab-pane {
    display: block;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    transform: translateY(30px);
    transition-timing-function: ease-in;
    transition-duration: .2s
}

.flat-animate-tab .tab-pane.active {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 2;
    transform: none;
    transition-timing-function: ease-out;
    transition-duration: .3s;
    transition-delay: .3s
}

.flat-animate-tab-2 {
    overflow: hidden
}

.flat-animate-tab-2 .tab-content {
    position: relative
}

.flat-animate-tab-2 .tab-pane {
    display: block;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    transition-timing-function: ease-in;
    transition-duration: .2s
}

.flat-animate-tab-2 .tab-pane.active {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 2;
    transform: none;
    transition-timing-function: ease-out;
    transition-duration: .3s;
    transition-delay: .3s
}

.tab-btn-wrap-v1 {
    display: flex;
    gap: 20px;
    position: relative;
    overflow: auto;
    white-space: nowrap;
    margin-bottom: 40px
}

.tab-btn-wrap-v1:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--line)
}

.tab-btn-wrap-v1 .tf-btn-tab {
    padding-bottom: 14px;
    border-bottom: 2px solid transparent;
    display: flex;
    position: relative;
    z-index: 2;
    color: var(--text-2)
}

.tab-btn-wrap-v1 .tf-btn-tab.active {
    border-color: var(--text);
    color: var(--text)
}

.tab-btn-wrap-v1 .tf-btn-tab:hover {
    color: var(--text)
}

.tab-btn-wrap-v1.style-2:after {
    display: none
}

.tab-btn-wrap-v1.style-2 .tf-btn-tab {
    padding-bottom: 2px
}

.tab-btn-wrap-v1.style-3:after {
    display: none
}

@media (min-width:1200px) {
    .tab-btn-wrap-v1 {
        gap: 32px
    }
}

.tab-btn-wrap-v2 {
    display: flex;
    align-items: center;
    gap: 12px
}

.tab-btn-wrap-v2 .tf-btn-tab {
    padding: 7px 23px;
    border-radius: 68px;
    border: 1px solid var(--line)
}

.tab-btn-wrap-v2 .tf-btn-tab.active,
.tab-btn-wrap-v2 .tf-btn-tab:hover {
    border-color: var(--primary)
}

.tab-btn-wrap-v2.style-2 .tf-btn-tab {
    line-height: 24px
}

.tab-btn-wrap-v2.style-2 .tf-btn-tab.active,
.tab-btn-wrap-v2.style-2 .tf-btn-tab:hover {
    color: var(--primary)
}

.tab-btn-wrap-v2.style-3 .tf-btn-tab {
    line-height: 24px
}

.tab-btn-wrap-v2.style-3 .tf-btn-tab.active,
.tab-btn-wrap-v2.style-3 .tf-btn-tab:hover {
    background-color: #f7f7f7;
    color: var(--primary)
}

.tab-btn-wrap-v3 {
    display: flex;
    align-items: center;
    gap: 12px
}

.tab-btn-wrap-v3 .spread {
    color: var(--line)
}

.tab-btn-wrap-v3 .tf-btn-tab {
    color: var(--text-2);
    padding-top: 4px;
    padding-bottom: 4px;
    position: relative;
    line-height: 24px
}

.tab-btn-wrap-v3 .tf-btn-tab:after {
    content: "";
    bottom: 0;
    left: auto;
    right: 0;
    position: absolute;
    width: 0;
    height: 2px;
    background: var(--text);
    transition: all .3s ease
}

.tab-btn-wrap-v3 .tf-btn-tab.active {
    color: var(--text)
}

.tab-btn-wrap-v3 .tf-btn-tab.active:after {
    width: 100%;
    left: 0;
    right: auto
}

.tab-btn-wrap-v3 .tf-btn-tab:hover {
    color: var(--text)
}

.tab-btn-wrap-v3.style-2 {
    white-space: nowrap;
    margin-bottom: 30px
}

.tab-btn-wrap-v3.style-2 .tf-btn-tab {
    padding: 0
}

.tab-btn-wrap-v3.style-3 {
    flex-direction: column;
    gap: 20px;
    align-items: start
}

.tab-btn-wrap-v3.style-3 .nav-tab-item {
    width: 100%
}

.tab-btn-wrap-v3.style-3 .tf-btn-tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.tab-btn-wrap-v3.style-3 .tf-btn-tab .text {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden
}

.tab-btn-wrap-v3.style-3 .tf-btn-tab .icon {
    transition: all .3s ease
}

.tab-btn-wrap-v3.style-3 .tf-btn-tab:not(.active) {
    color: var(--text-3)
}

.tab-btn-wrap-v3.style-3 .tf-btn-tab.active .icon {
    transform: rotate(45deg)
}

.tab-btn-wrap-v3.style-white {
    gap: 20px
}

.tab-btn-wrap-v3.style-white .tf-btn-tab {
    color: var(--white-20);
    padding-top: 0
}

.tab-btn-wrap-v3.style-white .tf-btn-tab.active {
    color: var(--white)
}

.tab-btn-wrap-v3.style-white .tf-btn-tab:after {
    background: var(--white)
}

.tab-btn-wrap-v3.style-4 {
    gap: 28px
}

@media (min-width:1200px) {
    .tab-btn-wrap-v3.style-white {
        gap: 48px
    }

    .tab-btn-wrap-v3.style-4 {
        gap: 40px
    }
}

@media (min-width:992px) {
    .tab-btn-wrap-v3.style-2 {
        flex-direction: column;
        gap: 28px;
        align-items: start
    }

    .tab-btn-wrap-v3.style-2 .tf-btn-tab {
        padding: 0;
        display: inline-flex
    }

    .tab-btn-wrap-v3.style-3 .tf-btn-tab {
        padding: 8px 0
    }
}

@media (max-width:1199px) {
    .tab-btn-wrap-v3 {
        margin-bottom: 24px
    }

    .tab-btn-wrap-v3.style-2 {
        gap: 16px
    }
}

@media (max-width:991px) {
    .tab-btn-wrap-v3.style-3 {
        gap: 12px
    }
}

.tab-btn-wrap-v4 {
    background: var(--white);
    padding: 24px 20px;
    border-radius: 16px;
    display: flex;
    gap: 20px;
    overflow: auto
}

.tab-btn-wrap-v4 .tf-btn-tab {
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 8px
}

.tab-btn-wrap-v4 .tf-btn-tab.active,
.tab-btn-wrap-v4 .tf-btn-tab:hover {
    background: var(--bg)
}

@media (min-width:1200px) {
    .tab-btn-wrap-v4 {
        display: grid;
        gap: 22.3px
    }

    .tab-btn-wrap-v4 .tf-btn-tab .text {
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        display: -webkit-box !important;
        overflow: hidden
    }
}

@media (max-width:1199px) {
    .tab-btn-wrap-v4 {
        margin-bottom: 30px;
        padding: 15px;
        gap: 10px
    }

    .tab-btn-wrap-v4 .tf-btn-tab {
        padding: 12px;
        white-space: nowrap
    }

    .tab-btn-wrap-v4 .tf-btn-tab .img {
        display: none
    }
}

form {
    position: relative;
    z-index: 30
}

form input[type=color],
form input[type=date],
form input[type=datetime-local],
form input[type=datetime],
form input[type=email],
form input[type=month],
form input[type=number],
form input[type=password],
form input[type=search],
form input[type=tel],
form input[type=text],
form input[type=time],
form input[type=url],
form input[type=week],
form select,
form textarea {
    outline: 0;
    box-shadow: none;
    width: 100%;
    padding: 11px 15px;
    border: 1px solid var(--line);
    border-radius: 8px;
    transition: all .3s ease
}

form input[type=color]::-moz-placeholder,
form input[type=date]::-moz-placeholder,
form input[type=datetime-local]::-moz-placeholder,
form input[type=datetime]::-moz-placeholder,
form input[type=email]::-moz-placeholder,
form input[type=month]::-moz-placeholder,
form input[type=number]::-moz-placeholder,
form input[type=password]::-moz-placeholder,
form input[type=search]::-moz-placeholder,
form input[type=tel]::-moz-placeholder,
form input[type=text]::-moz-placeholder,
form input[type=time]::-moz-placeholder,
form input[type=url]::-moz-placeholder,
form input[type=week]::-moz-placeholder,
form select::-moz-placeholder,
form textarea::-moz-placeholder {
    color: var(--text-3);
    font-size: 16px;
    line-height: 26px
}

form input[type=color]::placeholder,
form input[type=date]::placeholder,
form input[type=datetime-local]::placeholder,
form input[type=datetime]::placeholder,
form input[type=email]::placeholder,
form input[type=month]::placeholder,
form input[type=number]::placeholder,
form input[type=password]::placeholder,
form input[type=search]::placeholder,
form input[type=tel]::placeholder,
form input[type=text]::placeholder,
form input[type=time]::placeholder,
form input[type=url]::placeholder,
form input[type=week]::placeholder,
form select::placeholder,
form textarea::placeholder {
    color: var(--text-3);
    font-size: 16px;
    line-height: 26px
}

form input[type=color]:focus,
form input[type=date]:focus,
form input[type=datetime-local]:focus,
form input[type=datetime]:focus,
form input[type=email]:focus,
form input[type=month]:focus,
form input[type=number]:focus,
form input[type=password]:focus,
form input[type=search]:focus,
form input[type=tel]:focus,
form input[type=text]:focus,
form input[type=time]:focus,
form input[type=url]:focus,
form input[type=week]:focus,
form select:focus,
form textarea:focus {
    border-color: var(--black)
}

form input[type=color].style-stroke-bottom,
form input[type=date].style-stroke-bottom,
form input[type=datetime-local].style-stroke-bottom,
form input[type=datetime].style-stroke-bottom,
form input[type=email].style-stroke-bottom,
form input[type=month].style-stroke-bottom,
form input[type=number].style-stroke-bottom,
form input[type=password].style-stroke-bottom,
form input[type=search].style-stroke-bottom,
form input[type=tel].style-stroke-bottom,
form input[type=text].style-stroke-bottom,
form input[type=time].style-stroke-bottom,
form input[type=url].style-stroke-bottom,
form input[type=week].style-stroke-bottom,
form select.style-stroke-bottom,
form textarea.style-stroke-bottom {
    border-radius: 0;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    padding: 0 30px 11px 0
}

form input[type=color].style-stroke-bottom::-moz-placeholder,
form input[type=date].style-stroke-bottom::-moz-placeholder,
form input[type=datetime-local].style-stroke-bottom::-moz-placeholder,
form input[type=datetime].style-stroke-bottom::-moz-placeholder,
form input[type=email].style-stroke-bottom::-moz-placeholder,
form input[type=month].style-stroke-bottom::-moz-placeholder,
form input[type=number].style-stroke-bottom::-moz-placeholder,
form input[type=password].style-stroke-bottom::-moz-placeholder,
form input[type=search].style-stroke-bottom::-moz-placeholder,
form input[type=tel].style-stroke-bottom::-moz-placeholder,
form input[type=text].style-stroke-bottom::-moz-placeholder,
form input[type=time].style-stroke-bottom::-moz-placeholder,
form input[type=url].style-stroke-bottom::-moz-placeholder,
form input[type=week].style-stroke-bottom::-moz-placeholder,
form select.style-stroke-bottom::-moz-placeholder,
form textarea.style-stroke-bottom::-moz-placeholder {
    font-size: 16px;
    line-height: 26px
}

form input[type=color].style-stroke-bottom::placeholder,
form input[type=date].style-stroke-bottom::placeholder,
form input[type=datetime-local].style-stroke-bottom::placeholder,
form input[type=datetime].style-stroke-bottom::placeholder,
form input[type=email].style-stroke-bottom::placeholder,
form input[type=month].style-stroke-bottom::placeholder,
form input[type=number].style-stroke-bottom::placeholder,
form input[type=password].style-stroke-bottom::placeholder,
form input[type=search].style-stroke-bottom::placeholder,
form input[type=tel].style-stroke-bottom::placeholder,
form input[type=text].style-stroke-bottom::placeholder,
form input[type=time].style-stroke-bottom::placeholder,
form input[type=url].style-stroke-bottom::placeholder,
form input[type=week].style-stroke-bottom::placeholder,
form select.style-stroke-bottom::placeholder,
form textarea.style-stroke-bottom::placeholder {
    font-size: 16px;
    line-height: 26px
}

form button,
form input[type=button],
form input[type=reset],
form input[type=submit] {
    background-color: transparent;
    overflow: hidden;
    padding: 0
}

form textarea {
    height: 100px;
    resize: none
}

form .form-content {
    display: grid;
    gap: 20px
}

form .tf-grid-layout {
    gap: 20px
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.tf-check {
    position: relative;
    background: transparent;
    cursor: pointer;
    outline: 0;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid var(--text-3);
    padding: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: var(--white);
    transition: all .3s ease;
    line-height: 1;
    border-radius: 1px
}

.tf-check:checked {
    background: var(--black);
    border-color: var(--black)
}

.tf-check:checked:before {
    opacity: 1;
    transform: scale(1)
}

.tf-check:before {
    font-family: icomoon;
    content: "\e90f";
    position: absolute;
    color: var(--white);
    opacity: 0;
    font-size: 12px;
    transform: scale(0);
    transition: all .3s ease
}

.tf-check.style-2 {
    width: 20px;
    height: 20px;
    border-radius: 3px
}

.tf-check.style-2:before {
    font-size: 14px
}

.bb-shop-sidebar .bb-product-filter-items.filter-checkbox .bb-product-filter-item label:after {
    border-color: var(--text-3);
    border-radius: 3px
}

.bb-shop-sidebar .bb-product-filter-items.filter-checkbox input:checked~label:after {
    background-color: var(--black) !important;
    border-color: var(--black) !important
}

.bb-shop-sidebar .bb-product-filter-items.filter-checkbox input:checked~label:before {
    color: var(--white)
}

.tf-check-rounded {
    padding: 0 !important;
    position: relative;
    border: 1px solid #9a9a9a;
    border-radius: 50%;
    background: none;
    cursor: pointer;
    outline: 0;
    height: 14px;
    width: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--white);
    -webkit-appearance: none
}

.tf-check-rounded:before {
    content: "";
    position: absolute;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    background-color: var(--text);
    opacity: 0;
    transition: all .3s ease
}

.tf-check-rounded:checked {
    border-color: var(--text)
}

.tf-check-rounded:checked:before {
    opacity: 1
}

.tf-check-rounded.style-2 {
    width: 22px;
    height: 22px
}

.tf-check-rounded.style-2:before {
    width: 16px;
    height: 16px
}

.checkbox-wrap {
    display: flex;
    align-items: center;
    gap: 6px
}

.checkbox-wrap input {
    padding: 0
}

.checkbox-wrap label {
    cursor: pointer
}

.tf-field {
    position: relative;
    display: grid;
    place-items: start
}

.tf-field .tf-lable {
    margin-bottom: 6px
}

.form-search-nav {
    position: relative;
    width: 100%
}

.form-search-nav .btn-action {
    position: absolute;
    font-size: 24px;
    left: 12px;
    top: 50%;
    transform: translateY(-50%)
}

.form-search-nav .btn-action .icon {
    color: var(--text)
}

.form-search-nav fieldset input {
    padding-left: 44px;
    padding-top: 11px;
    padding-bottom: 11px
}

.form-search-nav.style-2 .btn-action {
    right: 16px;
    left: auto
}

.form-search-nav.style-2 fieldset input {
    padding-left: 15px;
    padding-right: 52px
}

.form-search-nav.style-2 fieldset input::-moz-placeholder {
    font-size: 18px;
    line-height: 28px;
    color: var(--text-3);
    font-weight: 400
}

.form-search-nav.style-2 fieldset input::placeholder {
    font-size: 18px;
    line-height: 28px;
    color: var(--text-3);
    font-weight: 400
}

.form-search-nav.style-3 .btn-action {
    right: 12px;
    left: auto
}

.form-search-nav.style-3 fieldset input {
    padding: 7px 48px 7px 12px
}

.form-search-nav.style-4 {
    min-width: 320px
}

.form-search-nav.style-4 fieldset input {
    background: transparent;
    padding-bottom: 7px;
    padding-top: 8px
}

.form-search-nav.style-4 fieldset input::-moz-placeholder {
    color: var(--white)
}

.form-search-nav.style-4 fieldset input::placeholder {
    color: var(--white)
}

.form-search-nav.style-4 .btn-action {
    right: 0;
    left: auto
}

.form-search-nav.style-5 {
    position: relative;
    width: auto
}

.form-search-nav.style-5 input {
    padding-top: 10px;
    padding-bottom: 10px
}

.form-search-nav.style-5 .btn-action-submit {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px
}

@media (min-width:1440px) {
    .form-search-nav.style-5 {
        width: 100%;
        max-width: 690px
    }
}

.form-sub {
    position: relative
}

.form-sub fieldset input {
    border-radius: 128px;
    padding: 10px 50px 10px 20px
}

.form-sub .btn-action {
    position: absolute;
    top: 4px;
    bottom: 4px;
    right: 4px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--black);
    border-radius: 50%;
    color: var(--white);
    font-size: 20px
}

.form-sub .btn-action .icon {
    transition: all .3s ease
}

.form-sub .btn-action:hover {
    background: var(--primary)
}

.form-sub .btn-action:hover .icon {
    transform: rotate(45deg)
}

.form-search-blog {
    position: relative
}

.form-search-blog .btn-action {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 24px
}

.form-leave-comment textarea {
    min-height: 248px
}

.form-leave-comment .form-content {
    margin-bottom: 24px
}

.form_search-product {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 680px;
    width: 100%;
    padding: 8px 20px;
    border-radius: 999px;
    background: var(--bg)
}

.form_search-product .tf-select-category {
    white-space: nowrap
}

.form_search-product .ipt {
    border: 0;
    background: transparent;
    padding: 0;
    width: 100%
}

.form_search-product .btn-action {
    font-size: 24px
}

.form_search-product .fieldset-search {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%
}

.form_search-product.style-2 {
    max-width: unset;
    padding-top: 12px;
    padding-bottom: 12px
}

select.select-2 {
    padding: 6px 56px 6px 11px;
    border: 1px solid var(--line);
    border-radius: 8px
}

select.select-3 {
    padding: 10px 39px 10px 19px;
    border: 1px solid var(--line);
    border-radius: 100px
}

select.select-3:focus {
    border-color: var(--text);
    outline: unset !important
}

@media (min-width:1200px) {
    select.select-3 {
        min-width: 200px
    }
}

.form-quick-login .tf-grid-layout {
    margin-bottom: 12px
}

@media (min-width:1200px) {
    .form-quick-login .action {
        padding-left: 24px;
        padding-right: 24px
    }
}

.select-wrap {
    position: relative;
    display: inline-flex
}

.select-wrap .icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px
}

.tf-select {
    position: relative
}

.tf-select select {
    width: 100%;
    padding: 11px 15px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0 !important;
    transition: all .3s ease;
    font-weight: 500
}

.tf-select select:focus {
    border-color: var(--text)
}

.tf-select:after {
    font-family: icomoon;
    position: absolute;
    content: "\e908";
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    z-index: 1;
    font-weight: 400;
    color: var(--text)
}

.tf-select:hover select {
    border-color: var(--text)
}

.tf-select.style-2 {
    min-width: 100px
}

.password-wrapper {
    position: relative
}

.password-wrapper .toggle-pass {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer
}

.form-setting {
    display: grid;
    gap: 28px
}

.form-log .form-content {
    gap: 16px;
    margin-bottom: 28px
}

.form-log .field-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px
}

.form-log .group-action {
    display: grid;
    gap: 16px
}

.form-newsletter {
    position: relative
}

.form-newsletter fieldset input {
    border-radius: 100px;
    padding: 15px 150px 15px 23px
}

.form-newsletter .btn-action {
    position: absolute;
    top: 8px;
    right: 8px;
    bottom: 8px
}

.form-cta {
    display: grid;
    gap: 24px;
    padding: 48px 48px 47px;
    border-radius: 16px;
    background: var(--bg)
}

.form-cta .heading {
    display: grid;
    gap: 7px
}

.form-cta fieldset input {
    padding-top: 10px;
    padding-bottom: 10px
}

@media (min-width:1200px) {
    .form-cta textarea {
        height: 200px
    }
}

@media (max-width:767px) {
    .form-cta {
        padding: 20px
    }
}

.form-get textarea {
    height: 128px
}

.form-get .form-content {
    margin-bottom: 24px
}

.form-notice-stock {
    padding: 32px;
    border-radius: 12px;
    border: 1px solid var(--text)
}

.form-notice-stock .title {
    margin-bottom: 12px
}

.form-notice-stock .desc {
    margin-bottom: 28px
}

@media (max-width:991px) {
    .form-notice-stock {
        padding: 20px
    }
}

.form-tracking .form-content {
    margin-bottom: 32px
}

.btn-open-search {
    min-width: 320px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--white);
    padding-top: 8px;
    padding-bottom: 7px;
    color: var(--white)
}

.btn-open-search .icon {
    font-size: 24px
}

.btn-open-search.style-2 {
    color: var(--text-2);
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 19px
}

.btn-open-search.style-2 .icon {
    color: var(--text)
}

@media (min-width:1440px) {
    .btn-open-search.style-2 {
        width: 100%;
        max-width: 690px
    }
}

.tf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 44px;
    padding-left: 24px;
    padding-right: 24px;
    position: relative;
    background: var(--text);
    color: var(--white);
    border-radius: 60px;
    font-weight: 600;
    transition: all .3s ease
}

.tf-btn.w-100 {
    padding-left: 12px;
    padding-right: 12px
}

.tf-btn.btn-white {
    background: var(--white);
    color: var(--text)
}

.tf-btn.btn-white:hover {
    background: var(--text);
    color: var(--white)
}

.tf-btn.btn-white:after {
    display: none
}

.tf-btn.btn-primary,
.tf-btn.btn-white.hv-primary:hover {
    background: var(--primary)
}

.tf-btn.btn-secondary {
    background: var(--secondary)
}

.tf-btn.btn-third {
    background: var(--third)
}

.tf-btn.btn-stroke {
    border: 1px solid var(--text)
}

.tf-btn.btn-stroke:not(:hover) {
    background: transparent;
    color: var(--text)
}

.tf-btn.btn-stroke-2 {
    border: 2px solid var(--white-10);
    background: transparent
}

.tf-btn.small {
    height: 42px;
    padding-left: 24px;
    padding-right: 24px
}

.tf-btn.small.w-100 {
    padding-left: 12px;
    padding-right: 12px
}

.tf-btn.small-2 {
    height: 46px;
    padding-left: 28px;
    padding-right: 28px
}

.tf-btn.s-small {
    height: 32px;
    padding-left: 20px;
    padding-right: 20px
}

.tf-btn.type-xl {
    height: 50px
}

.tf-btn.style-2 {
    border-radius: 12px
}

@media (min-width:1200px) {
    .tf-btn {
        height: 58px;
        padding-left: 32px;
        padding-right: 32px
    }
}

.tf-btn.btn-loading {
    pointer-events: none;
    cursor: wait;
    color: transparent !important;
    position: relative
}

.tf-btn.btn-loading>* {
    opacity: 0;
    visibility: hidden
}

.tf-btn.btn-loading:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    border: 2px solid hsla(0, 0%, 100%, .35);
    border-top: 2px solid var(--white);
    border-radius: 50%;
    animation: spin .7s linear infinite;
    z-index: 2
}

.animate-btn {
    position: relative;
    overflow: hidden
}

.animate-btn:hover:after {
    animation: shine-reverse 1s forwards
}

.animate-btn.w-100:hover:after {
    animation: shine-reverse 1.5s forwards
}

.animate-btn:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(120deg, hsla(0, 0%, 100%, 0) 30%, hsla(0, 0%, 100%, .8), hsla(0, 0%, 100%, 0) 70%);
    top: 0;
    left: -100%;
    opacity: .6
}

.animate-btn.tf-btn:after,
button.animate-btn:after {
    background-image: linear-gradient(120deg, transparent 20%, hsla(0, 0%, 100%, .4), transparent 70%)
}

.animate-btn.animate-dark:after {
    background-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, .5), transparent)
}

.animate-btn.animate-primary:after {
    background-image: linear-gradient(90deg, transparent, #dc4646, transparent)
}

.tf-loading {
    min-width: 150px
}

.tf-loading.loadmore .spinner-circle {
    display: none
}

.tf-loading.loadmore.loading .spinner-circle {
    display: block
}

.tf-loading.loadmore.loading .text {
    display: none
}

.tf-loading.loadmore:hover .spinner-child:before {
    background-color: var(--white)
}

.tf-loading.loadmore .spinner-child:before {
    background-color: var(--bg);
    transition: all .3s ease
}

@media (max-width:1199px) {
    .tf-loading {
        min-width: 130px
    }
}

.spinner-circle {
    width: 24px;
    height: 24px;
    position: relative
}

.spinner-circle .spinner-child {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

.spinner-circle .spinner-child:before {
    content: "";
    display: block;
    margin: 0 auto;
    width: 20%;
    height: 20%;
    background-color: var(--white);
    border-radius: 100%;
    animation: spinner-circleBounceDelay 1s ease-in-out infinite both
}

.spinner-circle .spinner-circle2 {
    transform: rotate(40deg)
}

.spinner-circle .spinner-circle2:before {
    animation-delay: -.9s
}

.spinner-circle .spinner-circle3 {
    transform: rotate(80deg)
}

.spinner-circle .spinner-circle3:before {
    animation-delay: -.8s
}

.spinner-circle .spinner-circle4 {
    transform: rotate(120deg)
}

.spinner-circle .spinner-circle4:before {
    animation-delay: -.7s
}

.spinner-circle .spinner-circle5 {
    transform: rotate(160deg)
}

.spinner-circle .spinner-circle5:before {
    animation-delay: -.6s
}

.spinner-circle .spinner-circle6 {
    transform: rotate(200deg)
}

.spinner-circle .spinner-circle6:before {
    animation-delay: -.5s
}

.spinner-circle .spinner-circle7 {
    transform: rotate(240deg)
}

.spinner-circle .spinner-circle7:before {
    animation-delay: -.4s
}

.spinner-circle .spinner-circle8 {
    transform: rotate(280deg)
}

.spinner-circle .spinner-circle8:before {
    animation-delay: -.3s
}

.spinner-circle .spinner-circle9 {
    transform: rotate(320deg)
}

.spinner-circle .spinner-circle9:before {
    animation-delay: -.2s
}

.tf-btn-line-2 {
    color: var(--text-2);
    position: relative;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(to right, var(--text) 50%, var(--text-2) 50%);
    background-size: 200% 100%;
    background-position: 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position .3s linear;
    cursor: pointer
}

.tf-btn-line-2:after {
    right: 0;
    background-color: var(--text-2);
    transition: all .3s ease
}

.tf-btn-line-2:after,
.tf-btn-line-2:before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    height: 2px
}

.tf-btn-line-2:before {
    width: 0;
    background-color: var(--text);
    transition: width .3s linear;
    z-index: 1
}

.tf-btn-line-2.style-min:after,
.tf-btn-line-2.style-min:before {
    height: 1px
}

.tf-btn-line-2.style-white {
    color: var(--white);
    background: linear-gradient(to right, var(--primary) 50%, var(--white) 50%);
    background-size: 200% 100%;
    background-position: 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position .3s linear
}

.tf-btn-line-2.style-white:after {
    background-color: var(--white)
}

.tf-btn-line-2.style-white:before {
    background-color: var(--primary)
}

.tf-btn-line-2.style-primary {
    color: var(--text);
    background: linear-gradient(to right, var(--primary) 50%, var(--text) 50%);
    background-size: 200% 100%;
    background-position: 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position .3s linear
}

.tf-btn-line-2.style-primary:after {
    background-color: var(--text)
}

.tf-btn-line-2.style-primary:before {
    background-color: var(--primary)
}

.tf-btn-line-2:hover {
    background-position: 0
}

.tf-btn-line-2:hover:before {
    width: 100%
}

.tf-btn-line-2.active {
    background-position: 0
}

.tf-btn-line-2.active:before {
    width: 100%
}

.tf-btn-line-3 {
    position: relative;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center
}

.tf-btn-line-3:before {
    content: "";
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--text);
    transition: all .3s ease
}

.tf-btn-line-3:hover {
    color: var(--primary)
}

.tf-btn-line-3:hover:before {
    background: var(--primary)
}

.tf-btn-line-3.type-primary {
    color: var(--primary)
}

.tf-btn-line-3.type-primary:before {
    background: var(--primary)
}

.tf-btn-line {
    display: inline-flex;
    position: relative;
    color: var(--text-2)
}

.tf-btn-line:after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background-color: var(--text-2);
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden
}

.tf-btn-line:hover {
    color: var(--text)
}

.tf-btn-line:hover:after {
    opacity: 1;
    visibility: visible
}

.tf-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.tf-btn-icon .icon {
    font-size: 20px
}

.tf-action-link {
    align-items: center;
    display: inline-flex;
    height: 40px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 100px;
    color: var(--white);
    background: var(--text)
}

.tf-action-link .icon {
    font-size: 20px
}

.tf-action-link .text {
    margin-left: 8px;
    transition: all .3s ease
}

.tf-btn-video.btn-abs {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.tf-btn-video.btn-abs:after {
    position: absolute;
    content: "";
    inset: 0;
    background-color: rgba(0, 0, 0, .302);
    z-index: 1
}

.tf-btn-video.btn-abs .icon {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--white);
    font-size: 20px;
    color: var(--black);
    z-index: 2
}

.tf-swiper .tf-sw-pagination:not(.swiper-pagination-lock) {
    margin-top: 20px
}

.swiper-button-disabled {
    pointer-events: none !important
}

.sw-dot-default {
    margin-top: 24px
}

.sw-dot-default .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    background-color: transparent;
    position: relative;
    border: 1px solid transparent;
    transition: all .3s ease;
    opacity: 1
}

.sw-dot-default .swiper-pagination-bullet:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--text-3);
    transition: all .3s ease
}

.sw-dot-default .swiper-pagination-bullet.swiper-pagination-bullet-active {
    border: 1px solid var(--text)
}

.sw-dot-default .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
    background-color: var(--text)
}

.sw-dot-default.style-2 .swiper-pagination-bullet {
    width: 20px;
    height: 20px
}

.sw-dot-default.style-2 .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):before {
    border: 1px solid var(--text);
    background: transparent
}

@media (min-width:1200px) {
    .sw-dot-default {
        margin-top: 35px
    }
}

@media (min-width:1440px) {
    .sw-dot-default {
        margin-top: 56px
    }
}

.sw-dot-default {
    display: flex;
    align-items: center;
    justify-content: center
}

.sw-dot-default.swiper-pagination-lock {
    margin: 0
}

.sw-line-default {
    display: flex;
    justify-content: center;
    gap: 12px
}

.sw-line-default .swiper-pagination-bullet {
    width: 24px;
    height: 4px;
    position: relative;
    transition: all .3s ease;
    opacity: 1;
    background: var(--white);
    border-radius: 0;
    margin: 0 !important
}

.sw-line-default .swiper-pagination-bullet:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 20px;
    transition: all .3s ease
}

.sw-line-default .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 40px
}

.sw-line-default .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    opacity: .3
}

.sw-line-default.style-2 .swiper-pagination-bullet {
    background: var(--text)
}

@media (max-width:991px) {
    .sw-line-default {
        gap: 6px
    }

    .sw-line-default .swiper-pagination-bullet {
        width: 20px
    }

    .sw-line-default .swiper-pagination-bullet.swiper-pagination-bullet-active {
        width: 30px
    }
}

.tf-sw-nav {
    font-size: 68px
}

.tf-sw-nav,
.tf-sw-nav-2 {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease
}

.tf-sw-nav-2 {
    font-size: 20px;
    width: 44px;
    height: 44px;
    border-radius: 4px;
    border: 1px solid var(--line);
    background: var(--white)
}

.tf-sw-nav-2:hover {
    border-color: var(--text);
    background: var(--text);
    color: var(--white)
}

.tf-sw-nav-2.swiper-button-disabled {
    opacity: .4 !important
}

.tf-sw-nav-2.style-2 {
    border: 0;
    border-radius: 0
}

.tf-sw-nav-2.style-2:not(:hover) {
    background: var(--white)
}

.tf-sw-nav-2.style-3 {
    background: hsla(0, 0%, 100%, .102);
    border-color: transparent;
    border-radius: 8px
}

.tf-sw-nav-2.style-3:hover {
    border-color: var(--white)
}

@media (min-width:992px) {
    .tf-sw-nav-2.style-large {
        width: 60px;
        height: 60px;
        font-size: 28px
    }
}

.tf-sw-nav-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--white);
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    cursor: pointer
}

.tf-sw-nav-circle:hover {
    background: var(--text);
    color: var(--white)
}

.tf-sw-nav-circle.swiper-button-disabled {
    opacity: .5
}

.slider_effect_fade .swiper-slide.swiper-slide-active .fade-item {
    transform: translateY(0);
    opacity: 1;
    visibility: visible
}

.slider_effect_fade .swiper-slide.swiper-slide-active .scale-item {
    transform: scale(1)
}

.slider_effect_fade .swiper-slide.swiper-slide-active .width-item {
    width: 100%
}

.slider_effect_fade .fade-item {
    transform: translateY(100px);
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
}

.slider_effect_fade .fade-item.fade-box {
    transition-delay: .4s;
    transform: translateY(0)
}

.slider_effect_fade .fade-item.fade-item-1 {
    transition-delay: .5s
}

.slider_effect_fade .fade-item.fade-item-2 {
    transition-delay: .6s
}

.slider_effect_fade .fade-item.fade-item-3 {
    transition-delay: .7s
}

.slider_effect_fade .fade-item.fade-item-4 {
    transition-delay: .8s
}

.slider_effect_fade .fade-item.fade-item-5 {
    transition-delay: 1s
}

.slider_effect_fade .scale-item {
    transform: scale(1.2);
    transition: all .5s linear
}

.slider_effect_fade .scale-item.scale-item-1 {
    transition-delay: .3s
}

.slider_effect_fade .width-item {
    width: 1%;
    transition: all .3s ease
}

.slider_effect_fade .width-item.width-item-3 {
    transition-delay: .7s
}

@media (max-width:767px) {
    .slider_effect_scale-md .swiper-slide {
        overflow: hidden
    }

    .slider_effect_scale-md .swiper-slide.swiper-slide-active .scale-item {
        transform: scale(1)
    }

    .slider_effect_scale-md .scale-item {
        transform: scale(1.2);
        transition: all 1s linear
    }

    .slider_effect_fade-md .swiper-slide.swiper-slide-active .fade-item {
        transform: translateY(0);
        opacity: 1;
        visibility: visible
    }

    .slider_effect_fade-md .fade-item {
        transform: translateY(100px);
        opacity: 0;
        visibility: hidden;
        transition: all .3s ease
    }

    .slider_effect_fade-md .fade-item.fade-box {
        transition-delay: .4s;
        transform: translateY(0)
    }

    .slider_effect_fade-md .fade-item.fade-item-1 {
        transition-delay: .5s
    }

    .slider_effect_fade-md .fade-item.fade-item-2 {
        transition-delay: .6s
    }

    .slider_effect_fade-md .fade-item.fade-item-3 {
        transition-delay: .7s
    }

    .slider_effect_fade-md .fade-item.fade-item-4 {
        transition-delay: .8s
    }
}

.hover-sw-nav .tf-sw-nav {
    visibility: hidden
}

.hover-sw-nav .tf-sw-nav.nav-next-swiper {
    margin-right: 20px
}

.hover-sw-nav .tf-sw-nav.nav-prev-swiper {
    margin-left: 20px
}

.hover-sw-nav:hover .tf-sw-nav {
    margin: 0;
    visibility: visible
}

.tf-slideshow {
    position: relative
}

.tf-slideshow .sw-line-default {
    position: absolute;
    bottom: 28px;
    right: 0;
    left: 0;
    z-index: 2
}

.tf-slideshow.style-2 .slider-wrap {
    overflow: hidden;
    border-radius: 20px
}

.tf-slideshow.style-2 .sld_image {
    background-color: var(--text)
}

.tf-slideshow.style-2 .sld_image img {
    opacity: .8
}

.tf-slideshow.style-2 .tf-sw-nav-2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4
}

@media (min-width:992px) {
    .tf-slideshow.style-2 .sub-text_sld {
        margin-bottom: 40px !important
    }
}

.tf-slideshow.style-2 .nav-next-swiper {
    right: 40px
}

.tf-slideshow.style-2 .nav-prev-swiper {
    left: 40px
}

.tf-slideshow.style-2 .sld_content {
    top: calc(50% + 25px)
}

.tf-slideshow.style-2.v2 .sld_content {
    top: unset
}

@media (max-width:1599px) {
    .tf-slideshow.style-2.v2 .slider-wrap {
        border-radius: 0
    }
}

@media (min-width:992px) {
    .tf-slideshow.style-2.v2 .tf-sw-nav-2 {
        height: 64px;
        width: 64px;
        font-size: 32px
    }
}

.tf-slideshow.slideshow-3 .sw-line-default {
    position: unset
}

.tf-slideshow.slideshow-3 .wrap-sw-line {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    z-index: 3
}

@media (min-width:768px) {
    .tf-slideshow.slideshow-3 .wrap-sw-line {
        width: 50%;
        bottom: 32px
    }

    .tf-slideshow .sw-line-default.pst-2 {
        left: 20px;
        bottom: 30px;
        justify-content: start
    }
}

@media (min-width:992px) {
    .tf-slideshow .sw-line-default.pst-3 {
        left: 60px;
        bottom: 40px
    }
}

@media (min-width:1200px) {
    .tf-slideshow .sw-line-default.pst-2 {
        left: 48px;
        bottom: 48px
    }
}

@media (max-width:1439px) {
    .tf-slideshow .slideshow-wrap {
        height: 600px
    }
}

@media (max-width:767px) {
    .tf-slideshow .sw-line-default {
        bottom: 15px
    }

    .tf-slideshow .slideshow-wrap {
        height: 550px
    }
}

@media (max-width:575px) {
    .tf-slideshow .slideshow-wrap {
        height: 450px
    }
}

.sw-slide-show.slideshow-2 .slider-wrap_2,
.sw-slide-show.slideshow-2 .slider-wrap_2 .sld-content {
    position: relative
}

.sw-slide-show.slideshow-2 .slider-wrap_2 .sld-content:after {
    content: "";
    inset: 0;
    position: absolute;
    background: rgba(0, 0, 0, .227);
    z-index: 0
}

.sw-slide-show.slideshow-2 .slider-wrap_2 .sld-content .content-sld_wrap {
    position: relative;
    z-index: 1
}

.group-nav-action {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    z-index: 2;
    pointer-events: none
}

.group-nav-action .tf-sw-nav,
.group-nav-action .tf-sw-nav-2 {
    pointer-events: all
}

.group-nav-action.pst-2 .gr-nav_wrap {
    padding-left: 49px;
    padding-right: 49px
}

.group-nav-action.pst-3 {
    left: -75px;
    right: -75px
}

@media (max-width:1599px) {
    .group-nav-action {
        display: none
    }
}

.pst-nav-action {
    position: relative
}

.pst-nav-action .group-nav-action {
    justify-content: space-between
}

.slideshow-wrap {
    position: relative
}

@media (max-width:575px) {
    .slideshow-wrap.sm-has-ov:after {
        content: "";
        position: absolute;
        inset: 0;
        background: hsla(0, 0%, 100%, .15);
        backdrop-filter: blur(1px)
    }
}

.sld_content {
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    z-index: 2
}

.sld_content .heading {
    margin-bottom: 32px
}

.sld_content .group-action {
    display: inline-flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px
}

.sld_content.pst-2 {
    top: calc(50% + 60px)
}

.sld_content.pst-3 {
    top: calc(50% + 40px)
}

.sld_content.pst-4 {
    top: calc(50% + 52px)
}

@media (min-width:1200px) {
    .sld_content.pst-4 .heading {
        margin-bottom: 32px
    }
}

.sld_content.type-3,
.sld_content.type-4 {
    left: 0;
    right: 0;
    top: unset;
    bottom: 47px;
    transform: translateY(0);
    padding-left: 15px
}

.sld_content.type-3 .content-sld_wrap,
.sld_content.type-4 .content-sld_wrap {
    max-width: 500px
}

@media (min-width:992px) {

    .sld_content.type-3,
    .sld_content.type-4 {
        padding-left: 50px;
        padding-right: 15px
    }

    .sld_content.type-4 {
        bottom: 60px;
        padding-left: 60px;
        padding-right: 15px
    }

    .sld_content.type-2 {
        left: 45px
    }
}

@media (min-width:1200px) {
    .sld_content .heading {
        margin-bottom: 40px
    }

    .sld_content.pst-2 {
        top: calc(50% + 64px)
    }

    .sld_content.pst-5 {
        top: calc(50% - 6px)
    }
}

@media (max-width:575px) {
    .sld_content .sub-text_sld {
        display: none
    }
}

.sld_image {
    height: 100%;
    overflow: hidden
}

.sld_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.wrap-sw-over {
    margin-left: -10px;
    padding-left: 10px;
    margin-bottom: -10px;
    padding-bottom: 10px
}

@media (min-width:1200px) {
    .wrap-sw-over {
        margin-left: -40px;
        padding-left: 40px;
        margin-bottom: -40px;
        padding-bottom: 40px
    }
}

.slider-wrap_2 {
    display: flex;
    border-radius: 16px;
    overflow: hidden
}

.slider-wrap_2>* {
    width: 100%;
    min-height: 400px
}

.slider-wrap_2 .sld-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.slider-wrap_2 .sld-content {
    background: #2c2762;
    display: flex;
    align-items: center;
    padding: 48px;
    position: relative
}

.slider-wrap_2 .sld-content .sld-image-abs {
    position: absolute;
    inset: 0
}

.slider-wrap_2 .sld-content .sld-image-abs img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.slider-wrap_2 .title_sld {
    margin-bottom: 24px
}

@media (min-width:1200px) {
    .slider-wrap_2 .title_sld {
        margin-bottom: 40px
    }
}

@media (min-width:768px) {
    .slider-wrap_2 .sld-image {
        width: 60%
    }

    .slider-wrap_2 .sld-content {
        width: 40%
    }
}

@media (min-width:992px) {
    .slider-wrap_2 .sld-image {
        width: 63.83%
    }

    .slider-wrap_2 .sld-content {
        width: 36.17%
    }
}

@media (max-width:991px) {
    .slider-wrap_2 .sld-content {
        padding: 20px
    }
}

@media (max-width:767px) {
    .slider-wrap_2 .sld-image {
        display: none
    }
}

.slider-wrap_3 {
    display: flex;
    border-radius: 20px;
    overflow: hidden;
    min-height: 700px
}

.slider-wrap_3>* {
    width: 50%
}

.slider-wrap_3 .sld-image_left,
.slider-wrap_3 .sld-image_right {
    height: 100%
}

.slider-wrap_3 .sld-image_left img,
.slider-wrap_3 .sld-image_right img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.slider-wrap_3 .sld-content {
    position: relative
}

.slider-wrap_3 .content-sld_wrap {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    inset: 30px
}

.slider-wrap_3 .sld-image_left {
    position: relative
}

.slider-wrap_3 .sld-image_left:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .3)
}

.slider-wrap_3 .text-sub_sld {
    margin-bottom: 15px
}

.slider-wrap_3 .title_sld {
    margin-bottom: 32px
}

.slider-wrap_3 .group-action {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px
}

@media (min-width:992px) {
    .slider-wrap_3 .sld-image_left img {
        filter: blur(40px)
    }
}

@media (min-width:1200px) {
    .slider-wrap_3 .content-sld_wrap {
        left: 60px
    }

    .slider-wrap_3 .sld-image_left img {
        transform: scale(1.2)
    }

    .slider-wrap_3 .title_sld {
        margin-bottom: 40px
    }

    .slider-wrap_3 .group-action a {
        padding-left: 36px;
        padding-right: 36px
    }
}

@media (min-width:1600px) {
    .slider-wrap_3 .content-sld_wrap {
        left: 114px
    }
}

@media (max-width:1199px) {
    .slider-wrap_3 {
        min-height: 600px
    }
}

@media (max-width:991px) {
    .slider-wrap_3 .content-sld_wrap {
        inset: 20px
    }

    .slider-wrap_3 .sld-image_right {
        display: none
    }

    .slider-wrap_3>* {
        width: 100%
    }

    .slider-wrap_3 .sld-image_left img,
    .slider-wrap_3 .sld-image_right img {
        max-height: 600px
    }
}

@media (max-width:575px) {
    .slider-wrap_3 {
        min-height: 450px
    }
}

.slider-wrap_4 {
    display: flex
}

.slider-wrap_4>* {
    width: 100%;
    min-height: 400px
}

@media (min-width:768px) {
    .slider-wrap_4>* {
        min-height: 542px
    }
}

.slider-wrap_4 .sld-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.slider-wrap_4 .sld-content {
    background: #103c29;
    display: flex;
    align-items: center;
    padding: 48px;
    position: relative
}

.slider-wrap_4 .sld-content .sld-image-abs {
    position: absolute;
    inset: 0
}

.slider-wrap_4 .sld-content .sld-image-abs img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:767px) {
    .slider-wrap_4 .sld-content .sld-image-abs {
        background-color: #101010
    }

    .slider-wrap_4 .sld-content .sld-image-abs img {
        opacity: .8
    }
}

.slider-wrap_4 .title_sld {
    margin-bottom: 12px
}

.slider-wrap_4 .decs_sld {
    margin-bottom: 24px
}

@media (min-width:768px) {
    .slider-wrap_4 .title_sld {
        margin-bottom: 16px
    }

    .slider-wrap_4 .sld-content {
        width: 40%
    }

    .slider-wrap_4 .decs_sld {
        margin-bottom: 40px
    }

    .slider-wrap_4 .sld-content,
    .slider-wrap_4 .sld-image {
        width: 50%
    }
}

@media (max-width:991px) {
    .slider-wrap_4 .sld-content {
        padding: 20px
    }
}

@media (max-width:767px) {
    .slider-wrap_4 .sld-image {
        display: none
    }
}

@media (min-width:1200px) {
    .swiper-cate .category-v04 {
        max-width: 240px;
        display: flex;
        flex-direction: column
    }

    .swiper-cate .swiper-slide:not(:first-child) .category-v04 {
        margin: 0 auto
    }

    .swiper-cate .swiper-slide:last-child .category-v04 {
        margin: 0 0 0 auto
    }
}

.box-swiper-product {
    padding: 21px;
    border: 3px solid var(--text);
    border-radius: 16px
}

@media (max-width:991px) {
    .box-swiper-product {
        padding: 13px;
        border-width: 2px
    }
}

.box-nav-pag {
    border-radius: 12px;
    background: var(--white);
    position: absolute;
    right: 30px;
    bottom: 30px;
    z-index: 2;
    min-width: 200px;
    text-align: center
}

.box-nav-pag .title {
    padding: 10px
}

.box-nav-pag .nav-pag_wrap {
    display: flex
}

.box-nav-pag .nav-pag_wrap>* {
    flex: 1;
    padding: 9px 10px 10px;
    border-top: 1px solid var(--line)
}

.box-nav-pag .nav-pag_wrap>:not(:last-child) {
    border-right: 1px solid var(--line)
}

.box-nav-pag .nav-pag_wrap .pagination-fraction {
    display: flex;
    justify-content: center
}

.box-nav-pag .nav-pag_wrap .pagination-fraction .swiper-slice:after {
    content: "/"
}

.box-nav-pag .nav-pag_wrap .nav-next-swiper,
.box-nav-pag .nav-pag_wrap .nav-prev-swiper {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px
}

@media (max-width:991px) {
    .box-nav-pag {
        bottom: 8px;
        right: 8px;
        min-width: 180px
    }

    .box-nav-pag .nav-pag_wrap>*,
    .box-nav-pag .title {
        padding: 6px
    }
}

.sw-pg-thumb {
    display: flex;
    align-items: center;
    gap: 12px
}

.sw-pg-thumb .swiper-pagination-bullet {
    margin: 0 !important;
    width: 40px;
    border-radius: 0;
    height: 4px;
    background-color: var(--white);
    transition: all .3s ease;
    position: relative
}

.sw-pg-thumb .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    opacity: .3;
    width: 24px
}

.sw-pg-thumb .swiper-pagination-bullet:after {
    content: "";
    position: absolute;
    height: calc(100% + 30px);
    width: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

.testimonial-v01 {
    display: flex;
    gap: 30px
}

.testimonial-v01 .tes-image {
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0
}

.testimonial-v01 .tes-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.testimonial-v01 .tes-content {
    display: flex;
    flex-direction: column
}

.testimonial-v01 .tes_text {
    flex: 1
}

.testimonial-v01 .star-wrap {
    margin-bottom: 16px
}

.testimonial-v01 .tes_author {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px
}

.testimonial-v01 .tes_author .br-line {
    width: 12px
}

.testimonial-v01 .tes_author .author-verified {
    display: flex;
    align-items: center;
    gap: 4px
}

.testimonial-v01 .tes_author .author-verified .icon {
    color: var(--success)
}

.testimonial-v01 .tes_product {
    display: flex;
    align-items: center;
    gap: 16px
}

.testimonial-v01 .tes_product .product-image {
    border-radius: 50%;
    overflow: hidden
}

.testimonial-v01 .tes_product .product-infor {
    display: grid;
    gap: 4px;
    place-items: start
}

.testimonial-v01 .tes_text {
    margin-bottom: 16px
}

.testimonial-v01.style-def .tes-image img {
    -o-object-position: top;
    object-position: top
}

.testimonial-v01.style-def .tes_product {
    padding-top: 23px;
    border-top: 1px solid var(--line)
}

.testimonial-v01.style-2 {
    padding: 20px;
    background: var(--bg);
    border-radius: 16px
}

.testimonial-v01.style-2 .tes_avatar {
    margin-bottom: 28px;
    border-radius: 50%;
    overflow: hidden;
    max-width: 60px
}

.testimonial-v01.style-2.type-2,
.testimonial-v01.style-2.type-3 {
    transition: all .3s ease
}

.testimonial-v01.style-2.type-2 .star-wrap,
.testimonial-v01.style-2.type-3 .star-wrap {
    margin-bottom: 8px
}

.testimonial-v01.style-2.type-2 .tes_author,
.testimonial-v01.style-2.type-3 .tes_author {
    margin-bottom: 16px
}

.testimonial-v01.style-2.type-2 .tes_product .product-image,
.testimonial-v01.style-2.type-3 .tes_product .product-image {
    border-radius: 4px
}

.testimonial-v01.style-3 {
    gap: 0;
    border-radius: 16px;
    overflow: hidden;
    background: var(--white)
}

.testimonial-v01.style-3 .tes-image {
    border-radius: 0
}

.testimonial-v01.style-3 .tes-content {
    padding: 20px;
    justify-content: center;
    gap: 16px
}

.testimonial-v01.style-3 .tes-content>* {
    margin: 0
}

.testimonial-v01.style-4 {
    gap: 0;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--line)
}

.testimonial-v01.style-4 .box-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--white);
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--black);
    font-size: 24px
}

.testimonial-v01.style-4 .box-icon:hover {
    background-color: var(--black);
    color: var(--white)
}

.testimonial-v01.style-4 .tes-image {
    border-radius: 0;
    margin: -1px;
    position: relative
}

.testimonial-v01.style-4 .tes-content {
    padding: 25px
}

.testimonial-v01.style-4 .star-wrap,
.testimonial-v01.style-4 .tes_text {
    margin-bottom: 8px
}

.testimonial-v01.style-4 .tes_author {
    margin-bottom: 20px
}

.testimonial-v01.style-4 .tes_product {
    padding-top: 19px
}

.testimonial-v01.style-4.type-2 {
    flex-direction: column
}

.testimonial-v01.style-4.type-2 .tes-image {
    margin-bottom: 0
}

.testimonial-v01.style-5 .tes_product {
    padding: 12px;
    background: var(--bg);
    border-radius: 12px
}

.testimonial-v01.style-6 {
    flex-direction: column;
    gap: 24px
}

.testimonial-v01.style-6 .star-wrap i {
    color: var(--text)
}

.testimonial-v01.style-7 {
    text-align: center
}

.testimonial-v01.style-7 .tes_author,
.testimonial-v01.style-7 .tes_text {
    margin-bottom: 20px
}

.testimonial-v01.style-7 .tes_product {
    border-top: unset;
    padding: 16px 12px;
    border-radius: 8px;
    max-width: 339px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: var(--white)
}

.testimonial-v01.style-7 .tes_product .product-image {
    border-radius: 8px
}

.testimonial-v01.style-8 {
    gap: 0
}

.testimonial-v01.style-8 .tes-image {
    max-width: 234px
}

.testimonial-v01.style-8 .tes-content {
    padding: 16px 24px
}

.testimonial-v01.style-8 .tes_product {
    padding-top: 16px
}

@media (min-width:576px) {
    .testimonial-v01.style-1 .tes-image {
        max-width: 285px
    }

    .testimonial-v01.style-3>* {
        width: 50%
    }

    .testimonial-v01.style-4:not(.type-2) .tes-image {
        max-width: 234px
    }
}

@media (min-width:992px) {
    .testimonial-v01.style-4 .box-icon {
        opacity: 0;
        visibility: hidden
    }

    .testimonial-v01.style-4:hover .box-icon {
        opacity: 1;
        visibility: visible
    }
}

@media (min-width:1200px) {
    .testimonial-v01.style-1 .tes-image {
        max-width: 285px
    }

    .testimonial-v01.style-1.type-2 .product-image {
        border-radius: 8px
    }

    .testimonial-v01.style-2 {
        padding: 40px
    }

    .testimonial-v01.style-2 .tes_author,
    .testimonial-v01.style-2 .tes_text {
        margin-bottom: 28px
    }

    .testimonial-v01.style-2.type-2,
    .testimonial-v01.style-2.type-3 {
        padding: 28px
    }

    .testimonial-v01.style-2.type-2 .author-name,
    .testimonial-v01.style-2.type-2 .author-verified .text,
    .testimonial-v01.style-2.type-2 .prd_name,
    .testimonial-v01.style-2.type-2 .prd_price,
    .testimonial-v01.style-2.type-2 .star-wrap .icon,
    .testimonial-v01.style-2.type-2 .tes_text,
    .testimonial-v01.style-2.type-3 .author-name,
    .testimonial-v01.style-2.type-3 .author-verified .text,
    .testimonial-v01.style-2.type-3 .prd_name,
    .testimonial-v01.style-2.type-3 .prd_price,
    .testimonial-v01.style-2.type-3 .star-wrap .icon,
    .testimonial-v01.style-2.type-3 .tes_text {
        transition: all .3s ease
    }

    .testimonial-v01.style-2.type-2:hover,
    .testimonial-v01.style-2.type-3:hover {
        background: var(--secondary)
    }

    .testimonial-v01.style-2.type-2:hover .author-name,
    .testimonial-v01.style-2.type-2:hover .author-verified .text,
    .testimonial-v01.style-2.type-2:hover .prd_name,
    .testimonial-v01.style-2.type-2:hover .prd_price,
    .testimonial-v01.style-2.type-2:hover .star-wrap .icon,
    .testimonial-v01.style-2.type-2:hover .tes_text,
    .testimonial-v01.style-2.type-3:hover .author-name,
    .testimonial-v01.style-2.type-3:hover .author-verified .text,
    .testimonial-v01.style-2.type-3:hover .prd_name,
    .testimonial-v01.style-2.type-3:hover .prd_price,
    .testimonial-v01.style-2.type-3:hover .star-wrap .icon,
    .testimonial-v01.style-2.type-3:hover .tes_text {
        color: var(--white) !important
    }

    .testimonial-v01.style-2.type-3:hover {
        background: var(--third)
    }

    .testimonial-v01.style-2.type-3:hover .author-name,
    .testimonial-v01.style-2.type-3:hover .author-verified .text,
    .testimonial-v01.style-2.type-3:hover .prd_name,
    .testimonial-v01.style-2.type-3:hover .star-wrap .icon,
    .testimonial-v01.style-2.type-3:hover .tes_text {
        color: var(--text) !important
    }

    .testimonial-v01.style-2.type-3:hover .prd_price {
        color: var(--primary) !important
    }

    .testimonial-v01.style-3 .tes-content {
        padding: 32px
    }

    .testimonial-v01.style-4.type-2 .tes-content {
        padding: 39px 25px 38px
    }

    .testimonial-v01.style-5 .tes_author {
        margin-bottom: 28px
    }

    .testimonial-v01.style-5 .tes_text {
        margin-bottom: 40px
    }
}

@media (max-width:991px) {
    .testimonial-v01 {
        gap: 20px
    }

    .testimonial-v01 .tes_author {
        margin-bottom: 16px
    }

    .testimonial-v01.style-def .tes_product {
        padding-top: 16px
    }
}

@media (max-width:575px) {
    .testimonial-v01 {
        flex-wrap: wrap
    }

    .testimonial-v01 .tes-image {
        width: 100%
    }

    .testimonial-v01 .tes-image img {
        max-height: 300px
    }

    .testimonial-v01.style-4 .tes-image {
        max-width: 100%
    }

    .testimonial-v01.style-4 .tes-image img {
        max-height: 350px;
        -o-object-position: center;
        object-position: center
    }

    .testimonial-v01.style-8 .tes-image {
        max-width: 100%
    }

    .testimonial-v01.style-8 .tes-content {
        padding: 20px 0
    }
}

@media (min-width:768px) and (max-width:1199px) {

    .testimonial-v01.style-3,
    .testimonial-v01.style-8 {
        flex-direction: column
    }

    .testimonial-v01.style-3>*,
    .testimonial-v01.style-8>* {
        width: 100%
    }

    .testimonial-v01.style-3 .tes-image img,
    .testimonial-v01.style-8 .tes-image img {
        max-height: 350px
    }

    .testimonial-v01.style-8 .tes-image {
        max-width: 100%
    }

    .testimonial-v01.style-8 .tes-content {
        padding: 20px 0
    }

    .testimonial-v01.style-1 {
        flex-direction: column
    }

    .testimonial-v01.style-1 .tes-image {
        max-width: unset
    }

    .testimonial-v01.style-1 .tes-image img {
        max-height: 350px
    }

    .testimonial-v01.style-4 {
        flex-direction: column
    }

    .testimonial-v01.style-4 .tes-image {
        max-width: 100% !important
    }

    .testimonial-v01.style-4 .tes-image img {
        max-height: 350px;
        -o-object-position: center;
        object-position: center
    }
}

.testimonial-v02 {
    padding: 27px 31px;
    border-radius: 16px;
    border: 1px solid var(--white-10);
    display: grid;
    gap: 24px
}

@media (max-width:991px) {
    .testimonial-v02 {
        padding: 20px
    }
}

.testimonial-v03 {
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden
}

.testimonial-v03 .img-style4 {
    position: relative
}

.testimonial-v03 .content {
    text-align: center;
    padding: 26px 24px 22px
}

@media (max-width:575px) {
    .testimonial-v03 .content {
        padding: 24px 15px
    }
}

.testimonial-v03 .star-wrap {
    justify-content: center
}

.testimonial-v03 .tes-action_list {
    position: absolute;
    right: 16px;
    bottom: 16px
}

.testimonial-v03 .tes_author {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center
}

.testimonial-v03 .tes_author i {
    font-size: 13px
}

.testimonial-v03 .box-icon {
    height: 40px;
    width: 40px;
    border-radius: 50%;
    background-color: var(--white);
    font-style: 20px;
    transition: all .3s ease
}

.testimonial-v03 .box-icon:hover {
    background-color: var(--black);
    color: var(--white)
}

.testimonial-v04 {
    padding: 20px;
    border-radius: 16px;
    background: var(--white)
}

.testimonial-v04 .tes_product {
    display: flex;
    align-items: center;
    gap: 20px
}

.testimonial-v04 .product-infor {
    display: grid;
    place-items: start;
    gap: 8px
}

.testimonial-v04 .product-image {
    border-radius: 8px;
    overflow: hidden
}

.testimonial-v04.style-2 .product-image {
    border-radius: 4px
}

.testimonial-v04.style-2 .product-infor {
    gap: 0
}

@media (min-width:1200px) {
    .testimonial-v04 {
        padding: 28px
    }

    .testimonial-v04.style-2 {
        padding: 24px
    }
}

.testimonial-v05 {
    border-radius: 16px
}

.testimonial-v05 .tes-image {
    height: 100%
}

.testimonial-v05 .tes-content {
    background: var(--white);
    width: 50%
}

@media (min-width:1440px) {
    .testimonial-v05 .tes-image {
        width: 100%;
        max-width: 345px;
        flex-shrink: 0
    }

    .testimonial-v05 .tes-content {
        width: 100%
    }
}

@media (min-width:768px) and (max-width:1199px) {
    .testimonial-v05 {
        flex-direction: column
    }

    .testimonial-v05 .tes-content,
    .testimonial-v05 .tes-image {
        width: 100%
    }

    .testimonial-v05 .tes-image img {
        max-height: 300px
    }
}

@media (max-width:575px) {
    .testimonial-v05 {
        flex-direction: column
    }

    .testimonial-v05 .tes-content,
    .testimonial-v05 .tes-image {
        width: 100%
    }

    .testimonial-v05 .tes-image img {
        max-height: 300px
    }

    .testimonial-v05 .tes-content {
        padding: 30px 20px
    }
}

.section-testimonials {
    padding: 108px 0
}

@media (max-width:991px) {
    .section-testimonials {
        padding: 60px 0;
        padding: 40px 0
    }
}

.section-testimonials .banner {
    position: absolute;
    inset: 0;
    background-color: #150a12;
    border-radius: 20px;
    overflow: hidden
}

.section-testimonials .banner img {
    opacity: 40%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-testimonials .wrap-tes {
    position: relative;
    z-index: 4;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 15px
}

@media (min-width:992px) {
    .section-testimonials .tf-sw-pagination {
        margin-top: 31px !important
    }
}

.nice-select {
    -webkit-tap-highlight-color: transparent;
    background-color: #fff;
    border: 0;
    padding: 0 16px 0 0;
    box-sizing: border-box;
    clear: both;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    line-height: 22px;
    font-weight: 500;
    outline: none;
    position: relative;
    transition: all .2s linear;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    white-space: nowrap;
    width: -moz-max-content;
    width: max-content;
    border-radius: 0;
    color: var(--main)
}

.nice-select.open,
.nice-select:active,
.nice-select:focus {
    border-color: var(--line)
}

.nice-select:after {
    border-bottom: 1.7px solid var(--main);
    border-right: 1.7px solid var(--main);
    content: "";
    height: 8px;
    width: 8px;
    margin-top: -6px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 50%;
    transform-origin: 66% 66%;
    transform: rotate(45deg);
    transition: all .15s ease-in-out
}

.nice-select.open:after {
    transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg)
}

.nice-select.open .list {
    opacity: 1;
    z-index: 10;
    pointer-events: auto;
    transform: scale(1) translateY(0);
    width: 100%;
    -moz-transform: scale(1) translateY(0);
    -o-transform: scale(1) translateY(0)
}

.nice-select.disabled {
    border-color: #ededed;
    color: #999;
    pointer-events: none
}

.nice-select.disabled:after {
    border-color: #ccc
}

.nice-select.wide {
    width: 100%
}

.nice-select.wide .list {
    left: 0 !important;
    right: 0 !important
}

.nice-select.right {
    float: right
}

.nice-select.right .list {
    left: auto;
    right: 0
}

.nice-select.small {
    font-size: 12px;
    height: 36px;
    line-height: 34px
}

.nice-select.small:after {
    height: 4px;
    width: 4px
}

.nice-select.small .option {
    line-height: 34px;
    min-height: 34px
}

.nice-select .list {
    background-color: var(--white);
    border-radius: 5px;
    box-shadow: 0 0 0 1px rgba(68, 68, 68, .11);
    box-sizing: border-box;
    margin-top: 4px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 0;
    transform-origin: 50% 0;
    transform: scale(.75) translateY(-21px);
    transition: all .2s cubic-bezier(.5, 0, 0, 1.25), opacity .15s ease-out;
    z-index: 9;
    width: 100%;
    font-size: 14px;
    max-height: 155px;
    overflow: auto
}

.nice-select .list.style {
    max-height: unset
}

.nice-select .list::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: #f5f5f5
}

.nice-select .list::-webkit-scrollbar-thumb,
.nice-select .list::-webkit-scrollbar-track {
    border-radius: 5px;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0)
}

.nice-select .list::-webkit-scrollbar-thumb {
    background-color: #a7a7a7
}

.nice-select .list::-webkit-scrollbar {
    width: 6px;
    height: 4px;
    background-color: #f5f5f5;
    border-radius: 5px;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0)
}

.nice-select .option {
    cursor: pointer;
    font-weight: 500;
    line-height: 40px;
    list-style: none;
    min-height: 40px;
    outline: none;
    padding-left: 18px;
    padding-right: 29px;
    font-size: 16px;
    text-align: left;
    transition: all .2s;
    color: var(--main)
}

.nice-select .option.focus,
.nice-select .option.selected.focus,
.nice-select .option:hover {
    background-color: var(--white);
    color: var(--primary)
}

.nice-select .option.selected {
    font-weight: 600
}

.nice-select .option.disabled {
    color: var(--main);
    cursor: default
}

.no-csspointerevents .nice-select .list {
    display: none
}

.no-csspointerevents .nice-select.open .list {
    display: block
}

.tf-dropdown-select.style-default {
    width: unset !important;
    display: flex
}

.tf-dropdown-select.style-default>select {
    display: none !important
}

.tf-dropdown-select.style-default>.dropdown-toggle {
    padding: 0 20px 0 0;
    background-color: transparent !important;
    border: 0;
    outline: none !important;
    color: var(--black)
}

.tf-dropdown-select.style-default>.dropdown-toggle:after {
    border: 0;
    position: absolute;
    right: 0;
    content: "\e908";
    font-family: icomoon;
    font-size: 16px;
    line-height: 1;
    color: var(--black);
    margin-left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.tf-dropdown-select.style-default .filter-option-inner-inner {
    display: flex;
    align-items: center;
    justify-content: start;
    font-weight: 400;
    line-height: 26px;
    gap: 8px
}

.tf-dropdown-select.style-default .filter-option-inner-inner img {
    width: 20px;
    height: 15px
}

.tf-dropdown-select.style-default>.dropdown-menu {
    overflow: unset !important;
    margin-top: 17px !important;
    margin-bottom: 17px !important;
    padding: 15px 20px;
    border-radius: 4px;
    border: 0;
    background-color: var(--white);
    box-shadow: 0 0 18px 0 rgba(0, 0, 0, .2)
}

.tf-dropdown-select.style-default>.dropdown-menu a {
    padding: 5px 0
}

.tf-dropdown-select.style-default>.dropdown-menu a .text {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 8px;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px
}

.tf-dropdown-select.style-default>.dropdown-menu a .text img {
    width: 20px;
    height: 15px
}

.tf-dropdown-select.style-default>.dropdown-menu a.active,
.tf-dropdown-select.style-default>.dropdown-menu a:active,
.tf-dropdown-select.style-default>.dropdown-menu a:hover {
    color: var(--primary) !important;
    background-color: unset !important
}

.tf-dropdown-select.style-default>.dropdown-menu:after {
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    transform: translate(-50%, -50%) rotate(45deg);
    background-color: var(--white);
    top: 0;
    left: 50%;
    z-index: 2
}

.tf-dropdown-select.style-default>.dropdown-menu[data-popper-placement=top-start]:after {
    display: none
}

.tf-dropdown-select.style-default>.dropdown-menu[data-popper-placement=top-start]:before {
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    transform: translate(-50%, 50%) rotate(45deg);
    background-color: var(--white);
    bottom: 0;
    left: 50%;
    z-index: 2
}

.tf-dropdown-select.style-default .dropdown-menu>.inner {
    overflow: visible !important;
    max-height: none !important
}

.tf-dropdown-select.type-currencies>.dropdown-menu,
.tf-dropdown-select.type-languages>.dropdown-menu {
    width: -moz-max-content !important;
    width: max-content !important;
    min-width: 120px !important
}

.tf-dropdown-select.color-white>.dropdown-toggle,
.tf-dropdown-select.color-white>.dropdown-toggle:after {
    color: var(--white)
}

.tf-dropdown-select.color-text-2>.dropdown-toggle,
.tf-dropdown-select.color-text-2>.dropdown-toggle:after {
    color: var(--text-2)
}

.tf-dropdown-select.color-text-3>.dropdown-toggle,
.tf-dropdown-select.color-text-3>.dropdown-toggle:after {
    color: var(--text-3)
}

.tf-dropdown-wrap {
    display: flex;
    gap: 20px
}

.tf-dropdown-sort {
    min-width: 120px;
    cursor: pointer;
    border-radius: 4px
}

.tf-dropdown-sort,
.tf-dropdown-sort .icon {
    transition: all .3s ease
}

.tf-dropdown-sort .btn-select {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: capitalize;
    gap: 12px
}

.tf-dropdown-sort.show .btn-select .icon {
    transform: rotate(180deg)
}

.tf-dropdown-sort .text-sort-value {
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.tf-dropdown-sort .dropdown-menu {
    min-width: 200px;
    border: 1px solid var(--line);
    padding: 10px 5px;
    border-radius: 0;
    max-height: 68vh;
    isolation: isolate;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    z-index: 99
}

.tf-dropdown-sort .dropdown-menu::-webkit-scrollbar {
    width: 3px
}

.tf-dropdown-sort .dropdown-menu::-webkit-scrollbar-thumb {
    border-radius: 4px
}

.tf-dropdown-sort .select-item {
    position: relative;
    text-transform: capitalize;
    color: var(--black);
    padding: 0 15px;
    line-height: 30px;
    width: 100%;
    transition: all .3s ease
}

.tf-dropdown-sort .select-item.active,
.tf-dropdown-sort .select-item:hover {
    background-color: #ebebeb
}

.tf-select-category {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--black)
}

.dropdown-filter .dropdown-toggle {
    min-width: 80px;
    border-radius: 8px;
    padding: 6px 14px;
    border: 1px solid var(--line);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all .3s ease
}

.dropdown-filter .dropdown-toggle:after {
    display: none
}

.dropdown-filter .dropdown-toggle.show .icon {
    transform: rotate(180deg)
}

.dropdown-filter .dropdown-toggle:hover {
    border-color: var(--text)
}

.dropdown-filter .icon {
    display: inline-block;
    transition: all .3s ease
}

.dropdown-filter .text-value {
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: capitalize;
    font-weight: 500
}

.dropdown-filter .dropdown-menu {
    margin-top: -2px !important;
    min-width: 238px;
    box-shadow: var(--shadow-1);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 15px 10px;
    max-height: 68vh;
    isolation: isolate;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    z-index: 99;
    box-shadow: 0 0 25px 3px rgba(0, 0, 0, .1)
}

.dropdown-filter .dropdown-menu::-webkit-scrollbar {
    width: 5px
}

.dropdown-filter .dropdown-menu::-webkit-scrollbar-track {
    background-color: var(--line)
}

.dropdown-filter .dropdown-menu::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 4px
}

.dropdown-filter .dropdown-menu.drop-menu-brand {
    max-height: 180px
}

.dropdown-filter .filter-color-box,
.dropdown-filter .filter-size-box {
    gap: 8px
}

@media (min-width:1200px) {
    .dropdown-filter .dropdown-menu {
        min-width: 240px;
        padding: 25px 15px
    }
}

.select-category .dropdown_product_cate {
    display: none
}

.select-category .close-option {
    cursor: pointer;
    transition: all .3s ease
}

.select-category .close-option:hover {
    color: var(--primary)
}

.select-category .select-options {
    overflow-y: auto;
    display: none;
    position: absolute;
    top: -3px;
    right: -3px;
    left: -3px;
    z-index: 999;
    margin: 0;
    padding: 20px;
    list-style: none;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .05);
    min-width: 200px
}

.select-category .select-options li {
    display: inline-block;
    width: 32.88%;
    margin: 0;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    padding: 8px 10px;
    position: relative;
    cursor: pointer;
    transition: all .3s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.select-category .select-options li a {
    color: var(--text-2)
}

.select-category .select-options li a:hover {
    color: var(--primary)
}

.select-category .header-select-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ededed;
    margin-bottom: 8px;
    color: var(--black)
}

.tf-select-custom {
    display: block;
    cursor: pointer;
    max-width: 130px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 28px;
    position: relative;
    padding-top: 4px;
    padding-bottom: 4px
}

.tf-select-custom:after {
    content: "\e908";
    position: absolute;
    font-family: icomoon;
    line-height: 1;
    font-weight: 400;
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

@media (max-width:1439px) {
    .tf-select-custom {
        min-width: 120px;
        padding-right: 20px
    }

    .tf-select-custom:after {
        right: 0
    }
}

.tf-variant-dropdown {
    position: relative;
    border-radius: 8px;
    padding: 8px 12px;
    min-width: 100px;
    border: 1px solid var(--line);
    cursor: pointer;
    transition: all .3s ease
}

.tf-variant-dropdown .btn-select {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px
}

.tf-variant-dropdown .text-sort-value {
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
    text-transform: capitalize
}

.tf-variant-dropdown .dropdown-menu {
    margin: 0 !important;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .102);
    min-width: 180px;
    border: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 6px;
    max-height: 68vh;
    isolation: isolate;
    overscroll-behavior-y: contain;
    overflow-y: auto
}

.tf-variant-dropdown .dropdown-menu::-webkit-scrollbar {
    width: 5px
}

.tf-variant-dropdown .dropdown-menu::-webkit-scrollbar-track {
    background-color: var(--bg-scrollbar-track)
}

.tf-variant-dropdown .dropdown-menu::-webkit-scrollbar-thumb {
    background: var(--bg-scrollbar-thumb);
    border-radius: 4px
}

.tf-variant-dropdown .select-item {
    position: relative;
    font-size: 14px;
    font-weight: 500;
    text-transform: capitalize;
    padding: 0 20px;
    line-height: 30px;
    width: 100%;
    transition: all .3s ease
}

.tf-variant-dropdown .select-item:after {
    height: 100%;
    content: "";
    width: 6px;
    position: absolute;
    z-index: 2;
    left: 3px;
    top: 0;
    background-color: var(--white)
}

.tf-variant-dropdown .select-item:before {
    left: 0;
    width: 3px;
    height: 100%;
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    background-color: var(--line);
    border-radius: 0 3px 3px 0
}

.tf-variant-dropdown .select-item.active {
    background-color: var(--line);
    color: var(--text)
}

.tf-variant-dropdown .select-item.active:before {
    background-color: var(--text)
}

.tf-variant-dropdown .select-item:hover {
    background-color: var(--line);
    color: var(--text)
}

.tf-variant-dropdown:hover {
    border-color: var(--text)
}

.tf-variant-dropdown.full .dropdown-menu {
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important
}

.tf-variant-dropdown.full .select-item {
    line-height: 36px
}

.tf-variant-dropdown.has-color .select-item {
    display: flex;
    gap: 6px;
    align-items: center
}

.tf-variant-dropdown.has-color .box-color {
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 50%
}

.noUi-target,
.noUi-target * {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    touch-action: none;
    -moz-user-select: none;
    user-select: none;
    box-sizing: border-box
}

.noUi-target {
    position: relative;
    direction: ltr
}

.noUi-base,
.noUi-connects {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1
}

.noUi-connects {
    overflow: hidden;
    z-index: 0
}

.noUi-connect,
.noUi-origin {
    will-change: transform;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    transform-origin: 0 0
}

html:not([dir=rtl]) .noUi-horizontal .noUi-origin {
    left: auto;
    right: 0
}

.noUi-vertical .noUi-origin {
    width: 0
}

.noUi-horizontal .noUi-origin {
    height: 0
}

.noUi-handle {
    position: absolute
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
    transition: transform .3s
}

.noUi-state-drag * {
    cursor: inherit !important
}

.noUi-horizontal {
    height: 18px
}

.noUi-horizontal .noUi-handle {
    width: 34px;
    height: 28px;
    left: -17px;
    top: -6px
}

.noUi-vertical {
    width: 18px
}

.noUi-vertical .noUi-handle {
    width: 28px;
    height: 34px;
    left: -6px;
    top: -17px
}

html:not([dir=rtl]) .noUi-horizontal .noUi-handle {
    right: -17px;
    left: auto
}

.noUi-draggable {
    cursor: ew-resize
}

.noUi-vertical .noUi-draggable {
    cursor: ns-resize
}

.noUi-handle:after {
    left: 17px
}

.noUi-vertical .noUi-handle:after,
.noUi-vertical .noUi-handle:before {
    width: 14px;
    height: 1px;
    left: 6px;
    top: 14px
}

.noUi-vertical .noUi-handle:after {
    top: 17px
}

[disabled] .noUi-connect {
    background: #b8b8b8
}

[disabled] .noUi-handle,
[disabled].noUi-handle,
[disabled].noUi-target {
    cursor: not-allowed
}

.noUi-pips,
.noUi-pips * {
    box-sizing: border-box
}

.noUi-pips {
    position: absolute;
    color: #999
}

.noUi-value {
    position: absolute;
    white-space: nowrap;
    text-align: center
}

.noUi-value-sub {
    color: #ccc;
    font-size: 10px
}

.noUi-marker {
    position: absolute;
    background: #ccc
}

.noUi-marker-large,
.noUi-marker-sub {
    background: #aaa
}

.noUi-pips-horizontal {
    padding: 10px 0;
    height: 80px;
    top: 100%;
    left: 0;
    width: 100%
}

.noUi-value-horizontal {
    transform: translate(-50%, 50%)
}

.noUi-rtl .noUi-value-horizontal {
    transform: translate(50%, 50%)
}

.noUi-marker-horizontal.noUi-marker {
    margin-left: -1px;
    width: 2px;
    height: 5px
}

.noUi-marker-horizontal.noUi-marker-sub {
    height: 10px
}

.noUi-marker-horizontal.noUi-marker-large {
    height: 15px
}

.noUi-pips-vertical {
    padding: 0 10px;
    height: 100%;
    top: 0;
    left: 100%
}

.noUi-value-vertical {
    transform: translate(0, -50%, 0);
    padding-left: 25px
}

.noUi-rtl .noUi-value-vertical {
    transform: translateY(50%)
}

.noUi-marker-vertical.noUi-marker {
    width: 5px;
    height: 2px;
    margin-top: -1px
}

.noUi-marker-vertical.noUi-marker-sub {
    width: 10px
}

.noUi-marker-vertical.noUi-marker-large {
    width: 15px
}

.noUi-tooltip {
    display: block;
    position: absolute;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    background: #fff;
    color: #000;
    padding: 5px;
    text-align: center;
    white-space: nowrap
}

.noUi-horizontal .noUi-tooltip {
    transform: translate(-50%);
    left: 50%;
    bottom: 120%
}

.noUi-vertical .noUi-tooltip {
    transform: translateY(-50%);
    top: 50%;
    right: 120%
}

.noUi-horizontal {
    height: 4px
}

.noUi-target {
    border: 0
}

.noUi-base .noUi-connects {
    background-color: var(--line)
}

.noUi-connect {
    background-color: var(--text)
}

.noUi-horizontal .noUi-handle,
.noUi-vertical .noUi-handle {
    height: 16px;
    width: 16px;
    border-radius: 50%;
    border: 3px solid var(--text);
    background-color: var(--white);
    box-shadow: unset;
    cursor: pointer
}

.noUi-horizontal .noUi-handle:after,
.noUi-horizontal .noUi-handle:before,
.noUi-vertical .noUi-handle:after,
.noUi-vertical .noUi-handle:before {
    content: none
}

html:not([dir=rtl]) .noUi-horizontal .noUi-handle {
    right: -8px
}

.tf-btn-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: 4px;
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 4px 10px
}

.tf-btn-filter .icon {
    font-size: 20px
}

.tf-btn-filter:hover {
    background: var(--line)
}

#filterDropdown {
    min-width: 93px
}

.tf-shop-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px 8px;
    margin-top: -8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
    padding-top: 8px;
    padding-bottom: 8px;
    background: var(--white)
}

.tf-shop-control .tf-control-sorting {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px
}

.tf-control-layout {
    display: flex;
    align-items: center;
    gap: 8px
}

.tf-control-layout .tf-view-layout-switch {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
    cursor: pointer;
    background: var(--bg);
    position: relative;
    border-radius: 4px
}

.tf-control-layout .tf-view-layout-switch.active,
.tf-control-layout .tf-view-layout-switch:hover {
    background: var(--text);
    color: var(--white)
}

@media (max-width:575px) {
    .tf-view-layout-switch {
        font-size: 14px
    }
}

.wrapper-shop {
    transition: all .3s ease-in-out;
    animation: fadeShop .5s ease-in-out
}

@media (max-width:575px) {
    .wrapper-shop {
        -moz-column-gap: 12px;
        column-gap: 12px;
        row-gap: 32px
    }
}

.wrapper-control-shop {
    position: relative
}

.wrapper-control-shop.loading-shop * {
    display: none !important
}

.wrapper-control-shop.loading-shop:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    border: 2px solid transparent;
    border-top: 2px solid var(--black);
    border-right: 2px solid var(--black);
    border-radius: 50%;
    animation: spin .5s linear infinite;
    transform: translate(-50%, -50%);
    z-index: 10000
}

@media (min-width:1200px) {
    .wrapper-control-shop .tf-grid-layout .wg-pagination {
        margin-top: 16px;
        gap: 40px 20px
    }
}

@keyframes fadeShop {
    0% {
        opacity: 0;
        transform: translateY(30px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.listLayout-wrapper #product-count-grid {
    display: none
}

.gridLayout-wrapper #product-count-grid,
.listLayout-wrapper #product-count-list {
    display: block
}

.gridLayout-wrapper #product-count-list {
    display: none
}

.widget-facet {
    overflow: hidden
}

.widget-facet .facet-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    transition: all .3s ease
}

.widget-facet .facet-title .icon {
    transform: rotate(0deg);
    transition: all .3s ease
}

.widget-facet .facet-title.collapsed {
    margin-bottom: 0
}

.widget-facet .facet-title.collapsed .icon {
    transform: rotate(180deg)
}

.filter-group-size {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 12px
}

.filter-group-size .label-size {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    cursor: pointer;
    transition: all .3s ease
}

.filter-group-size .label-size:hover {
    border-color: var(--text)
}

.filter-group-size .label-size.over-size {
    width: auto;
    padding-left: 15px;
    padding-right: 15px;
    border-radius: 1000px
}

.filter-group-size .ip-size:checked+label {
    border-color: var(--text);
    background: var(--text);
    color: var(--white)
}

.filter-group-check.group-category {
    max-height: 254px;
    overflow: auto
}

.filter-group-check .rate-list li:last-child {
    margin-left: 8px
}

.filter-group-check .list-item {
    display: flex;
    gap: 10px;
    align-items: center
}

.filter-group-check .list-item:not(:last-child) {
    margin-bottom: 12px
}

.filter-group-check .list-item.disabled {
    opacity: .2;
    pointer-events: none
}

.filter-group-check .label {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all .3s ease
}

.filter-group-check .tf-check {
    min-width: unset;
    aspect-ratio: 1
}

.group-check-color .field-color {
    position: relative;
    display: flex
}

.group-check-color .field-color .color {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    transition: all .3s ease;
    cursor: pointer
}

.group-check-color .tf-check {
    border-radius: 50%;
    width: 24px;
    height: 24px;
    background: transparent
}

.group-check-color .tf-check:before {
    display: none
}

.group-check-color .tf-check:checked+.color {
    width: 18px;
    height: 18px
}

.filter-size-box {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.filter-size-box .size-item {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    background-color: var(--white);
    cursor: pointer;
    transition: all .3s ease;
    position: relative;
    border-radius: 50%;
    color: var(--text)
}

.filter-size-box .size-item.active,
.filter-size-box .size-item:hover {
    background-color: var(--black);
    color: var(--white)
}

.filter-size-box .size-item.disabled {
    color: var(--black-4);
    pointer-events: none
}

.filter-size-box .size-item.disabled:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 53.568px;
    height: 1px;
    background-color: var(--black-4);
    transform: rotate(45deg);
    transform-origin: top left
}

.filter-size-box .size-item.over-size {
    width: 120px;
    border-radius: 999px
}

@media (min-width:1200px) {
    .filter-size-box .size-item {
        width: 56px;
        height: 56px
    }
}

.filter-color-box {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.filter-color-box .color-item {
    width: 32px;
    height: 32px;
    display: block;
    border-radius: 50%;
    border: 1px solid var(--line);
    overflow: hidden;
    background-color: var(--white);
    cursor: pointer;
    padding: 4px;
    transition: all .3s ease
}

.filter-color-box .color-item .color {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 50%
}

.filter-color-box .color-item.active {
    border-color: var(--dark) !important
}

.filter-color-box .color-text {
    display: none
}

@media (min-width:1200px) {
    .filter-color-box .color-item {
        width: 40px;
        height: 40px
    }
}

.meta-filter-shop {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px
}

.meta-filter-shop #applied-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px
}

.meta-filter-shop .filter-tag,
.meta-filter-shop .remove-all-filters {
    display: flex;
    align-items: center;
    text-transform: capitalize;
    gap: 8px;
    padding: 4px 12px;
    border-radius: 4px;
    background: var(--line);
    transition: all .3s ease;
    cursor: pointer;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px
}

.meta-filter-shop .filter-tag .icon,
.meta-filter-shop .remove-all-filters .icon {
    font-size: 12px
}

.meta-filter-shop .filter-tag:hover,
.meta-filter-shop .remove-all-filters:hover {
    color: var(--white);
    background: var(--text)
}

.meta-filter-shop.type-drop {
    margin-bottom: 20px
}

@media (max-width:991px) {
    .meta-filter-shop {
        margin-bottom: 30px
    }
}

.overlay-filter {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2000;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .4);
    visibility: hidden;
    opacity: 0;
    transition: all .3s ease;
    cursor: url(../images/cursor-close.svg), auto
}

.overlay-filter.show {
    opacity: 1;
    visibility: visible
}

@media (min-width:1200px) {
    .overlay-filter.type-drawer {
        display: none
    }
}

.widget-price {
    display: grid;
    gap: 16px
}

.widget-price .price-val-range {
    padding: 0 8px;
    margin: 6px 0
}

.widget-price .price-box {
    gap: 20px
}

.widget-price .price-val {
    font-weight: 600;
    color: var(--text);
    position: relative
}

.widget-price .price-val:before {
    content: attr(data-currency)
}

.widget-price .price-val_wrap {
    padding: 7px 15px;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.widget-price .box-wrap {
    display: grid;
    gap: 4px
}

.tf-list-layout {
    display: grid;
    gap: 24px
}

@media (min-width:1200px) {
    .tf-list-layout {
        gap: 40px
    }
}

.shop-sale-text {
    display: flex;
    align-items: center;
    gap: 12px
}

.shop-sale-text label {
    cursor: pointer
}

.meta-dropdown-filter,
.tf-filter-dropdown {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.tf-shop-change {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px
}

@media (min-width:1200px) {
    .tf-shop-change {
        gap: 32px
    }
}

@media (max-width:991px) {
    .tf-shop-change {
        width: 100%;
        justify-content: space-between
    }
}

@media (max-width:1199px) {
    .tf-group-filter {
        margin-bottom: 32px
    }
}

@media (min-width:1200px) {
    .filter-drawer-wrap.canvas-filter {
        max-width: 100% !important;
        width: 100% !important
    }

    .filter-drawer-wrap {
        position: absolute;
        z-index: 90;
        padding: 28px;
        top: 100%;
        left: 0;
        right: 0;
        opacity: 0;
        visibility: hidden;
        box-shadow: 0 0 25px 3px rgba(0, 0, 0, .1);
        border-radius: 16px
    }

    .filter-drawer-wrap .tf-group-filter {
        display: flex;
        flex-direction: column;
        gap: 28px
    }

    .filter-drawer-wrap .collapse-body {
        padding-bottom: 0 !important
    }

    .filter-drawer-wrap .widget-facet {
        margin-bottom: 0 !important;
        padding-bottom: 0;
        border: 0
    }

    .filter-drawer-wrap .facet-title {
        padding: 0;
        margin-bottom: 24px
    }

    .filter-drawer-wrap .filter-color-box {
        padding-right: 0
    }

    .filter-drawer-wrap .canvas-body {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        overflow-y: unset;
        gap: 20px
    }

    .filter-drawer-wrap .canvas-body>.br-line {
        display: none
    }

    .filter-drawer-wrap.show {
        margin-top: 10px;
        opacity: 1;
        visibility: visible
    }
}

.sb-banner {
    position: relative
}

.sb-banner .image {
    border-radius: 12px;
    overflow: hidden
}

.sb-banner .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.sb-banner .content {
    position: absolute;
    top: 26px;
    left: 20px;
    right: 20px;
    text-align: center
}

.sb-banner .title {
    margin-bottom: 8px
}

.sb-banner .sub-title {
    margin-bottom: 16px
}

.sb-banner .btn-action {
    height: 38px;
    padding-left: 16px;
    padding-right: 16px
}

.bg-rose-taupe {
    background: #9c7b7a
}

.bg-warm-beige {
    background: #c4a18e
}

.bg-peach-blush {
    background: #f4c5bf
}

.bg-crimson-red {
    background: #d14244
}

.bg-cream {
    background: #f6efdd
}

.bg-flame-orange {
    background: #f1592a
}

.bg-sage-gray {
    background: #b7b8a3
}

.bg-rosewood {
    background: #73465a
}

.bg-midnight-blue {
    background: #1d2025
}

.bg-warm-brown {
    background: #846f54
}

.bg-warm-brown-2 {
    background: #b1886c
}

.bg-beige {
    background: #dcd1bf
}

.bg-olive-brown {
    background: #6b604d
}

.bg-dark-gray {
    background: #4e4e4e
}

.bg-dark-blue {
    background: #1d232f
}

.bg-dark-blue-2 {
    background: #242328
}

.bg-cool-gray {
    background: #7c808c
}

.bg-caramel {
    background: #c3945c
}

.bg-sand-beige {
    background: #d6baac
}

.bg-blush-pink {
    background: #eedbd4
}

.bg-lavender {
    background: #e0cfe1
}

.bg-purple {
    background: #9391e1
}

.bg-sky-blue {
    background: #c2d6e0
}

.bg-mauve {
    background: #d7b2b8
}

.bg-muted-brown {
    background: #927a56
}

.bg-dark-blue-gray {
    background: #242a36
}

.bg-soft-gray {
    background: #e2e2e2
}

.bg-stone-beige {
    background: #d4c7b6
}

.bg-steel-gray {
    background: #7b7f8b
}

.bg-sand-brown {
    background: #c4955d
}

.bg-dusty-rose {
    background: #d7bdb0
}

.bg-soft-lavender {
    background: #dfcee0
}

.bg-powder-pink {
    background: #eeddd5
}

.bg-salmon-orange {
    background: #e57051
}

.bg-charcoal-green {
    background: #222922
}

.bg-dark-plum {
    background: #38272d
}

.bg-muted-blue {
    background: #3c5365
}

.bg-electric-blue {
    background: #43aeff
}

.bg-sage-green {
    background: #7a9285
}

.bg-muted-pink {
    background: #e59fb7
}

.bg-soft-violet {
    background: #7069b9
}

.soft-stone-gradient {
    background: linear-gradient(270deg, #eeeee4, #c5ced5)
}

.mist-gradient {
    background: linear-gradient(90deg, #ba745a, #aac68a)
}

.lagoon-gradient {
    background: linear-gradient(90deg, #d9f0a9, #0a83a1)
}

.stagger-wrap .stagger-item {
    transition: .3s ease-in-out;
    transform: scale(.5) rotate(90deg) skew(15deg);
    opacity: 0
}

.stagger-wrap .stagger-item.stagger-finished {
    transform: scale(1) rotate(0deg) skew(0deg);
    opacity: 1
}

.card-product {
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: all .3s ease
}

.card-product:hover .product-action_bot,
.card-product:hover .product-btn_quick,
.card-product:hover .variant-box {
    transform: translateY(0);
    opacity: 1;
    visibility: visible
}

.card-product:hover .product-countdown {
    bottom: -40px
}

.card-product:hover .product-marquee_sale {
    transform: translateY(50px)
}

.card-product.style-2 .product-action_list {
    top: unset;
    left: 8px;
    right: 8px;
    justify-content: center;
    flex-direction: row;
    bottom: 58px
}

.card-product.style-2 .product-action_list li {
    transform: translateY(0);
    transition-delay: unset !important
}

@media (min-width:576px) {
    .card-product.style-2 .product-action_list {
        bottom: 12px
    }

    .card-product.style-2.has-size .product-action_list {
        bottom: 66px
    }
}

.card-product.style-5 {
    padding: 20px;
    background-color: #f7f7f7;
    border-radius: 12px
}

.card-product.style-5 .tf-btn {
    box-shadow: 0 10px 15px 0 rgba(43, 52, 74, .122)
}

@media (min-width:576px) {
    .card-product.has-size .product-action_bot {
        bottom: 64px
    }
}

@media (min-width:1200px) {
    .card-product:hover .product-action_list li {
        opacity: 1;
        visibility: visible
    }

    .card-product:hover .product-action_list li:first-child {
        transform: translateX(0)
    }

    .card-product:hover .product-action_list li:nth-child(2) {
        transform: translateX(0);
        transition-delay: .1s
    }

    .card-product:hover .product-action_list li:nth-child(3) {
        transform: translateX(0);
        transition-delay: .2s
    }

    .card-product:hover .product-action_list li:nth-child(4) {
        transform: translateX(0);
        transition-delay: .3s
    }

    .card-product.style-2 .product-action_list li {
        transform: translateY(20px)
    }

    .card-product.style-2:hover .product-action_list li {
        transform: translateY(0)
    }

    .card-product.style-4 .product-action_list li {
        transform: translateY(20px)
    }

    .card-product.style-4 .product-action_list {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        justify-content: center;
        flex-direction: row
    }

    .card-product.style-4 .product-action_list li {
        transform: translateY(0);
        transition-delay: unset !important
    }

    .card-product.style-4:hover .product-action_list li {
        transform: translateY(0)
    }
}

.card-product_wrapper {
    aspect-ratio: .75;
    z-index: 20;
    transition: all .3s ease;
    position: relative;
    overflow: hidden
}

.card-product_wrapper .product-img {
    overflow: hidden;
    position: relative;
    border-radius: 12px;
    z-index: 0;
    width: 100%
}

.card-product_wrapper img {
    display: block;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition-duration: .2s
}

.card-product_wrapper .img-product {
    z-index: 1;
    position: relative
}

.card-product_wrapper .img-hover {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 0
}

.card-product_wrapper .tf-btn {
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122)
}

.card-product_wrapper:hover .img-hover {
    transform: scale(1.05);
    opacity: 1
}

.card-product_wrapper.square,
.card-product_wrapper.square img {
    aspect-ratio: 1
}

.product-action_remove {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    font-size: 20px
}

.product-action_remove.box-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--white);
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122)
}

@media (hover:hover) and (pointer:fine) {
    .product-action_remove.box-icon:hover {
        background-color: var(--black);
        color: var(--white)
    }
}

@media (min-width:576px) {
    .product-action_remove {
        font-size: 20px
    }
}

@media (min-width:1200px) {
    .product-action_remove {
        top: 12px;
        right: 12px
    }
}

.wrapper-wishlist .card-product {
    position: relative
}

.product-action_remove-form {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 99;
    margin: 0;
    padding: 0
}

@media (min-width:1200px) {
    .product-action_remove-form {
        top: 12px;
        right: 12px
    }
}

.product-action_remove-form button.product-action_remove {
    position: static;
    border: 0;
    padding: 0;
    margin: 0;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    background-color: var(--white);
    color: var(--black);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122)
}

@media (hover:hover) and (pointer:fine) {
    .product-action_remove-form button.product-action_remove:hover {
        background-color: var(--black);
        color: var(--white)
    }
}

.product-action_list {
    position: absolute;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 8px;
    top: 8px;
    right: 8px;
    z-index: 6
}

.product-action_list .box-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--white);
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122)
}

@media (hover:hover) and (pointer:fine) {
    .product-action_list .box-icon:hover {
        background-color: var(--black);
        color: var(--white)
    }
}

.product-action_list .box-icon.btn-loading {
    pointer-events: none;
    cursor: wait
}

.product-action_list .box-icon.btn-loading>.icon,
.product-action_list .box-icon.btn-loading>.tooltip {
    opacity: 0;
    visibility: hidden
}

.product-action_list .box-icon.btn-loading:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid rgba(0, 0, 0, .15);
    border-top: 2px solid var(--text);
    border-radius: 50%;
    animation: spin .7s linear infinite
}

.product-action_list .box-icon.btn-loading:hover:after {
    border-color: hsla(0, 0%, 100%, .3);
    border-top-color: var(--white)
}

.product-action_list .icon {
    font-size: 20px
}

@media (min-width:1200px) {
    .product-action_list {
        top: 12px;
        right: 12px
    }

    .product-action_list li {
        opacity: 0;
        visibility: hidden;
        transform: translateX(20px);
        transition: all .3s ease
    }

    .product-action_list.style-row li {
        transform: translateY(-16px);
        transition-delay: unset !important
    }
}

@media (max-width:1199px) {
    .product-action_list.style-row {
        position: unset
    }
}

@media (max-width:575px) {

    .product-action_list .compare,
    .product-action_list .wishlist {
        display: none
    }

    .product-action_list .icon {
        font-size: 16px
    }
}

.card-product_info {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 4px
}

.card-product_info .name-product {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    color: var(--text)
}

.card-product_info .name-product:hover {
    color: var(--text)
}

.price-wrap {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.price-wrap .price-old {
    text-decoration: line-through
}

.star-wrap .icon {
    color: var(--yellow);
    font-size: 12px
}

.star-wrap.normal .icon {
    font-size: 16px
}

.star-wrap.rate-click .icon {
    color: var(--line)
}

.star-wrap.rate-click .icon.active,
.star-wrap.rate-click .icon.hover {
    color: var(--yellow)
}

.product-color_list {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    align-items: center;
    padding-top: 4px;
    padding-bottom: 4px
}

.product-color_list .product-color-item {
    width: 24px;
    height: 24px;
    border: 1px solid transparent;
    transition: all .4s ease;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.product-color_list .product-color-item .swatch-value {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    transition: all .3s ease
}

.product-color_list .product-color-item .swatch-value.bg-white {
    border: 1px solid var(--line)
}

.product-color_list .product-color-item img {
    visibility: hidden;
    width: 18px;
    height: 18px;
    position: absolute
}

.product-color_list .product-color-item.active,
.product-color_list .product-color-item:hover {
    border-color: var(--text)
}

.product-color_list .product-color-item.active .swatch-value,
.product-color_list .product-color-item:hover .swatch-value {
    inset: 3px
}

@media (min-width:1200px) {
    .product-color_list {
        gap: 8px
    }
}

.product-badge_list {
    display: flex;
    gap: 4px;
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 1
}

@media (min-width:1200px) {
    .product-badge_list {
        top: 12px;
        left: 12px
    }
}

@media (max-width:575px) {
    .product-badge_list {
        flex-direction: column;
        align-items: start;
        gap: 4px
    }
}

.product-badge_item {
    padding: 0 8px;
    color: var(--white);
    font-weight: 500;
    border-radius: 12px
}

.product-badge_item.sale {
    background-color: var(--primary)
}

.product-badge_item.new {
    background-color: #3dab25
}

.product-badge_item.trend {
    background-color: var(--yellow)
}

.product-marquee_sale {
    font-weight: 600;
    background: var(--black);
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    color: var(--white);
    border-radius: 100px;
    padding: 4px 10px;
    font-size: 12px;
    line-height: 16px;
    transition: all .3s ease;
    overflow: hidden
}

.product-marquee_sale .initial-child-container {
    gap: 4px;
    align-items: center;
    display: flex
}

.product-marquee_sale .icon {
    color: var(--primary)
}

@media (max-width:1199px) {
    .product-marquee_sale {
        display: none
    }
}

.product-countdown {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 14px;
    background: var(--white);
    text-align: center;
    white-space: nowrap;
    transition: all .3s ease;
    border-radius: 100px;
    z-index: 4;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08)
}

.card-product_wrapper:has(.product-marquee_sale) .product-countdown {
    bottom: 48px
}

.product-countdown .countdown__timer {
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
    color: var(--primary);
    display: inline-block
}

.product-countdown .countdown__timer>span {
    font-variant-numeric: tabular-nums
}

.variant-box {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    z-index: 5;
    transition: all .3s ease
}

.variant-box.bot {
    bottom: 42px;
    backdrop-filter: blur(20px);
    left: 0;
    right: 0
}

@media (min-width:1200px) {
    .variant-box {
        transform: translateY(20px);
        opacity: 0;
        visibility: hidden
    }
}

@media (max-width:767px) {
    .variant-box {
        left: 8px;
        right: 8px
    }
}

@media (max-width:575px) {
    .variant-box {
        display: none
    }
}

.product-size_list {
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--white);
    border-radius: 100px
}

.product-size_list .size-item {
    font-weight: 600
}

.product-action_bot {
    position: absolute;
    bottom: 16px;
    right: 15px;
    left: 15px;
    z-index: 2;
    text-align: center;
    transition: all .3s ease
}

.product-action_bot>:not(:last-child) {
    margin-bottom: 12px
}

.product-action_bot .btn-icon-quick_view {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: 50%;
    flex-shrink: 0;
    font-size: 20px
}

@media (hover:hover) and (pointer:fine) {
    .product-action_bot .btn-icon-quick_view:hover {
        background: var(--text);
        color: var(--white)
    }
}

@media (min-width:576px) {
    .product-action_bot.vertical {
        display: flex;
        flex-direction: row;
        gap: 8px
    }

    .product-action_bot.vertical>* {
        margin-bottom: 0
    }
}

@media (min-width:1200px) {
    .product-action_bot {
        transform: translateY(20px);
        opacity: 0;
        visibility: hidden;
        display: flex;
        flex-direction: column;
        align-items: center
    }

    .product-action_bot>* {
        width: 180px;
        padding-left: 12px;
        padding-right: 12px
    }
}

@media (max-width:991px) {
    .product-action_bot {
        left: 8px;
        right: 8px
    }
}

@media (max-width:575px) {
    .product-action_bot {
        bottom: 8px
    }

    .product-action_bot>* {
        padding: 10px 5px;
        width: 100%
    }

    .product-action_bot>:not(:last-child) {
        margin-bottom: 8px
    }

    .product-action_bot>.small {
        height: 36px
    }

    .product-action_bot .icon {
        font-size: 16px
    }
}

.product-thumbs-slider {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.product-thumbs-slider .tf-product-media-thumbs .item {
    border-radius: 4px;
    border: 1px solid var(--line);
    overflow: hidden;
    transition: all .3s ease
}

.product-thumbs-slider .tf-product-media-thumbs .swiper-slide.swiper-slide-thumb-active .item {
    border-color: var(--text)
}

.product-thumbs-slider .tf-product-media-thumbs .swiper-slide:not(.swiper-slide-thumb-active) .item {
    opacity: .6
}

.product-thumbs-slider .tf-product-media-main {
    border-radius: 16px;
    border: 1px solid var(--line);
    overflow: hidden
}

.product-thumbs-slider .tf-product-media-main .item {
    display: flex;
    justify-content: center;
    height: 100%
}

.product-thumbs-slider .tf-product-media-main .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.product-thumbs-slider .tf-product-media-main .slide-3d {
    height: auto !important
}

@media (min-width:1200px) {
    .product-thumbs-slider {
        gap: 20px
    }

    .product-thumbs-slider.style-row {
        flex-direction: row
    }

    .product-thumbs-slider.style-row .flat-wrap-media-product {
        width: calc(100% - 100px)
    }

    .product-thumbs-slider.style-row .tf-product-media-thumbs {
        width: 80px
    }

    .product-thumbs-slider.style-row .tf-product-media-thumbs .swiper-slide {
        max-height: 106px
    }

    .product-thumbs-slider.style-row.row_left .flat-wrap-media-product {
        order: 1
    }

    .tf-product-media-wrap {
        padding-right: 15px
    }
}

.tf-product-media-thumbs {
    flex-shrink: 0;
    margin: 0;
    width: 100%
}

.tf-product-media-thumbs .swiper-slide .item {
    width: 100%;
    height: 100%
}

.tf-product-media-thumbs .swiper-slide .item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width:1200px) {
    .tf-product-media-thumbs {
        max-height: 764px
    }
}

.tf-product-info-wrap {
    margin-top: 30px
}

.tf-product-info-wrap .tf-product-info-list {
    display: grid;
    gap: 24px
}

.tf-product-info-wrap .tf-product-info-heading .product-infor-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px
}

.tf-product-info-wrap .tf-product-info-heading .meta_rate,
.tf-product-info-wrap .tf-product-info-heading .meta_sold {
    display: flex;
    align-items: center;
    gap: 4px
}

.tf-product-info-wrap .tf-product-info-heading .br-line {
    height: 12px
}

.tf-product-info-wrap .product-infor-price,
.tf-product-info-wrap .tf-product-info-heading .product-infor-reality {
    display: flex;
    align-items: center;
    gap: 8px
}

.tf-product-info-wrap .product-infor-price .badge-sale {
    margin-left: 8px
}

.tf-product-info-wrap .tf-product-variant {
    display: grid;
    gap: 20px
}

.tf-product-info-wrap .tf-product-variant .variant-picker-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px
}

.tf-product-info-wrap .tf-product-variant .variant-picker-values {
    display: flex;
    align-items: center;
    gap: 12px
}

.tf-product-info-wrap .variant-color .variant-picker-values {
    display: flex;
    align-items: center;
    gap: 20px
}

.tf-product-info-wrap .variant-color .color-btn:not(.select-item) {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-align: center;
    border: 1px solid var(--line);
    cursor: pointer;
    transition: all .3s ease;
    border-radius: 50%
}

.tf-product-info-wrap .variant-color .color-btn:not(.select-item) .check-color {
    width: 32px;
    height: 32px;
    display: flex;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid #dcdcdc;
    transition: all .3s ease
}

.tf-product-info-wrap .variant-color .color-btn:not(.select-item).active {
    border-color: var(--black)
}

.tf-product-info-wrap .variant-color .color-btn.style-image {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    border: 1px solid transparent
}

.tf-product-info-wrap .variant-color .color-btn.style-image .img {
    width: 100%;
    height: 100%;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    aspect-ratio: 1
}

.tf-product-info-wrap .variant-color .color-btn.style-image .img img {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1
}

.tf-product-info-wrap .variant-color .color-btn.style-image.style-small {
    width: 40px;
    height: 40px;
    padding: 4px
}

.tf-product-info-wrap .variant-color .color-btn.style-image-circle {
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 50%
}

.tf-product-info-wrap .variant-color .color-btn.style-image-circle .img {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 50%
}

.tf-product-info-wrap .variant-color .color-btn.style-image-circle img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.tf-product-info-wrap .variant-color .color-btn.style-rounded {
    align-items: center;
    width: auto;
    height: auto;
    padding: 7px 16px;
    border-radius: 999px;
    border-width: 2px;
    gap: 8px
}

.tf-product-info-wrap .variant-color .color-btn.style-rounded .check-color {
    width: 20px;
    height: 20px
}

.tf-product-info-wrap .variant-size .variant-picker-label {
    justify-content: space-between
}

.tf-product-info-wrap .variant-size .size-btn:not(.select-item) {
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    cursor: pointer;
    border-radius: 4px;
    transition: all .3s ease
}

.tf-product-info-wrap .variant-size .size-btn:not(.select-item):hover {
    border-color: var(--text)
}

.tf-product-info-wrap .variant-size .size-btn:not(.select-item).active {
    background: var(--text);
    color: var(--white);
    border-color: var(--text)
}

.tf-product-info-wrap .variant-size .size-btn:not(.select-item).disabled {
    opacity: .3;
    pointer-events: none
}

.tf-product-info-wrap .tf-product-total-quantity {
    display: grid;
    gap: 12px
}

.tf-product-info-wrap .tf-product-total-quantity .group-action {
    display: flex;
    align-items: center;
    gap: 10px
}

.tf-product-info-wrap .tf-product-total-quantity .btn-action-price {
    gap: 0
}

.tf-product-info-wrap .tf-product-extra-link {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 20px
}

.tf-product-info-wrap .tf-product-extra-link .product-extra-icon,
.tf-product-info-wrap .tf-product-extra-link a,
.tf-product-info-wrap .tf-product-extra-link button.product-extra-icon {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    line-height: 24px;
    cursor: pointer;
    font: inherit
}

.tf-product-info-wrap .tf-product-extra-link .product-extra-icon .icon,
.tf-product-info-wrap .tf-product-extra-link a .icon,
.tf-product-info-wrap .tf-product-extra-link button.product-extra-icon .icon {
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0
}

.tf-product-info-wrap .tf-product-extra-link .product-extra-icon.active,
.tf-product-info-wrap .tf-product-extra-link .product-extra-icon:focus,
.tf-product-info-wrap .tf-product-extra-link .product-extra-icon:hover,
.tf-product-info-wrap .tf-product-extra-link a.active,
.tf-product-info-wrap .tf-product-extra-link a:focus,
.tf-product-info-wrap .tf-product-extra-link a:hover,
.tf-product-info-wrap .tf-product-extra-link button.product-extra-icon.active,
.tf-product-info-wrap .tf-product-extra-link button.product-extra-icon:focus,
.tf-product-info-wrap .tf-product-extra-link button.product-extra-icon:hover {
    color: var(--primary)
}

.tf-product-info-wrap .tf-product-delivery-return {
    display: grid;
    gap: 12px
}

.tf-product-info-wrap .tf-product-delivery-return .product-delivery {
    display: flex;
    align-items: center;
    gap: 8px
}

.tf-product-info-wrap .tf-product-delivery-return .product-delivery .icon {
    font-size: 20px
}

.tf-product-info-wrap .tf-product-sidebar-bullets .list-sidebar-bullets {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none
}

.tf-product-info-wrap .tf-product-sidebar-bullets .sidebar-bullet-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5
}

.tf-product-info-wrap .tf-product-sidebar-bullets .sidebar-bullet-item .icon {
    flex: 0 0 auto;
    font-size: 20px;
    color: var(--text-2);
    line-height: 1.5
}

.tf-product-info-wrap .tf-product-sidebar-bullets .sidebar-bullet-item span {
    flex: 1 1 auto
}

.tf-product-info-wrap .tf-product-trust-seal {
    background: var(--bg);
    display: grid;
    place-items: center;
    gap: 16px;
    padding: 24px 15px;
    border-radius: 12px
}

.tf-product-info-wrap .tf-product-trust-seal .list-card {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px
}

.tf-product-info-wrap .tf-product-trust-seal .card-item img {
    aspect-ratio: 1.5625
}

.tf-product-info-wrap .tf-product-categories-widget {
    display: grid;
    gap: 8px
}

.tf-product-info-wrap .tf-product-categories-widget .tf-product-categories-list {
    display: grid;
    gap: 6px
}

.tf-product-info-wrap .tf-product-categories-widget .tf-product-categories-link {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    line-height: 24px;
    color: inherit;
    text-decoration: none;
    transition: color .2s ease
}

.tf-product-info-wrap .tf-product-categories-widget .tf-product-categories-link:hover {
    color: var(--primary)
}

.tf-product-info-wrap .tf-product-categories-widget .tf-product-categories-sublist {
    display: grid;
    gap: 6px;
    margin-top: 6px;
    padding-left: 16px
}

.tf-product-info-wrap .tf-product-more-option {
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--line)
}

.tf-product-info-wrap .tf-product-more-option .more-option-item {
    display: flex;
    align-items: center;
    gap: 16px
}

.tf-product-info-wrap .tf-product-more-option .more-option-item:not(:last-child) {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line)
}

.tf-product-info-wrap .tf-product-more-option .more_image {
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0
}

.tf-product-info-wrap .tf-product-more-option .more_image img {
    aspect-ratio: .7518796992
}

.tf-product-info-wrap .tf-product-more-option .more_info {
    display: grid;
    place-items: start;
    gap: 8px
}

.tf-product-info-wrap .tf-product-more-option .info__select-quantity {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.tf-product-info-wrap .tf-product-more-option .info__price {
    display: flex;
    align-items: center;
    gap: 8px
}

.tf-product-info-wrap .tf-product-more-option .wg-quantity {
    padding-top: 11px;
    padding-bottom: 11px
}

.tf-product-info-wrap .progress-cart {
    width: 100%;
    background-color: var(--line);
    height: 9px;
    position: relative
}

.tf-product-info-wrap .progress-cart .value {
    position: relative;
    height: 100%;
    background-color: var(--text);
    transition: width 2s ease
}

.tf-product-info-wrap .tf-product-progress-sale .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px
}

.tf-product-info-wrap .tf-product-info-countdown {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.tf-product-info-wrap .tf-product-info-countdown.type-box {
    width: -moz-max-content;
    width: max-content;
    gap: 16px 32px;
    padding: 15px 23px;
    border-radius: 8px;
    border: 1px solid var(--text)
}

.tf-product-info-wrap .tf-product-info-countdown.type-box .countdown-title {
    display: flex;
    align-items: center;
    gap: 8px
}

@media (max-width:1199px) {
    .tf-product-info-wrap .tf-product-info-countdown.type-box {
        flex-direction: column
    }
}

.tf-product-info-wrap .tf-product-pickup-available {
    display: flex;
    gap: 8px
}

.tf-product-info-wrap .tf-product-pickup-available .icon {
    margin-top: 4px;
    font-size: 20px;
    line-height: 1
}

.tf-product-info-wrap .tf-product-pickup-available .content {
    display: grid;
    gap: 4px
}

.tf-product-info-wrap .product-stock {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap
}

.tf-product-info-wrap .product-stock .icon {
    animation: tf-ani-flash 2s infinite
}

.tf-product-info-wrap .product-stock .stock {
    padding: 5px 10px;
    border-radius: 5px;
    margin-right: 8px;
    font-weight: 500
}

.tf-product-info-wrap .product-stock .in-stock {
    background-color: rgba(44, 163, 21, .1);
    color: #1d770b
}

.tf-product-info-wrap .product-stock .out-stock {
    background-color: rgba(37, 37, 37, .1);
    color: #252525
}

@media (min-width:1200px) {
    .tf-product-info-wrap {
        padding-left: 15px
    }

    .tf-product-info-wrap .tf-product-extra-link {
        gap: 40px
    }

    .tf-product-info-wrap .tf-product-more-option {
        padding: 19px
    }

    .tf-product-info-wrap .tf-product-more-option .wg-quantity {
        min-width: 160px
    }
}

.tf-product-fbt {
    padding: 32px;
    border-radius: 12px;
    border: 1px solid var(--line)
}

.tf-product-fbt .bundle-total-submit {
    display: flex;
    justify-content: center;
    align-items: center
}

@media (max-width:991px) {
    .tf-product-fbt {
        padding: 20px 15px
    }
}

.badge-sale {
    border-radius: 144px;
    background: var(--primary);
    padding: 2px 8px
}

.product-style_mini_list,
.product-style_mini_list-v2 {
    border: 1px solid var(--line);
    padding: 15px;
    border-radius: 12px
}

.product-style_mini_list-v2:after,
.product-style_mini_list:after {
    content: "";
    position: absolute;
    border-radius: 12px;
    border: 2px solid var(--text);
    inset: -1px;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.product-style_mini_list .card-product_wrapper,
.product-style_mini_list-v2 .card-product_wrapper {
    aspect-ratio: 1
}

.product-style_mini_list .card-product_info,
.product-style_mini_list-v2 .card-product_info {
    justify-content: center
}

.product-style_mini_list .card-product_info .price-wrap,
.product-style_mini_list-v2 .card-product_info .price-wrap {
    margin-bottom: 12px
}

.product-style_mini_list .btn-action,
.product-style_mini_list-v2 .btn-action {
    align-items: center;
    display: inline-flex;
    height: 40px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 100px;
    color: var(--white);
    background: var(--text);
    transition: all .4s ease
}

.product-style_mini_list .btn-action .icon,
.product-style_mini_list-v2 .btn-action .icon {
    font-size: 20px
}

.product-style_mini_list .btn-action .text,
.product-style_mini_list-v2 .btn-action .text {
    margin-left: 8px;
    transition: all .4s ease
}

.product-style_mini_list-v2:hover:after,
.product-style_mini_list:hover:after {
    opacity: 1;
    visibility: visible
}

@media (min-width:768px) {

    .product-style_mini_list,
    .product-style_mini_list-v2 {
        flex-direction: row
    }

    .product-style_mini_list .card-product_wrapper,
    .product-style_mini_list-v2 .card-product_wrapper {
        max-width: 160px
    }
}

@media (min-width:1200px) {

    .product-style_mini_list,
    .product-style_mini_list-v2 {
        gap: 24px
    }

    .product-style_mini_list-v2:not(:hover) .btn-action,
    .product-style_mini_list:not(:hover) .btn-action {
        padding-left: 10px;
        padding-right: 10px;
        background: var(--bg);
        color: var(--text)
    }

    .product-style_mini_list-v2:not(:hover) .btn-action .text,
    .product-style_mini_list:not(:hover) .btn-action .text {
        font-size: 0;
        transform: scaleX(0);
        margin-left: 0;
        transform-origin: left
    }
}

@media (max-width:991px) {

    .product-style_mini_list .btn-action,
    .product-style_mini_list-v2 .btn-action {
        padding-left: 15px;
        padding-right: 15px
    }
}

@media (max-width:425px) {

    .product-style_mini_list .btn-action,
    .product-style_mini_list-v2 .btn-action {
        padding-left: 10px;
        padding-right: 10px
    }

    .product-style_mini_list .btn-action .text,
    .product-style_mini_list-v2 .btn-action .text {
        display: none
    }
}

.product-style_mini_list-v2 {
    border: unset;
    padding: 0;
    border-radius: 12px;
    flex-direction: row
}

.product-style_mini_list-v2 .tf-btn {
    height: 42px;
    padding: 0 32px;
    font-size: 14px;
    line-height: 22px
}

.product-style_mini_list-v2 .card-product_wrapper {
    max-width: 140px
}

.product-style_mini_list-v2:after {
    content: "";
    position: absolute;
    display: none
}

.tf-sticky-btn-atc {
    position: fixed;
    width: 100%;
    bottom: 0;
    z-index: 70;
    box-shadow: 0 5px 18px 5px rgba(64, 72, 87, .149);
    background-color: var(--white);
    transition: all .3s linear;
    transform: translateY(100%)
}

.tf-sticky-btn-atc .tf-height-observer {
    padding: 16px 0;
    -moz-column-gap: 5px;
    column-gap: 5px
}

.tf-sticky-btn-atc .tf-sticky-atc-product {
    flex: 1 0 0%;
    gap: 15px
}

.tf-sticky-btn-atc .atc-product-side {
    display: flex;
    align-items: center;
    gap: 16px
}

.tf-sticky-btn-atc .atc-product-side .prd_img {
    max-width: 60px;
    border-radius: 4px;
    overflow: hidden
}

.tf-sticky-btn-atc .atc-product-side .prd_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: .75
}

.tf-sticky-btn-atc .atc-product-side .prd_info {
    display: grid;
    gap: 4px
}

.tf-sticky-btn-atc .tf-product-info-quantity,
.tf-sticky-btn-atc .tf-sticky-atc-variant-price {
    display: flex;
    gap: 12px;
    align-items: center
}

.tf-sticky-btn-atc .tf-sticky-atc-actions,
.tf-sticky-btn-atc .tf-sticky-atc-infos form {
    display: flex;
    gap: 32px;
    align-items: center;
    flex-wrap: wrap
}

.tf-sticky-btn-atc .tf-sticky-atc-actions {
    justify-content: flex-end;
    gap: 12px
}

.tf-sticky-btn-atc .prd_info .name__prd,
.tf-sticky-btn-atc .prd_info .price__prd {
    margin-bottom: 0
}

.tf-sticky-btn-atc.show {
    transform: translateY(0)
}

@media (min-width:1200px) {
    .tf-sticky-btn-atc .btn-add-to-cart {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (max-width:1439px) {
    .tf-sticky-btn-atc .tf-mini-cart-item .tf-mini-cart-image {
        width: 72px;
        height: 72px
    }

    .tf-sticky-btn-atc .tf-mini-cart-item .tf-mini-cart-info {
        display: none
    }

    .tf-sticky-btn-atc .tf-sticky-atc-infos form {
        gap: 20px
    }
}

@media (max-width:1199px) {
    .tf-sticky-btn-atc {
        bottom: calc(86px + env(safe-area-inset-bottom, 0px))
    }
}

@media (max-width:767px) {

    .tf-sticky-btn-atc .tf-sticky-atc-product,
    .tf-sticky-btn-atc .title {
        display: none !important
    }

    .tf-sticky-btn-atc .tf-sticky-atc-infos {
        width: 100%
    }

    .tf-sticky-btn-atc .tf-sticky-atc-infos .tf-sticky-atc-actions,
    .tf-sticky-btn-atc .tf-sticky-atc-infos form {
        justify-content: center
    }
}

.product-style_stroke {
    border: 1px solid var(--line);
    padding: 15px;
    border-radius: 16px;
    position: relative
}

.product-style_stroke:before {
    content: "";
    border-radius: 15px;
    position: absolute;
    inset: -1px;
    border: 2px solid var(--text);
    pointer-events: none;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden
}

.product-style_stroke .tf-btn {
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122)
}

.product-style_stroke:hover:before {
    opacity: 1;
    visibility: visible
}

@media (min-width:768px) {
    .product-grid-img .tf-product-media-main {
        border: 0;
        border-radius: 0
    }

    .product-grid-img .tf-product-media-main .item {
        border-radius: 16px;
        overflow: hidden
    }

    .product-grid-img .swiper-wrapper {
        transform: none !important;
        display: grid;
        gap: 24px
    }

    .product-grid-img .swiper-wrapper .swiper-slide {
        height: auto;
        width: 100% !important
    }

    .product-grid-img.grid-img_2 .swiper-wrapper,
    .product-grid-img.grid-img_stacked .swiper-wrapper {
        grid-template-columns: 1fr 1fr;
        gap: 24px
    }

    .product-grid-img.grid-img_stacked .swiper-wrapper .swiper-slide:first-child {
        grid-column: 1/-1;
        width: 100%
    }
}

.sold-out-wrap {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center
}

.sold-out-wrap:after {
    position: absolute;
    content: "";
    inset: 0;
    background-color: rgba(0, 0, 0, .2)
}

.sold-out-wrap .text {
    width: 128px;
    height: 128px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    background-color: var(--white);
    z-index: 2
}

.form-buyX-getY {
    border-radius: 16px;
    border: 1px solid #272727;
    padding: 30px 20px
}

.form-buyX-getY .title-buyX-getY {
    text-align: center;
    margin-bottom: 32px
}

.form-buyX-getY .tf-btn {
    width: 100%
}

.form-buyX-getY .item-product {
    text-align: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    transition: all .3s ease;
    position: relative
}

.form-buyX-getY .item-product:hover {
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .102)
}

.form-buyX-getY .item-product img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.form-buyX-getY .item-product .img-product {
    border-radius: 8px;
    overflow: hidden
}

.form-buyX-getY .item-product select {
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 14px;
    line-height: 20px;
    color: rgba(102, 112, 133, .8);
    border-radius: 6px
}

.form-buyX-getY .item-product .info-product {
    padding-top: 20px
}

.form-buyX-getY .item-product .name-product {
    margin-bottom: 10px;
    display: block
}

.form-buyX-getY .item-product .price-product {
    display: inline-flex;
    gap: 6px
}

.form-buyX-getY .item-product .variant-product {
    margin-top: 14px
}

.form-buyX-getY .item-product .old-price {
    text-decoration: line-through
}

.form-buyX-getY .item-product .ribbon {
    position: absolute;
    top: -7px;
    left: -7px;
    background-color: #a78bfa;
    color: var(--white);
    padding: 5px 28px 5px 14px;
    text-transform: uppercase;
    font-weight: 500;
    clip-path: polygon(100% 0, 86% 50%, 100% 100%, 0 100%, 0 50%, 0 0);
    z-index: 2
}

.form-buyX-getY .item-product:before {
    content: "";
    position: absolute;
    top: 26px;
    left: -7px;
    border-top: 7px solid #7154b4;
    border-right: 7px solid transparent;
    transform: rotate(90deg)
}

.form-buyX-getY .group-item-product {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 32px
}

.form-buyX-getY .group-item-product .arrow {
    width: 52px;
    height: 52px;
    margin-left: -12px
}

.form-buyX-getY .plus-add {
    border-radius: 50%;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--text);
    font-size: 20px;
    margin-left: 1px
}

@media (min-width:768px) and (max-width:991px) {
    .form-buyX-getY .group-item-product {
        flex-direction: column;
        align-items: unset
    }

    .form-buyX-getY .group-item-product .arrow {
        margin-top: -12px;
        margin-left: auto;
        margin-right: auto;
        transform: rotate(90deg)
    }
}

@media (min-width:1200px) {
    .form-buyX-getY {
        padding: 36px 32px
    }

    .form-buyX-getY .title-buyX-getY {
        margin-bottom: 47px
    }

    .form-buyX-getY .group-item-product {
        margin-bottom: 55px
    }
}

@media (max-width:575px) {
    .form-buyX-getY .group-item-product {
        flex-direction: column
    }

    .form-buyX-getY .plus-add {
        margin-bottom: 5px
    }
}

.volume-discount-item {
    width: 100%;
    padding: 28px;
    position: relative;
    background-color: #f7f7f7;
    transition: all .3s ease;
    cursor: pointer;
    border-radius: 12px;
    margin-bottom: 20px
}

.volume-discount-item:not(:last-child) {
    margin-bottom: 12px
}

.volume-discount-item .content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px
}

.volume-discount-item .name {
    flex-grow: 1
}

.volume-discount-item .tags-save {
    padding: 2px 10px;
    background-color: var(--primary);
    color: var(--white);
    flex-shrink: 0;
    border-radius: 4px
}

.volume-discount-item .check {
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid var(--black);
    background-color: transparent;
    flex-shrink: 0
}

.volume-discount-item .check span {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: block;
    background-color: transparent;
    transition: all .3s ease
}

.volume-discount-item.active .check span,
.volume-discount-item:hover .check span {
    background-color: var(--black)
}

@media (max-width:1199px) {
    .volume-discount-item {
        padding: 20px 15px
    }
}

.list-volume-discount-thumbnail {
    gap: 12px;
    width: 100%;
    max-width: 100%;
    overflow: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 12px
}

.list-volume-discount-thumbnail::-webkit-scrollbar {
    width: 4px;
    height: 4px
}

.list-volume-discount-thumbnail::-webkit-scrollbar-track {
    background-color: var(--line)
}

.list-volume-discount-thumbnail::-webkit-scrollbar-thumb {
    background: var(--text)
}

@media (max-width:1439px) {
    .list-volume-discount-thumbnail {
        padding-bottom: 5px
    }
}

.volume-discount-thumbnail-item {
    position: relative;
    padding: 7px 7px 12px;
    border: 1px solid var(--line);
    transition: all .3s ease;
    border-radius: 12px
}

.volume-discount-thumbnail-item:has(input:checked) {
    border-color: var(--text)
}

.volume-discount-thumbnail-item .image-box {
    position: relative;
    margin-bottom: 12px;
    border-radius: 8px;
    overflow: hidden
}

.volume-discount-thumbnail-item .image-box img {
    min-width: 160px;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.volume-discount-thumbnail-item .tags-save {
    position: absolute;
    top: 8px;
    left: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 2px 10px;
    background-color: var(--primary);
    color: var(--white);
    flex-shrink: 0;
    border-radius: 4px
}

.volume-discount-thumbnail-item .content-discount {
    text-align: center;
    display: grid;
    gap: 4px;
    place-items: center
}

.volume-discount-thumbnail-item:hover {
    border-color: var(--black)
}

.btn-wishlist {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 24px
}

.btn-wishlist,
.tf-product-pre-order {
    background-color: var(--text);
    color: var(--white)
}

.tf-product-pre-order {
    padding: 0 16px;
    border-radius: 99px;
    width: -moz-max-content;
    width: max-content
}

.tf-product-pre-order.style-2 {
    padding: 0 12px
}

.tf-product-image-upload {
    position: relative
}

.tf-product-image-upload label {
    width: 100%;
    padding: 11px 15px;
    border-radius: 8px;
    border: 1px solid var(--line);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all .3s ease
}

.tf-product-image-upload label:hover {
    border-color: var(--text)
}

.tf-product-image-upload .btn-up {
    right: 8px;
    transform: translateY(-50%);
    height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--text);
    color: var(--white)
}

.tf-product-image-upload .btn-up,
.wrap-btn-viewer {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.wrap-btn-viewer {
    left: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--white);
    box-shadow: 0 1px 5px rgba(0, 0, 0, .3);
    z-index: 5
}

.wrap-btn-viewer.large {
    width: 50px;
    height: 50px
}

.wrap-btn-viewer.large .icon {
    font-size: 20px
}

.write-cancel-review-wrap .btn-cancel-review,
.write-cancel-review-wrap .write-review-wrap,
.write-cancel-review-wrap.write-review .btn-write-review,
.write-cancel-review-wrap.write-review .cancel-review-wrap {
    display: none
}

.write-cancel-review-wrap.write-review .btn-cancel-review,
.write-cancel-review-wrap.write-review .write-review-wrap {
    display: block
}

.product-style_list {
    flex-direction: row;
    gap: 30px;
    width: 100%;
    align-items: flex-start
}

.product-style_list .card-product_wrapper {
    flex: 0 0 330px;
    max-width: 330px;
    width: 330px;
    position: relative;
    overflow: hidden
}

.product-style_list .card-product_wrapper .product-img {
    display: block;
    aspect-ratio: 3/4
}

.product-style_list .card-product_wrapper .img-hover,
.product-style_list .card-product_wrapper .img-product {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.product-style_list .card-product_info {
    position: relative;
    z-index: 21;
    gap: 12px;
    flex: 1 1 auto;
    padding: 4px 0
}

.product-style_list .product-size_list {
    padding: 0
}

.product-style_list .product-action_list {
    position: unset;
    flex-direction: row;
    gap: 12px;
    margin-top: 4px
}

.product-style_list .product-action_list li {
    opacity: 1;
    visibility: visible;
    transform: unset
}

.product-style_list .product-marquee_sale {
    bottom: 0;
    left: 0;
    right: 0
}

@media (max-width:1199px) {
    .product-style_list .card-product_wrapper {
        flex: 0 0 38%;
        max-width: 38%;
        width: 38%
    }
}

@media (max-width:991px) {
    .product-style_list .star-wrap {
        display: none !important
    }
}

@media (max-width:767px) {
    .product-style_list {
        gap: 16px
    }

    .product-style_list .card-product_wrapper {
        flex: 0 0 40%;
        max-width: 40%;
        width: 40%
    }

    .product-style_list .product-size_list {
        display: none
    }
}

@media (max-width:575px) {
    .product-style_list .description {
        display: none
    }
}

.video-product {
    aspect-ratio: .75;
    display: flex
}

.card-product_v02 {
    position: relative;
    overflow: hidden
}

.card-product_v02 .card-product_info {
    top: 20px;
    left: 20px;
    position: absolute;
    z-index: 21
}

.card-product_v02 .product-badge_list {
    top: 20px;
    right: 20px;
    left: auto;
    z-index: 21
}

.section-image-zoom .other-image-zoom {
    transition: all .3s ease
}

@media (min-width:1200px) {
    .section-image-zoom.zoom-active .other-image-zoom {
        opacity: .3
    }
}

.tf-model-viewer {
    width: 100%;
    height: 100%;
    position: relative;
    background: radial-gradient(circle at 50% 45%, #fff 0, #f7f7f7 30%, #e0e0e0 55%, #bdbdbd 78%, #8a8a8a 100%)
}

.tf-model-viewer model-viewer {
    display: block;
    position: relative;
    z-index: 5;
    width: 100%;
    height: 100%
}

.tf-model-viewer model-viewer.disabled {
    pointer-events: none
}

.tf-model-viewer.active model-viewer {
    pointer-events: all
}

.tf-model-viewer.active .wrap-btn-viewer {
    display: none
}

.tf-zoom-main,
.tf-zoom-main1 {
    position: sticky;
    top: 30px;
    z-index: 50
}

.tf-zoom-main .drift-zoom-pane,
.tf-zoom-main1 .drift-zoom-pane {
    top: 0;
    left: 0;
    height: 520px;
    max-width: 520px;
    width: 100%;
    background: #fff;
    -webkit-transform: translateZ(0);
    box-shadow: 0 1px 5px hsla(0, 0%, 49.8%, .02), 0 5px 18px hsla(0, 0%, 49.8%, .2);
    z-index: 3
}

.tf-zoom-main .drift-zoom-pane img,
.tf-zoom-main1 .drift-zoom-pane img {
    -o-object-fit: cover;
    object-fit: cover
}

.drift-bounding-box.drift-open {
    background: hsla(0, 0%, 100%, .251);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .4);
    z-index: 5000
}

.drift-zoom-pane {
    z-index: 5000
}

@media (min-width:1200px) {
    .section-image-zoom .other-image-zoom {
        transition: all .3s ease
    }

    .section-image-zoom.zoom-active .other-image-zoom {
        opacity: .3
    }
}

.pswp__bg {
    background: var(--white)
}

.pswp__icn {
    fill: #222;
    color: var(--white)
}

.pswp__icn .pswp__icn-shadow {
    stroke: var(--white);
    stroke-width: 1px;
    fill: none
}

.pswp__counter {
    color: #222;
    text-shadow: 1px 1px 3px #fff
}

.ic-accordion-custom {
    position: relative;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .35s linear;
    flex-shrink: 0
}

.ic-accordion-custom:after,
.ic-accordion-custom:before {
    content: "";
    position: absolute;
    background-color: var(--primary);
    transition: all .3s ease;
    border-radius: 2px
}

.ic-accordion-custom:before {
    height: 100%;
    width: 2px
}

.ic-accordion-custom:after {
    height: 2px;
    width: 100%
}

.ic-accordion-custom.cl-2:after,
.ic-accordion-custom.cl-2:before {
    background-color: var(--text)
}

.accordion-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    padding-bottom: 0;
    margin-bottom: 20px;
    transition: all .3s ease;
    gap: 12px
}

.accordion-action .icon:before {
    transform: rotate(90deg)
}

.accordion-action .icon:after {
    transform: rotate(180deg)
}

.accordion-action .ic-ar {
    display: block;
    transform: rotate(180deg);
    transition: all .3s ease
}

.accordion-action.collapsed {
    margin-bottom: 0;
    padding-bottom: 20px
}

.accordion-action.collapsed .ic-ar,
.accordion-action.collapsed .icon:after,
.accordion-action.collapsed .icon:before {
    transform: rotate(0deg)
}

@media (max-width:991px) {
    .accordion-action {
        padding-top: 20px
    }

    .accordion-action.collapsed {
        padding-bottom: 20px
    }
}

.product-accordion-item .desc-list {
    display: grid;
    gap: 24px;
    max-width: 548px;
    width: 100%
}

.product-accordion-item .desc-list .desc_title {
    color: var(--primary);
    margin-bottom: 8px
}

.prd-desc-accordion .accordion-action {
    border-bottom: 1px solid var(--line);
    margin-bottom: 0;
    padding-bottom: 19px
}

.prd-desc-accordion .accordion-action:not(.collapsed) {
    border-color: var(--text);
    margin-bottom: 20px
}

.prd-desc-accordion .tab-review .rating-progress-list,
.prd-desc-accordion .tab-review .rating-progress-list .progress {
    width: 100%
}

.faq-accordion_item {
    background: var(--bg);
    border-radius: 12px
}

.faq-accordion_item .accordion-action,
.faq-accordion_item .faq-content {
    padding-left: 28px;
    padding-right: 28px
}

.faq-accordion_item .accordion-action {
    padding-top: 24px
}

.faq-accordion_item .accordion-action.collapsed {
    padding-top: 24px;
    padding-bottom: 24px
}

.faq-accordion_item .accordion-action:not(.collapsed) {
    margin-bottom: 12px
}

.faq-accordion_item .faq-content {
    padding-bottom: 24px
}

@media (max-width:991px) {

    .faq-accordion_item .accordion-action,
    .faq-accordion_item .faq-content {
        padding-left: 20px;
        padding-right: 20px
    }

    .faq-accordion_item .accordion-action {
        padding-top: 20px
    }

    .faq-accordion_item .accordion-action.collapsed {
        padding-top: 20px;
        padding-bottom: 20px
    }

    .faq-accordion_item .accordion-action:not(.collapsed) {
        margin-bottom: 20px
    }

    .faq-accordion_item .faq-content {
        padding-bottom: 20px
    }
}

.accordion-item_v2 .accordion-action {
    padding-top: 16px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--line)
}

.accordion-item_v2 .accordion-action:not(.collapsed) {
    margin-bottom: 16px;
    border-color: var(--text)
}

.accordion-item_v2 .faq-content {
    padding-bottom: 16px
}

.accordion-item_v2.style-2 .accordion-action {
    padding-top: 20px;
    padding-bottom: 20px
}

.accordion-item_v2.style-2 .accordion-action:not(.collapsed) {
    margin-bottom: 20px
}

.accordion-item_v2.style-2 .accordion-content {
    margin-bottom: 24px
}

.accordion-faq .icon {
    width: 40px;
    height: 40px;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--text);
    border-color: var(--text);
    flex-shrink: 0
}

.accordion-faq .accordion-title,
.accordion-faq .icon {
    display: flex;
    align-items: center;
    transition: all .3s ease
}

.accordion-faq .accordion-title {
    justify-content: space-between;
    margin-bottom: 12px;
    gap: 10px
}

.accordion-faq .accordion-title .text {
    color: var(--text);
    font-weight: 500;
    transition: all .3s ease;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden
}

.accordion-faq .accordion-title .ic-accordion-custom:before {
    transform: rotate(90deg);
    background-color: var(--white)
}

.accordion-faq .accordion-title .ic-accordion-custom:after {
    transform: rotate(180deg);
    background-color: var(--white)
}

.accordion-faq .accordion-title.collapsed {
    margin-bottom: 0
}

.accordion-faq .accordion-title.collapsed .text {
    color: var(--text-2);
    font-weight: 400
}

.accordion-faq .accordion-title.collapsed .icon {
    border: 1px solid var(--line);
    background-color: transparent
}

.accordion-faq .accordion-title.collapsed .ic-accordion-custom:after,
.accordion-faq .accordion-title.collapsed .ic-accordion-custom:before {
    transform: rotate(0deg);
    background-color: var(--text)
}

@media (max-width:1199px) {
    .accordion-faq .icon {
        width: 30px;
        height: 30px
    }

    .accordion-faq .icon .ic-accordion-custom {
        width: 14px;
        height: 14px
    }
}

.tf-cart-notification {
    display: flex;
    justify-content: center
}

.tf-cart-notification .count-text {
    display: flex;
    align-items: center;
    border-radius: 8px;
    padding: 11px 15px;
    background: var(--bg-4)
}

.tf-cart-notification .count-text .ic {
    margin-right: 12px
}

.tf-cart-notification .time-count {
    display: inline-block;
    font-weight: 700;
    color: var(--primary);
    min-width: 47px
}

.notification-progress .text {
    margin-bottom: 16px
}

.notification-progress .progress-cart {
    margin-top: 8px;
    margin-bottom: 8px;
    width: 100%;
    background-color: var(--line);
    height: 4px;
    position: relative;
    border-radius: 100px
}

.notification-progress .value {
    position: relative;
    height: 100%;
    background-color: var(--success);
    transition: width 2s ease;
    border-radius: 100px
}

.notification-progress .round {
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-color: var(--white);
    border: 1px solid var(--success);
    border-radius: 50%
}

.notification-progress .round:after {
    content: "\e930";
    position: absolute;
    font-family: icomoon;
    font-size: 12px;
    color: var(--success);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.tf-table-page-cart {
    border-collapse: separate;
    border-spacing: 0
}

.tf-table-page-cart td {
    padding-top: 27px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--line)
}

.tf-table-page-cart th {
    font-weight: 600;
    border-bottom: 1px solid var(--line)
}

.tf-table-page-cart thead th {
    padding-bottom: 11px
}

.tf-table-page-cart .wg-quantity {
    max-width: 160px;
    min-width: unset;
    padding-top: 11px;
    padding-bottom: 11px
}

@media (min-width:576px) {

    .tf-table-page-cart td:first-child,
    .tf-table-page-cart th:first-child {
        min-width: 360px
    }

    .tf-table-page-cart td:nth-child(2),
    .tf-table-page-cart th:nth-child(2) {
        min-width: 110px
    }

    .tf-table-page-cart td:nth-child(3),
    .tf-table-page-cart th:nth-child(3) {
        min-width: 160px
    }

    .tf-table-page-cart td:nth-child(4),
    .tf-table-page-cart th:nth-child(4) {
        min-width: 110px
    }
}

@media (max-width:767px) {
    .tf-table-page-cart thead {
        display: none
    }
}

.tf-cart_item .img-prd {
    border-radius: 8px;
    overflow: hidden;
    max-width: 100px
}

.tf-cart_item .img-prd img {
    aspect-ratio: .7518796992
}

.tf-cart_item .cart_product {
    display: flex;
    align-items: center;
    gap: 24px
}

.tf-cart_item .cart_remove {
    padding-top: 4px;
    padding-bottom: 4px
}

.tf-cart_item .cart-action-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-2);
    border-radius: 50%;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color .2s ease, color .2s ease
}

.tf-cart_item .cart-action-btn:focus,
.tf-cart_item .cart-action-btn:hover {
    color: var(--critical);
    background-color: rgba(0, 0, 0, .04)
}

.tf-cart_item .cart-action-btn .icon {
    font-size: 16px
}

.tf-cart_item .cart-action-btn.btn-loading {
    color: transparent !important;
    pointer-events: none
}

.tf-cart_item .cart-action-btn.btn-loading .icon {
    visibility: hidden
}

.tf-cart_item .cart-action-btn.btn-loading:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 14px;
    box-sizing: border-box;
    border: 2px solid rgba(0, 0, 0, .18);
    border-top: 2px solid var(--primary);
    border-radius: 50%;
    animation: spin .7s linear infinite
}

.tf-cart_item .cart_action,
.tf-cart_item .cart_total {
    text-align: end
}

.tf-cart_item.is-updating {
    opacity: .55;
    pointer-events: none;
    transition: opacity .2s ease
}

.fl-sidebar-cart .check-agree.has-error {
    color: var(--critical)
}

.fl-sidebar-cart .check-agree.has-error .tf-check-rounded,
.fl-sidebar-cart .check-agree.has-error input[type=checkbox] {
    outline: 2px solid var(--critical);
    outline-offset: 2px;
    border-radius: 4px
}

.fl-sidebar-cart .check-agree.has-error .infor-prd {
    display: grid;
    place-items: start;
    gap: 4px
}

.fl-sidebar-cart .check-agree.has-error .prd_select {
    display: flex;
    align-items: center
}

.fl-sidebar-cart .check-agree.has-error .prd_select .type-text {
    position: relative;
    z-index: 2
}

@media (max-width:767px) {
    .fl-sidebar-cart .check-agree.has-error {
        margin-bottom: 15px;
        padding-inline-start: 94px;
        min-height: 140px;
        display: block;
        font-weight: 500;
        position: relative
    }

    .fl-sidebar-cart .check-agree.has-error .wg-quantity {
        min-width: 110px;
        padding: 6px 10px
    }

    .fl-sidebar-cart .check-agree.has-error .img-prd {
        position: absolute;
        top: 0;
        left: 0;
        overflow: hidden;
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
        width: 80px;
        flex-shrink: 0;
        border: 1px solid var(--line)
    }

    .fl-sidebar-cart .check-agree.has-error .img-prd img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    .fl-sidebar-cart .check-agree.has-error td {
        display: flex;
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 10px 0;
        margin: 0
    }

    .fl-sidebar-cart .check-agree.has-error td:not(:last-child) {
        border-bottom: 1px solid var(--line)
    }

    .fl-sidebar-cart .check-agree.has-error td[data-cart-title]:before {
        content: attr(data-cart-title);
        color: var(--black);
        text-align: start;
        flex: 1 1 auto;
        font-weight: 600;
        font-size: 16px;
        line-height: 24px
    }
}

.fl-sidebar-cart {
    margin-top: 30px
}

.fl-sidebar-cart .title {
    margin-bottom: 24px
}

@media (min-width:1200px) {
    .fl-sidebar-cart.type-2 {
        padding-left: 30px
    }
}

.box-order-summary {
    padding: 24px;
    background: var(--bg-2);
    border-radius: 12px
}

.box-order-summary .notification-progress {
    margin-bottom: 32px
}

.box-order-summary .discount,
.box-order-summary .ship,
.box-order-summary .subtotal {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line)
}

.box-order-summary .ship {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px
}

.box-order-summary .ship .box-check-payment {
    max-width: 220px;
    width: 100%
}

.box-order-summary .ship-item:not(:last-child) {
    margin-bottom: 8px
}

.box-order-summary .ship-item {
    display: flex;
    align-items: center;
    gap: 8px
}

.box-order-summary .ship-item label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
    color: var(--text-2);
    cursor: pointer
}

.box-order-summary .ship-item input:checked~label {
    color: var(--text)
}

.box-order-summary .check-agree {
    display: flex;
    gap: 8px;
    align-items: center
}

.box-order-summary .total-order {
    margin-bottom: 24px
}

.box-order-summary .action-checkout,
.box-order-summary .check-agree {
    margin-bottom: 12px
}

@media (min-width:1200px) {

    .box-order-summary .discount,
    .box-order-summary .ship,
    .box-order-summary .subtotal {
        padding-bottom: 19px;
        margin-bottom: 20px
    }
}

@media (max-width:575px) {
    .box-order-summary {
        padding: 20px 15px
    }
}

.wrap-quick-login .title {
    padding: 12px 16px;
    border-radius: 8px;
    background-color: var(--bg-2);
    margin-bottom: 12px
}

.payment_accordion {
    border: 1px solid var(--line);
    padding: 10px 19px;
    border-radius: 8px;
    transition: all .3s ease
}

.payment_accordion .text-payment {
    padding-top: 4px
}

.payment_accordion.active {
    background: var(--bg-2)
}

.payment_accordion:not(:last-child) {
    margin-bottom: 16px
}

.payment_accordion:has(input[type=radio]:checked) {
    background: var(--bg-2)
}

.payment_accordion.type-2 {
    padding: 23px
}

.payment_accordion.type-2:has(.collapsed) {
    padding: 10px 19px
}

.payment_check {
    cursor: pointer
}

.payment_check .pay-title {
    transition: all .3s ease;
    color: var(--black);
    cursor: pointer
}

.ip-card {
    position: relative
}

.ip-card .card-logo {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 8px
}

@media (min-width:576px) {
    .ip-card input {
        padding-right: 196px !important
    }
}

.box-ip-payment .checkbox-wrap {
    gap: 8px
}

.list-order-product .order-item {
    display: flex;
    align-items: center;
    gap: 24px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 24px;
    margin-bottom: 24px
}

.list-order-product .img-prd {
    border-radius: 8px;
    overflow: hidden;
    max-width: 100px
}

.list-order-product .img-prd img {
    aspect-ratio: .7518796992;
    width: 100%;
    height: 100%
}

.list-order-product .infor-prd {
    display: grid;
    place-items: start;
    gap: 4px;
    flex: 1
}

@media (min-width:1200px) {
    .list-order-product .order-item:last-child {
        padding-bottom: 23px
    }
}

@media (max-width:1199px) {
    .list-order-product .order-item {
        gap: 12px;
        padding-bottom: 20px;
        margin-bottom: 20px
    }
}

.list-bundle-prd .order-item {
    margin-bottom: 16px;
    padding-bottom: 16px;
    transition: all .3s ease;
    opacity: .6
}

.list-bundle-prd .order-item .prd_name {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden
}

.list-bundle-prd .order-item:has(input:checked) {
    opacity: 1
}

@media (max-width:575px) {
    .list-bundle-prd .img-prd {
        max-width: 80px
    }
}

.quantity-price {
    display: flex;
    align-items: center;
    gap: 4px
}

.box-your-order .ip-discount-code {
    margin-top: 0;
    margin-bottom: 24px
}

.box-your-order .last-total {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.list-total {
    margin-bottom: 20px;
    padding: 20px 0;
    border-bottom: 1px solid var(--line);
    border-top: 1px solid var(--line)
}

.list-total .total-item {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.list-total .total-item:not(:last-child) {
    margin-bottom: 24px
}

@media (min-width:1200px) {
    .list-total {
        padding-top: 23px;
        padding-bottom: 23px;
        margin-bottom: 24px
    }
}

.tf-checkout-cart-main .box-ip-checkout {
    margin-bottom: 40px
}

.tf-checkout-cart-main .box-ip-checkout .form-content {
    gap: 16px
}

.tf-checkout-cart-main .box-ip-payment {
    margin-bottom: 20px
}

.tf-checkout-cart-main .tf-grid-layout {
    gap: 16px
}

.tf-checkout-cart-main .title {
    margin-bottom: 20px
}

@media (max-width:1199px) {
    .tf-checkout-cart-main .box-ip-checkout {
        margin-bottom: 24px
    }
}

.mini-product-cart {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px
}

.mini-product-cart .prd_image {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--line);
    max-width: 100px;
    width: 100%
}

.mini-product-cart .prd_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.mini-product-cart .prd-wrap {
    gap: 24px;
    display: flex;
    align-items: center
}

.mini-product-cart .prd-action {
    display: grid;
    place-items: end;
    gap: 4px
}

@media (min-width:576px) {
    .mini-product-cart .prd-action {
        max-width: 100px;
        width: 100%
    }
}

@media (max-width:575px) {

    .mini-product-cart,
    .mini-product-cart .prd-wrap {
        gap: 12px
    }
}

.list-mini-product .mini-product-cart {
    padding-bottom: 19px;
    border-bottom: 1px solid var(--line)
}

.list-mini-product .mini-product-cart:not(:last-child) {
    margin-bottom: 20px
}

.tf-prd-select {
    display: flex;
    align-items: center
}

.tf-prd-select .type-text {
    position: relative;
    z-index: 2
}

.type-select {
    margin-right: -12px;
    margin-left: -12px
}

.type-select select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0 !important;
    border: 0;
    cursor: pointer;
    padding: 0 12px
}

.type-select.has-icon {
    position: relative;
    margin-right: 0
}

.type-select.has-icon .icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    pointer-events: none
}

.type-select.has-icon select {
    padding-right: 18px
}

.ip-discount-code {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 28px;
    flex-wrap: wrap
}

.ip-discount-code input {
    border-radius: 100px !important
}

.ip-discount-code button {
    white-space: nowrap;
    width: 100%
}

@media (min-width:1200px) {
    .ip-discount-code input {
        padding: 15px 23px !important
    }
}

@media (min-width:426px) {
    .ip-discount-code {
        flex-wrap: nowrap
    }

    .ip-discount-code button {
        width: auto;
        flex-shrink: 0
    }
}

@media (max-width:1199px) {
    .ip-discount-code button {
        height: 48px
    }
}

@media (min-width:1200px) {
    .form-shop-cart {
        padding-right: 30px
    }
}

.tf-page-checkout {
    display: grid;
    gap: 24px;
    border-radius: 12px;
    padding: 27px;
    border: 1px solid var(--line)
}

@media (min-width:1200px) {
    .tf-page-checkout {
        gap: 40px
    }
}

@media (max-width:991px) {
    .tf-page-checkout {
        padding: 20px 15px
    }
}

.tf-table-compare {
    overflow-x: auto
}

.tf-table-compare::-webkit-scrollbar {
    width: 4px;
    height: 4px
}

.tf-table-compare::-webkit-scrollbar-thumb {
    cursor: grab
}

.tf-table-compare table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0
}

.tf-table-compare tbody tr:nth-child(2n),
.tf-table-compare thead {
    background-color: unset
}

.tf-table-compare tbody tr:nth-child(odd) {
    background-color: var(--bg)
}

.tf-table-compare tbody tr td:first-child {
    padding-left: 32px
}

.tf-table-compare tr th:not(:first-child) {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line)
}

.tf-table-compare tr th:last-child {
    border-right: 1px solid var(--line)
}

.tf-table-compare tr th:nth-child(2) {
    border-top-left-radius: 8px
}

.tf-table-compare tr td:last-child {
    border-right: 1px solid var(--line)
}

.tf-table-compare tr td {
    border-left: 1px solid var(--line);
    border-top: 1px solid var(--line)
}

.tf-table-compare tr:first-child td:first-child {
    border-top-left-radius: 8px
}

.tf-table-compare tr:last-child td {
    border-bottom: 1px solid var(--line)
}

.tf-table-compare td:first-child,
.tf-table-compare th:first-child {
    width: 272px
}

.tf-table-compare .compare-col {
    vertical-align: middle
}

.tf-table-compare .item_image {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 16px;
    max-width: 267px;
    margin-left: auto;
    margin-right: auto
}

.tf-table-compare .item_image img {
    aspect-ratio: .75;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.tf-table-compare .item_name {
    margin-bottom: 4px;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden
}

.tf-table-compare .remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--white);
    transition: all .3s ease;
    cursor: pointer;
    border-radius: 50%;
    color: var(--black)
}

.tf-table-compare .remove:hover {
    background-color: var(--black);
    color: var(--white);
    border-color: var(--black)
}

.tf-table-compare .compare-title {
    font-weight: 500;
    font-size: 20px;
    line-height: 28px
}

.tf-table-compare .compare_rate {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px
}

.tf-table-compare .compare-value {
    text-align: center;
    color: var(--black)
}

@media (min-width:1200px) {
    .tf-table-compare tr {
        height: 59px
    }

    .tf-table-compare tr th {
        padding: 31px 20px 20px
    }

    .tf-table-compare tr td {
        padding: 13px
    }
}

@media (max-width:1199px) {

    .tf-table-compare td,
    .tf-table-compare th {
        padding: 12px;
        width: 300px
    }

    .tf-table-compare td:first-child,
    .tf-table-compare th:first-child {
        width: 250px
    }
}

@media (max-width:767px) {

    .tf-table-compare td,
    .tf-table-compare th {
        width: 200px
    }

    .tf-table-compare td:first-child,
    .tf-table-compare th:first-child {
        display: none
    }
}

.list-compare-color {
    display: flex;
    gap: 8px
}

.list-compare-color .item {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 4px solid var(--white);
    position: relative
}

.list-compare-color .item:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border: 1px solid var(--line)
}

.compare-area {
    padding-bottom: 100px
}

@media (max-width:767.98px) {
    .compare-area {
        padding-bottom: 60px
    }
}

.compare-area .bb-empty-state {
    max-width: 520px;
    margin: 24px auto 0;
    padding: 56px 32px;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 16px
}

.compare-area .bb-empty-state h3 {
    font-size: 22px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 12px
}

.compare-area .bb-empty-state p {
    color: var(--text-2);
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 24px
}

.compare-area .bb-empty-state .btn,
.compare-area .bb-empty-state .btn.btn-outline-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    background: var(--text);
    color: var(--white);
    border: 1px solid var(--text);
    border-radius: 999px;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
    transition: all .25s ease
}

.compare-area .bb-empty-state .btn.btn-outline-primary:focus,
.compare-area .bb-empty-state .btn.btn-outline-primary:hover,
.compare-area .bb-empty-state .btn:focus,
.compare-area .bb-empty-state .btn:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white)
}

.compare-area .bb-empty-state-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--white);
    color: var(--primary);
    border: 1px solid var(--line)
}

.compare-area .bb-empty-state-icon i,
.compare-area .bb-empty-state-icon svg {
    width: 32px;
    height: 32px;
    font-size: 32px
}

.compare-area .compare-header {
    display: none
}

.compare-area .compare-toolbar {
    margin-bottom: 32px
}

.compare-area .compare-toolbar-info {
    font-size: 14px;
    color: var(--text-2)
}

.compare-area .compare-diff-toggle {
    font-size: 14px;
    color: var(--text);
    background: var(--bg);
    border-radius: 999px;
    padding: 8px 16px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.compare-area .compare-diff-toggle input[type=checkbox] {
    accent-color: var(--primary)
}

.compare-area .btn.btn-outline-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--white);
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    transition: all .25s ease
}

.compare-area .btn.btn-outline-secondary:focus,
.compare-area .btn.btn-outline-secondary:hover {
    background: var(--text);
    color: var(--white);
    border-color: var(--text)
}

.compare-area .compare-product-actions {
    margin-top: 16px
}

.compare-area .compare-product-actions .btn.btn-primary {
    position: relative;
    width: 100%;
    background: var(--text);
    border: 1px solid var(--text);
    color: var(--white);
    border-radius: 999px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all .25s ease
}

.compare-area .compare-product-actions .btn.btn-primary:focus,
.compare-area .compare-product-actions .btn.btn-primary:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white)
}

.compare-area .compare-product-actions .btn.btn-primary i {
    font-size: 18px
}

.compare-area .compare-product-actions .btn.btn-primary.btn-loading,
.compare-area .compare-product-actions .btn.btn-primary:disabled {
    pointer-events: none;
    cursor: wait;
    opacity: .85
}

.compare-area .compare-product-actions .btn.btn-primary.btn-loading {
    color: transparent
}

.compare-area .compare-product-actions .btn.btn-primary.btn-loading>* {
    display: none
}

.compare-area .compare-product-actions .btn.btn-primary.btn-loading:after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    border: 2px solid hsla(0, 0%, 100%, .35);
    border-top: 2px solid var(--white);
    border-radius: 50%;
    animation: spin .7s linear infinite
}

.compare-area .compare-product-cell {
    position: relative;
    padding: 16px;
    vertical-align: top
}

.compare-area .compare-product-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: var(--text);
    margin: 12px 0 8px
}

.compare-area .compare-product-title a {
    color: inherit
}

.compare-area .compare-product-title a:hover {
    color: var(--primary)
}

.compare-area .compare-product-price {
    margin-bottom: 8px
}

.compare-area .compare-product-price .compare-price,
.compare-area .compare-product-price .price-current {
    color: var(--primary);
    font-weight: 600
}

.compare-area .compare-product-price .old-price,
.compare-area .compare-product-price .price-old {
    color: var(--text-3);
    text-decoration: line-through;
    margin-left: 6px
}

.compare-area .compare-savings-badge {
    gap: 4px;
    background: var(--bg-4);
    color: var(--primary);
    font-weight: 500;
    margin-bottom: 8px
}

.compare-area .compare-savings-badge,
.compare-area .compare-stock-badge {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    line-height: 20px;
    padding: 4px 10px;
    border-radius: 999px
}

.compare-area .compare-stock-badge {
    gap: 6px
}

.compare-area .compare-stock-badge .compare-stock-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor
}

.compare-area .compare-stock-badge.compare-stock-in {
    background: rgba(61, 171, 37, .1);
    color: var(--success)
}

.compare-area .compare-stock-badge.compare-stock-out {
    background: rgba(240, 62, 62, .1);
    color: var(--critical)
}

.compare-area .compare-product-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    background: transparent;
    border: 0;
    color: var(--text-3);
    font-size: 18px;
    line-height: 1;
    padding: 4px;
    cursor: pointer;
    transition: color .2s ease
}

.compare-area .compare-product-remove:focus,
.compare-area .compare-product-remove:hover {
    color: var(--primary)
}

.compare-area .compare-empty-slot {
    padding: 16px;
    vertical-align: top
}

.compare-area .compare-add-slot,
.compare-area .compare-empty-slot>* {
    background: var(--bg);
    border: 1px dashed var(--line);
    border-radius: 12px;
    padding: 32px 16px;
    text-align: center;
    color: var(--text-2);
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px
}

.compare-area .compare-add-slot:hover,
.compare-area .compare-empty-slot>:hover {
    border-color: var(--text);
    color: var(--text)
}

.compare-area .compare-group-row .compare-group-title {
    background: var(--bg);
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 12px 16px;
    border-left: 3px solid var(--primary)
}

.compare-area .compare-spec-row .compare-row-label {
    color: var(--text);
    font-weight: 500;
    font-size: 14px;
    padding: 14px 16px;
    background: transparent;
    border-bottom: 1px solid var(--line);
    vertical-align: middle
}

.compare-area .compare-spec-row .compare-empty-cell,
.compare-area .compare-spec-row .compare-spec-value {
    color: var(--text-2);
    font-size: 14px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
    vertical-align: middle
}

.compare-area [data-spec-row].compare-diff-highlight,
.compare-area [data-spec-row][data-diff=true] {
    background: var(--bg-5)
}

@media (max-width:767.98px) {
    .compare-area .compare-toolbar {
        gap: 12px
    }

    .compare-area .compare-product-title {
        font-size: 15px
    }
}

.my-account-nav {
    display: grid;
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden
}

.my-account-nav .link-account {
    padding: 20px;
    color: var(--text-2);
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px
}

.my-account-nav .link-account .icon {
    font-size: 24px
}

.my-account-nav .link-account.active,
.my-account-nav .link-account:hover {
    background: var(--bg);
    color: var(--text)
}

.my-account-nav .link-account:not(:last-child) {
    border-bottom: 1px solid var(--line)
}

.my-account-nav .link-account:first-child {
    border-radius: 12px 12px 0 0
}

.my-account-nav .link-account:last-child {
    border-radius: 0 0 12px 12px
}

.acount-order_stats,
.my-account-content .account-title {
    margin-bottom: 20px
}

.acount-order_stats .order-box {
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px;
    border-radius: 8px
}

.acount-order_stats .order_icon {
    font-size: 40px
}

.acount-order_stats .info__label {
    margin-bottom: 4px
}

@media (min-width:1440px) {
    .acount-order_stats .order-box {
        padding: 27px
    }
}

@media (max-width:767px) {
    .acount-order_stats {
        margin-bottom: 30px
    }
}

.account-my_recent {
    padding: 27px 27px 12px;
    border: 1px solid var(--line);
    border-radius: 8px
}

.account-my_recent .title-case {
    margin-bottom: 20px
}

.table-my_recent {
    white-space: nowrap
}

.table-my_recent thead tr {
    border-bottom: 1px solid var(--line)
}

.table-my_recent th {
    font-weight: 500;
    padding-bottom: 5px
}

.table-my_recent td {
    padding-top: 12px;
    padding-bottom: 11px
}

.table-my_recent tr {
    display: flex;
    justify-content: space-between;
    gap: 24px
}

.table-my_recent tr:first-child td {
    padding-top: 20px
}

.table-my_recent tr:not(:last-child) {
    border-bottom: 1px solid var(--line)
}

.table-my_recent tr:last-child td {
    padding-bottom: 0
}

.table-my_recent td:first-child,
.table-my_recent th:first-child {
    width: 80px
}

.table-my_recent td:nth-child(2),
.table-my_recent th:nth-child(2) {
    width: 300px
}

.table-my_recent td:nth-child(3),
.table-my_recent th:nth-child(3) {
    width: 80px
}

.table-my_recent td:nth-child(4),
.table-my_recent th:nth-child(4) {
    width: 90px
}

.table-my_recent.order_recent td:last-child,
.table-my_recent.order_recent th:last-child {
    width: unset
}

@media (min-width:1440px) {
    .table-my_recent {
        table-layout: fixed
    }

    .table-my_recent td {
        vertical-align: middle
    }
}

.tb-order_product {
    display: flex;
    align-items: center;
    gap: 16px
}

.tb-order_product .prd_select {
    gap: 8px
}

.tb-order_product .prd_name {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden
}

.tb-order_product .img-prd {
    max-width: 48px;
    border-radius: 4px;
    overflow: hidden
}

.tb-order_product .img-prd img {
    aspect-ratio: 1;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top
}

.tb-order_product .prd_select {
    display: flex;
    align-items: center;
    color: var(--text)
}

.tb-order_status {
    min-width: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 15px;
    font-weight: 600;
    border-radius: 24px
}

.tb-order_status.stt-completed {
    background: rgba(61, 171, 37, .102);
    color: #3dab25
}

.tb-order_status.stt-pending {
    background: rgba(236, 176, 24, .102);
    color: #f0a750
}

.tb-order_status.stt-delivery {
    background: rgba(134, 132, 212, .102);
    color: #8684d4
}

.tb-order_status.stt-canceled {
    background: rgba(219, 68, 68, .102);
    color: #dc4646
}

.wg-my-order {
    border: 1px solid var(--line);
    border-radius: 8px
}

.wg-my-order .order-heading {
    padding: 19px 20px;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px
}

.wg-my-order .order_number,
.wg-my-order .order_status {
    display: flex;
    align-items: center;
    gap: 8px
}

.wg-my-order .order-content {
    display: grid;
    gap: 20px;
    padding: 19px 20px 20px
}

.wg-my-order .order_prd_item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 19px;
    border-bottom: 1px solid var(--line)
}

.wg-my-order .order_prd_item .prd__info {
    flex: 1
}

.wg-my-order .order_prd_item .prd__image {
    border-radius: 8px;
    overflow: hidden;
    max-width: 100px
}

.wg-my-order .order_prd_item .prd__image img {
    aspect-ratio: 1;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.wg-my-order .order_prd_item .prd__info .name {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden
}

.wg-my-order .order_prd_item .prd__price {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: wrap
}

.wg-my-order .group-btn {
    display: flex;
    gap: 12px
}

@media (min-width:1200px) {
    .wg-my-order .action-order {
        padding-left: 24px;
        padding-right: 24px
    }
}

.account-my_order .tab-btn-wrap-v1 {
    margin-bottom: 24px
}

.account-my_address {
    padding: 20px 15px;
    border: 1px solid var(--line);
    border-radius: 12px
}

.account-my_address .btn-action-submit {
    margin-top: 28px
}

@media (min-width:1200px) {
    .account-my_address {
        padding: 27px
    }
}

.account-avatar {
    display: flex;
    align-items: center;
    gap: 20px
}

.account-avatar .avatarPreview {
    border-radius: 4px;
    overflow: hidden
}

.account-avatar .upload-wrapper {
    padding: 7px 11px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-radius: 4px;
    border: 1px solid var(--line)
}

.account-avatar .upload-btn {
    padding: 4px 12px;
    background: var(--line)
}

body#page-auth {
    background-color: var(--bg)
}

body#page-auth .auth-card {
    border: 0 !important;
    box-shadow: none !important
}

body#page-auth .auth-card,
body#page-auth .auth-card .card-header {
    background: transparent !important
}

body#page-auth .amerce-auth-card {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 30px 60px -32px rgba(16, 16, 16, .08)
}

body#page-auth .amerce-auth-card__media {
    position: relative;
    overflow: hidden;
    background: var(--bg-2)
}

body#page-auth .amerce-auth-card__banner {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

body#page-auth .amerce-auth-card:not(.amerce-auth-card--horizontal) .amerce-auth-card__media {
    max-height: 220px
}

body#page-auth .amerce-auth-card:not(.amerce-auth-card--horizontal) .amerce-auth-card__banner {
    aspect-ratio: 16/5;
    max-height: 220px
}

body#page-auth .amerce-auth-card__header {
    padding: 40px 40px 0;
    text-align: center;
    display: grid;
    gap: 8px;
    justify-items: center
}

@media (max-width:767px) {
    body#page-auth .amerce-auth-card__header {
        padding: 28px 24px 0
    }
}

body#page-auth .amerce-auth-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: rgba(220, 70, 70, .08);
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px
}

body#page-auth .amerce-auth-card__icon .icon,
body#page-auth .amerce-auth-card__icon svg {
    width: 26px;
    height: 26px;
    stroke-width: 1.6
}

body#page-auth .amerce-auth-card__title {
    font-family: var(--primary-font, "DM Sans"), sans-serif;
    font-size: 28px;
    line-height: 36px;
    font-weight: 700;
    color: var(--text);
    margin: 0
}

@media (max-width:767px) {
    body#page-auth .amerce-auth-card__title {
        font-size: 22px;
        line-height: 30px
    }
}

body#page-auth .amerce-auth-card__description {
    max-width: 480px;
    margin: 0 auto
}

body#page-auth .amerce-auth-card__body {
    padding: 28px 40px 40px
}

@media (max-width:767px) {
    body#page-auth .amerce-auth-card__body {
        padding: 24px 24px 32px
    }
}

body#page-auth .amerce-auth-card--horizontal .amerce-auth-card__media {
    min-height: 100%
}

body#page-auth .amerce-auth-card--horizontal .amerce-auth-card__banner {
    aspect-ratio: auto;
    height: 100%;
    min-height: 420px
}

body#page-auth .amerce-auth-card--horizontal .amerce-auth-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center
}

body#page-auth .amerce-auth-card--horizontal .amerce-auth-card__header {
    padding-top: 40px
}

@media (max-width:767px) {
    body#page-auth .amerce-auth-card--horizontal .amerce-auth-card__media {
        display: none
    }
}

body#page-auth .amerce-auth-card .form-group,
body#page-auth .amerce-auth-card .mb-3 {
    margin-bottom: 16px !important
}

body#page-auth .amerce-auth-card .form-label {
    font-family: var(--primary-font, "DM Sans"), sans-serif;
    font-size: 14px;
    line-height: 22px;
    font-weight: 500;
    color: var(--text);
    margin-bottom: 6px
}

body#page-auth .amerce-auth-card .form-label.required:after,
body#page-auth .amerce-auth-card .required>.form-label:after {
    content: "*";
    color: var(--primary);
    margin-inline-start: 4px
}

body#page-auth .amerce-auth-card .form-control,
body#page-auth .amerce-auth-card .form-select {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 11px 15px;
    height: auto;
    min-height: 48px;
    font-size: 15px;
    line-height: 24px;
    color: var(--text);
    box-shadow: none;
    transition: border-color .25s ease, box-shadow .25s ease
}

body#page-auth .amerce-auth-card .form-control::-moz-placeholder,
body#page-auth .amerce-auth-card .form-select::-moz-placeholder {
    color: var(--text-3)
}

body#page-auth .amerce-auth-card .form-control::placeholder,
body#page-auth .amerce-auth-card .form-select::placeholder {
    color: var(--text-3)
}

body#page-auth .amerce-auth-card .form-control:focus,
body#page-auth .amerce-auth-card .form-select:focus {
    border-color: var(--text);
    box-shadow: 0 0 0 3px rgba(16, 16, 16, .06)
}

body#page-auth .amerce-auth-card .form-control.is-invalid,
body#page-auth .amerce-auth-card .form-select.is-invalid {
    border-color: var(--critical)
}

body#page-auth .amerce-auth-card .form-control.is-valid,
body#page-auth .amerce-auth-card .form-select.is-valid {
    border-color: var(--success)
}

body#page-auth .amerce-auth-card .auth-input-icon {
    position: absolute;
    top: 24px;
    transform: translateY(-50%);
    inset-inline-start: 6px;
    background: transparent;
    border: 0;
    color: var(--text-2);
    z-index: 99;
    padding: 0 10px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: none
}

body#page-auth .amerce-auth-card .auth-input-icon svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.6
}

body#page-auth .amerce-auth-card .form-control.ps-5,
body#page-auth .amerce-auth-card input.ps-5 {
    padding-inline-start: 44px !important
}

body#page-auth .amerce-auth-card .input-password-toggle {
    color: var(--text-2);
    padding: 10px 14px
}

body#page-auth .amerce-auth-card .input-password-toggle svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.6
}

body#page-auth .amerce-auth-card .input-password-toggle:hover {
    color: var(--text)
}

body#page-auth .amerce-auth-card .iti,
body#page-auth .amerce-auth-card .iti--allow-dropdown {
    width: 100%
}

body#page-auth .amerce-auth-card .form-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-inline-start: 0;
    margin-bottom: 0
}

body#page-auth .amerce-auth-card .form-check .form-check-input {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid var(--text-3);
    margin: 0;
    cursor: pointer;
    float: none
}

body#page-auth .amerce-auth-card .form-check .form-check-input:checked {
    background-color: var(--text);
    border-color: var(--text)
}

body#page-auth .amerce-auth-card .form-check .form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(16, 16, 16, .08);
    border-color: var(--text)
}

body#page-auth .amerce-auth-card .form-check .form-check-label {
    margin-bottom: 0;
    font-size: 14px;
    color: var(--text-2);
    cursor: pointer
}

body#page-auth .amerce-auth-card .text-decoration-underline {
    color: var(--text);
    text-decoration: underline !important
}

body#page-auth .amerce-auth-card .text-decoration-underline:hover {
    color: var(--primary)
}

body#page-auth .amerce-auth-card .row,
body#page-auth .amerce-auth-card .row.g-0 {
    align-items: center
}

body#page-auth .amerce-auth-card .btn-auth-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    height: 52px;
    margin-top: 40px;
    padding: 0 24px;
    border: 0;
    border-radius: 60px;
    background: var(--text);
    color: var(--white);
    font-family: var(--primary-font, "DM Sans"), sans-serif;
    font-weight: 600;
    font-size: 15px;
    position: relative;
    overflow: hidden;
    transition: background .25s ease, color .25s ease, transform .2s ease
}

body#page-auth .amerce-auth-card .btn-auth-submit:focus,
body#page-auth .amerce-auth-card .btn-auth-submit:hover {
    background: var(--primary);
    color: var(--white)
}

body#page-auth .amerce-auth-card .btn-auth-submit:focus:after,
body#page-auth .amerce-auth-card .btn-auth-submit:hover:after {
    animation: shine-reverse 1.5s forwards
}

body#page-auth .amerce-auth-card .btn-auth-submit:after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(120deg, hsla(0, 0%, 100%, 0) 30%, hsla(0, 0%, 100%, .5), hsla(0, 0%, 100%, 0) 70%);
    top: 0;
    left: -100%;
    opacity: .6;
    pointer-events: none
}

body#page-auth .amerce-auth-card .btn-auth-submit svg {
    width: 18px;
    height: 18px;
    stroke-width: 1.6
}

body#page-auth .amerce-auth-card .d-grid {
    display: grid;
    gap: 12px;
    margin-top: 8px
}

body#page-auth .amerce-auth-card .alert {
    border-radius: 10px;
    font-size: 14px;
    padding: 12px 16px;
    margin-bottom: 16px
}

body#page-auth .amerce-auth-card .mt-3.text-center {
    margin-top: 20px !important;
    font-size: 14px;
    color: var(--text-2)
}

body#page-auth .amerce-auth-card .mt-3.text-center a {
    color: var(--text);
    font-weight: 600
}

body#page-auth .amerce-auth-card .mt-3.text-center a:hover {
    color: var(--primary)
}

body#page-auth .amerce-auth-card .invalid-feedback,
body#page-auth .amerce-auth-card .text-danger {
    font-size: 13px;
    color: var(--critical) !important;
    margin-top: 6px
}

body#page-auth[dir=rtl] .amerce-auth-card .auth-input-icon {
    left: auto;
    right: 6px
}

body#page-auth[dir=rtl] .amerce-auth-card .form-control.ps-5 {
    padding-inline-start: 15px !important;
    padding-inline-end: 44px !important
}

.tf-pin-btn {
    cursor: pointer;
    transition: all .3s ease;
    position: relative
}

.tf-pin-btn span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: transparent;
    border: 8px solid var(--white);
    transition: all .3s ease
}

.tf-pin-btn span:after,
.tf-pin-btn span:before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid var(--white);
    border-radius: 50%;
    transition: all .3s ease
}

.tf-pin-btn span:after {
    animation-delay: 1s !important
}

.tf-pin-btn span:after,
.tf-pin-btn span:before {
    animation: ripple-line 2s linear infinite
}

.tf-pin-btn.number {
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    height: 32px;
    width: 32px;
    border-radius: 50%;
    background-color: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #e9e9e9
}

.tf-pin-btn.number.show {
    color: var(--white)
}

.tf-pin-btn.number.show,
.tf-pin-btn.style-2.show span {
    background-color: var(--text)
}

.banner-lookbook {
    position: relative
}

.banner-lookbook .img-banner {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-lookbook .lookbook-item {
    position: absolute
}

.banner-lookbook .position1 {
    top: 39.5%;
    left: 28%
}

.banner-lookbook .position2 {
    top: 38.8%;
    left: 83.6%
}

.banner-lookbook .position3 {
    top: 46.8%;
    left: 50.7%
}

.banner-lookbook .position4 {
    top: 61.2%;
    left: 32.5%
}

.banner-lookbook .position5 {
    top: 51.8%;
    left: 61.7%
}

.banner-lookbook .position6 {
    top: 44.4%;
    left: 33.5%
}

.banner-lookbook .position7 {
    top: 63%;
    left: 21.5%
}

.banner-lookbook .position8 {
    top: 61.7%;
    left: 53.9%
}

.banner-lookbook .position9 {
    top: 83%;
    left: 81%
}

.banner-lookbook .position10 {
    top: 69%;
    left: 24.5%
}

.banner-lookbook .position11 {
    top: 42.7%;
    left: 11.9%
}

.banner-lookbook .position12 {
    top: 84%;
    left: 62%
}

.banner-lookbook .position13 {
    top: 9%;
    right: 67%
}

.banner-lookbook .position14 {
    top: 64%;
    left: 44%
}

.banner-lookbook .position15 {
    top: 9.4%;
    left: 69.5%
}

.banner-lookbook .position16 {
    top: 74.2%;
    left: 27.5%
}

.banner-lookbook .position17 {
    top: 84.4%;
    left: 52.5%
}

.banner-lookbook .position18 {
    top: 62.4%;
    left: 42.5%
}

.banner-lookbook .position19 {
    top: 29.2%;
    left: 21.5%
}

.banner-lookbook .position20 {
    top: 73%;
    left: 38%
}

.banner-lookbook .position21 {
    top: 76%;
    left: 74%
}

.banner-lookbook .position22 {
    top: 27.2%;
    left: 39.5%
}

.banner-lookbook .position23 {
    top: 48.2%;
    left: 34.5%
}

.banner-lookbook .position24 {
    top: 37.8%;
    left: 44.7%
}

.banner-lookbook .dropdown-menu {
    border: 0;
    border-radius: 0;
    background-color: transparent;
    margin: 0 0 0 10px !important
}

.banner-lookbook .dropdown.dropstart .dropdown-menu:after {
    right: -7px;
    border-left: 8px solid var(--white)
}

.banner-lookbook .dropdown.dropend .dropdown-menu:after,
.banner-lookbook .dropdown.dropstart .dropdown-menu:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent
}

.banner-lookbook .dropdown.dropend .dropdown-menu:after {
    left: -7px !important;
    right: unset !important;
    border-right: 8px solid var(--white) !important;
    border-left: unset !important
}

.banner-lookbook .dropdown.dropup .dropdown-menu:after {
    display: none
}

.banner-lookbook.style-2 .img-banner {
    min-height: 450px
}

@media (max-width:575px) {
    .banner-lookbook.style-2 .lookbook-product {
        margin: 15px;
        border-radius: 8px
    }
}

.banner-lookbook.style-3 {
    height: unset
}

.banner-lookbook.style-3 .img-banner {
    min-height: 200px
}

@media (min-width:576px) {
    .banner-lookbook .dropdown-menu {
        z-index: 99
    }
}

@media (min-width:992px) {
    .banner-lookbook .lookbook-product {
        margin: -54px 0
    }

    .banner-lookbook .dropdown-menu {
        margin: 0 10px !important
    }
}

@media (min-width:1200px) {
    .banner-lookbook .dropdown-menu {
        margin: 0 25px !important
    }
}

@media (max-width:1199px) {
    .banner-lookbook {
        height: 600px
    }
}

@media (max-width:991px) {
    .banner-lookbook .position2 .dropdown-menu {
        margin: 0 0 0 -15px !important
    }
}

@media (max-width:575px) {
    .banner-lookbook {
        height: 400px
    }

    .banner-lookbook .img-banner {
        min-height: 400px
    }

    .banner-lookbook .lookbook-product {
        transition: all .3s ease;
        border-radius: 0;
        width: 100%
    }

    .banner-lookbook .dropdown-menu {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        right: 0 !important;
        left: 0 !important;
        transform: unset !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex;
        align-items: end;
        opacity: 0;
        visibility: hidden;
        transition: all .3s ease;
        background: rgba(0, 0, 0, .5)
    }

    .banner-lookbook .dropdown-menu.show {
        opacity: 1;
        visibility: visible
    }

    .banner-lookbook .dropdown-menu.pst-2 {
        align-items: start
    }
}

.lookbook-product {
    padding: 12px;
    min-width: 280px;
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .15)
}

.lookbook-product .name-prd {
    margin-bottom: 4px
}

.lookbook-product .image {
    max-width: 88px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden
}

.lookbook-product .image img {
    aspect-ratio: 1;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:767px) {
    .lookbook-product {
        min-width: -moz-max-content;
        min-width: max-content;
        gap: 12px
    }

    .lookbook-product .image {
        max-width: 80px
    }
}

@media (max-width:991px) {
    .lookbook-product {
        min-width: 250px
    }
}

@media (max-width:575px) {
    .lookbook-product {
        box-shadow: unset;
        border: 1px solid var(--line)
    }
}

@media (min-width:576px) {
    .wrap-lookbook_hover .lookbook-item {
        opacity: 1;
        transition: all .3s ease
    }

    .wrap-lookbook_hover:has(.lookbook-item:hover) .lookbook-item:not(:hover) {
        opacity: .5
    }
}

.group-btn,
.group-btn-slider {
    display: flex;
    align-items: center
}

.group-btn-slider {
    gap: 8px
}

.wg-comment .box-comment>.comment_text,
.wg-comment .title {
    margin-bottom: 24px
}

.wg-comment .box-comment:last-child>.comment_text {
    margin-bottom: 0
}

.wg-comment .comment-list {
    display: grid;
    gap: 24px
}

.wg-comment .comment_info {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px
}

.wg-comment .info_image {
    border-radius: 50%;
    overflow: hidden
}

.wg-comment .comment_reply {
    margin-left: 30px;
    padding-left: 16px;
    border-left: 2px solid var(--line)
}

.wg-comment .info_author {
    display: grid;
    gap: 4px
}

@media (min-width:1200px) {
    .wg-comment .comment_reply {
        margin-left: 60px;
        border-left: 4px solid var(--line)
    }
}

.wg-leave-comment .title {
    margin-bottom: 24px
}

.category-v01 {
    display: grid
}

.category-v01 .cate-image {
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 16px
}

.category-v01.style-2 .cate-image {
    border-radius: 12px
}

.category-v02 {
    display: grid;
    place-items: center;
    background: var(--bg);
    border-radius: 16px;
    padding: 28px 15px
}

.category-v02 .cate-image {
    max-width: 120px;
    margin-bottom: 16px
}

.category-v02 .cate-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.category-v02 .cate_name {
    margin-bottom: 4px
}

.category-v02.style-2 {
    background: rgba(205, 62, 52, .102)
}

.category-v02.style-2 .cate-sale {
    border-radius: 50%;
    background: var(--primary);
    display: grid;
    max-width: 120px;
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 16px
}

.category-v02.style-3 {
    padding-top: 12px;
    padding-bottom: 12px
}

.category-v02.style-3 .cate-image {
    max-width: 100px
}

.category-v03 {
    position: relative;
    display: grid
}

.category-v03 .cate-image {
    border-radius: 16px;
    overflow: hidden
}

.category-v03 .cate-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.category-v03 .cate-content {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px
}

.category-v03 .cate_name {
    padding: 8px 16px;
    background: var(--white);
    border-radius: 100px;
    display: inline-flex;
    align-items: center
}

.category-v03 .cate_name .icon {
    font-size: 24px;
    margin-left: 8px;
    transition: all .3s ease
}

.category-v03 .cate_name:not(:hover) .icon {
    font-size: 0;
    transform: scale(0);
    margin-left: 0
}

.category-v03 .cate_name:hover {
    background: var(--text);
    color: var(--white)
}

.category-v03.style-3 .cate_name {
    border-radius: 0;
    min-width: 140px;
    justify-content: center;
    align-items: center
}

@media (min-width:1200px) {
    .category-v03.style-2 .cate_name {
        padding: 12px 40px
    }

    .category-v03.style-3 .cate_name {
        padding: 12px 16px
    }
}

@media (max-width:991px) {
    .category-v03 .cate-content {
        bottom: 15px;
        left: 15px;
        right: 15px
    }
}

.category-v04 .cate-image {
    border-radius: 999px;
    margin-bottom: 20px
}

.category-v04 .cate-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.category-v04 .cate_name {
    margin-bottom: 4px
}

.category-v05 {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 12px 16px;
    border-radius: 12px
}

.category-v05 .cate-image {
    flex-shrink: 0;
    max-width: 60px;
    border-radius: 6px;
    overflow: hidden
}

.category-v05 .cate_name {
    margin-bottom: 4px
}

.category-v05 .cate-icon {
    font-size: 60px
}

.category-v05.bg-v1 {
    background: #f3f5ea
}

.category-v05.bg-v2 {
    background: #eaedf5
}

.category-v05.bg-v3 {
    background: #f5eaf3
}

.category-v05.bg-v4 {
    background: #eaf5f2
}

.category-v05.bg-v5 {
    background: #f5f2ea
}

.category-v05.bg-v6 {
    background: #eaeff5
}

.category-v05.bg-v7 {
    background: #f5eaee
}

@media (max-width:1199px) {
    .category-v05 {
        flex-direction: column;
        justify-content: center;
        text-align: center
    }
}

.category-v06 {
    position: relative
}

.category-v06 .cate-content {
    position: absolute;
    bottom: 12px;
    left: 12px;
    padding: 12px 20px;
    border-radius: 8px;
    background: var(--white)
}

.category-v06 .cate_name {
    margin-bottom: 4px
}

.category-v06 .cate-image {
    display: flex;
    overflow: hidden;
    border-radius: 16px
}

.category-v06 .cate-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.category-v06.style-2 .cate-content {
    right: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    transition: all .3s ease
}

.category-v06.style-2 .cate-content:hover {
    background: var(--text)
}

.category-v06.style-2 .cate-content:hover .cate_name {
    color: var(--white)
}

.category-v06.style-2 .cate-content:hover .cate_quantity {
    color: var(--line)
}

.category-v06.style-2 .cate_name {
    margin-bottom: 0;
    transition: all .3s ease
}

.category-v06.style-2 .cate_quantity {
    color: var(--text-2);
    transition: all .3s ease
}

@media (min-width:1200px) {
    .category-v06.style-2 .cate-content {
        left: 16px;
        right: 16px;
        bottom: 19px
    }
}

.category-v07 .cate-image {
    border-radius: 16px
}

.category-v08 .cate-image {
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 16px
}

.category-v08 .cate_name {
    margin-bottom: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--primary);
    transition: all .3s ease
}

.category-v08 .cate_name .icon {
    transition: all .3s ease
}

.category-v08:not(:hover) .cate_name {
    color: var(--text)
}

.category-v08:not(:hover) .cate_name .icon {
    font-size: 0
}

.box-image_img {
    display: inline-flex;
    width: 100%
}

.box-image_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.box-image_content {
    position: absolute;
    display: flex;
    align-items: start;
    flex-direction: column
}

.box-image_v01 {
    position: relative;
    display: flex
}

.box-image_v01 .box-image_content {
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    align-items: center
}

.box-image_v01.style-2 .box-image_img {
    border-radius: 12px;
    overflow: hidden;
    position: relative
}

.box-image_v01.style-2 .box-image_img img {
    aspect-ratio: 1.6176470588;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.box-image_v01.style-2 .box-image_img:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .2)
}

@media (max-width:575px) {
    .box-image_v01 .box-image_img img {
        height: 300px
    }
}

.box-image_v02 {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    display: flex
}

.box-image_v02 .box-image_content {
    inset: 20px 15px
}

.box-image_v02 .box-image_img img {
    min-height: 220px
}

.box-image_v02 .title {
    margin-bottom: 4px
}

.box-image_v02 .desc {
    margin-bottom: 20px
}

.box-image_v02 .btn-action {
    margin-top: auto
}

@media (min-width:768px) {
    .box-image_v02 .box-image_img img {
        min-height: 280px
    }
}

@media (min-width:1200px) {
    .box-image_v02.style-2 .title {
        margin-bottom: 8px
    }

    .box-image_v02 .box-image_content {
        inset: 36px
    }

    .box-image_v02 .desc {
        margin-bottom: 28px
    }
}

@media (min-width:1440px) {
    .box-image_v02:not(.style-2) .btn-action {
        margin-top: 0
    }
}

@media (max-width:767px) {
    .box-image_v02 .box-image_img img {
        min-height: 250px
    }
}

.box-image_v03 {
    position: relative;
    display: flex;
    border-radius: 16px;
    overflow: hidden
}

.box-image_v03 .box-image_content {
    left: 0;
    right: 0;
    bottom: 0
}

.box-image_v03 .title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    padding: 16px 20px;
    background: var(--bg)
}

.box-image_v03 .title .icon {
    font-size: 24px;
    transition: all .3s ease
}

.box-image_v03 .title:hover .icon {
    transform: rotate(45deg)
}

.box-image_v04 {
    position: relative;
    display: flex;
    border-radius: 16px;
    overflow: hidden
}

.box-image_v04 .box-image_img img {
    min-height: 350px
}

.box-image_v04 .box-image_content {
    left: 20px;
    bottom: 20px
}

.box-image_v04 .title {
    margin-bottom: 8px
}

.box-image_v04 .desc {
    margin-bottom: 12px
}

.box-image_v04.type-2 .title {
    margin-bottom: 4px
}

.box-image_v04.type-2 .desc {
    margin-bottom: 16px
}

.box-image_v04.type-3 .title {
    margin-bottom: 4px
}

.box-image_v04.type-3 .desc {
    margin-bottom: 12px
}

@media (min-width:1200px) {
    .box-image_v04 .box-image_content {
        left: 40px;
        bottom: 36px
    }

    .box-image_v04.type-2 .box-image_content {
        left: 32px;
        bottom: 32px
    }

    .box-image_v04.type-3 .box-image_content {
        left: 36px;
        bottom: 36px
    }
}

@media (max-width:767px) {
    .box-image_v04.type-2 .box-image_img img {
        max-height: 300px
    }
}

@media (max-width:575px) {
    .box-image_v04 .box-image_img img {
        min-height: 300px
    }
}

.box-image_v05 {
    position: relative;
    border-radius: 12px;
    overflow: hidden
}

.box-image_v05 .box-image_img {
    display: flex
}

.box-image_v05 .box-image_content {
    top: 21px;
    left: 24px;
    right: 26px
}

@media (max-width:767px) {
    .box-image_v05 .box-image_content {
        top: 20px;
        left: 15px;
        right: 15px
    }
}

.box-image_v06 {
    position: relative;
    border-radius: 16px;
    overflow: hidden
}

.box-image_v06 .box-image_content {
    left: 15px;
    right: 15px;
    bottom: 15px
}

.box-image_v06 .box-image_img {
    display: flex
}

.box-image_v06 .box-image_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    min-height: 300px
}

@media (min-width:1200px) {
    .box-image_v06 .box-image_content {
        left: 32px;
        right: 32px;
        bottom: 28px
    }

    .box-image_v06.style-2 .box-image_content {
        left: 24px;
        right: 24px;
        bottom: 24px
    }
}

.box-image_v07 {
    position: relative;
    display: flex
}

.box-image_v07 .box-image_content {
    left: 60px;
    right: 60px;
    bottom: 60px
}

.box-image_v07 .box-image_img {
    border-radius: 16px;
    overflow: hidden;
    display: flex
}

.box-image_v07 .box-image_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:1199px) {
    .box-image_v07 .box-image_content {
        left: 40px;
        right: 40px;
        bottom: 40px
    }
}

@media (max-width:991px) {
    .box-image_v07 .box-image_content {
        left: 20px;
        right: 20px;
        bottom: 20px
    }
}

.gallery-item {
    position: relative;
    overflow: hidden;
    display: flex;
    border-radius: 8px
}

.gallery-item .box-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--white);
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--black)
}

.gallery-item .box-icon:hover {
    background-color: var(--black);
    color: var(--white)
}

.gallery-item.style-2 {
    border-radius: 12px
}

.gallery-item.style-2 .box-icon {
    border-radius: 8px
}

@media (min-width:992px) {
    .gallery-item .box-icon {
        opacity: 0;
        visibility: hidden
    }

    .gallery-item:hover .box-icon {
        opacity: 1;
        visibility: visible
    }
}

@media (min-width:1200px) {
    .gallery-item .box-icon {
        font-size: 24px
    }
}

@media (min-width:1440px) {
    .gallery-item.style-2 .box-icon {
        width: 60px;
        height: 60px;
        font-size: 32px
    }
}

.banner-image-text {
    display: flex
}

.banner-image-text.type-abs {
    position: relative;
    height: 100%
}

.banner-image-text.type-abs .bn-content {
    position: absolute;
    display: flex;
    align-items: start;
    flex-direction: column
}

.banner-image-text .bn-image {
    display: inline-flex;
    width: 100%
}

.banner-image-text .bn-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-image-text .bn-image {
    border-radius: 16px;
    overflow: hidden
}

.banner-image-text.style-1 .bn-content {
    left: 20px;
    top: 20px;
    bottom: 20px
}

.banner-image-text.style-1 .title {
    margin-bottom: 8px
}

.banner-image-text.style-1 .btn-action {
    margin-top: auto
}

.banner-image-text.style-1 .bn-image img {
    min-height: 300px;
    max-height: 400px
}

.banner-image-text.style-2 .bn-content {
    left: 20px;
    top: 20px;
    bottom: 20px;
    justify-content: center
}

.banner-image-text.style-2 .title {
    margin-bottom: 12px
}

.banner-image-text.style-2 .desc {
    margin-bottom: 24px
}

.banner-image-text.style-2 .bn-image img {
    min-height: 400px
}

.banner-image-text.style-3 .bn-image {
    border-radius: 0
}

.banner-image-text.style-3 .bn-content {
    left: 20px;
    right: 20px;
    bottom: 24px;
    flex-direction: row;
    justify-content: space-between;
    align-items: end;
    flex-wrap: wrap;
    gap: 12px
}

.banner-image-text.style-3 .title {
    margin-bottom: 8px
}

.banner-image-text.style-3 .bn-image img {
    min-height: 400px
}

.banner-image-text.style-4 .bn-content {
    top: 20px;
    left: 20px
}

.banner-image-text.style-4 .title {
    margin-bottom: 8px
}

.banner-image-text.style-4 .desc {
    margin-bottom: 20px
}

.banner-image-text.style-5 {
    gap: 12px;
    flex-direction: column
}

.banner-image-text.style-5 .bn-content {
    padding: 20px;
    border-radius: 16px;
    background: var(--bg-2);
    display: flex;
    flex-direction: column;
    align-items: start
}

.banner-image-text.style-5 .title {
    margin-bottom: 12px
}

.banner-image-text.style-5 .desc {
    margin-bottom: 20px
}

.banner-image-text.style-5 .btn-action {
    margin-top: auto
}

.banner-image-text.style-6 .bn-content {
    top: 20px;
    left: 20px;
    right: 20px
}

.banner-image-text.style-6 .title {
    margin-bottom: 20px
}

.banner-image-text.style-6 .desc {
    margin-bottom: 8px
}

.banner-image-text.style-7 .bn-image img {
    min-height: 350px
}

.banner-image-text.style-7 .bn-content {
    top: 20px;
    left: 20px;
    right: 20px
}

.banner-image-text.style-7 .title {
    margin-bottom: 12px
}

.banner-image-text.style-7 .desc {
    margin-bottom: 20px
}

.banner-image-text.style-8 .bn-content {
    top: 20px;
    left: 20px;
    right: 20px
}

.banner-image-text.style-8 .desc {
    margin-bottom: 8px
}

.banner-image-text.style-8 .title {
    margin-bottom: 24px
}

.banner-image-text.style-9:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(0deg, rgba(16, 16, 16, 0), rgba(16, 16, 16, .6));
    z-index: 0;
    border-radius: 16px
}

.banner-image-text.style-9 .bn-content {
    top: 20px;
    left: 20px;
    right: 20px;
    z-index: 2
}

.banner-image-text.style-9 .bn-image img {
    min-height: 320px
}

.banner-image-text.style-9 .title {
    margin-bottom: 8px
}

.banner-image-text.style-9 .desc {
    margin-bottom: 28px
}

.banner-image-text.style-10 {
    border-radius: 20px;
    overflow: hidden
}

.banner-image-text.style-10 .bn-image {
    border-radius: 20px;
    overflow: hidden;
    position: relative
}

.banner-image-text.style-10 .bn-image img {
    min-height: 350px;
    aspect-ratio: 2.9375
}

.banner-image-text.style-10 .bn-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--text);
    opacity: .2
}

.banner-image-text.style-10 .bn-content {
    inset: 20px;
    justify-content: center
}

.banner-image-text.style-10 .mini-title,
.banner-image-text.style-10 .title {
    margin-bottom: 12px
}

.banner-image-text.style-10 .desc {
    margin-bottom: 24px
}

.banner-image-text.style-11:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180.52deg, rgba(91, 19, 72, 0) 51.85%, #5b1348 122.82%);
    z-index: 1
}

.banner-image-text.style-11 .bn-image {
    border-radius: 0
}

.banner-image-text.style-11 .bn-image img {
    min-height: 350px
}

.banner-image-text.style-11 .bn-content {
    bottom: 18px;
    left: 20px;
    right: 20px;
    z-index: 2
}

.banner-image-text.style-11 .title {
    margin-bottom: 12px
}

.banner-image-text.style-11 .desc {
    margin-bottom: 24px
}

.banner-image-text.style-12 .bn-image {
    border-radius: 0
}

.banner-image-text.style-12 .bn-content {
    left: 20px;
    right: 20px;
    bottom: 30px
}

.banner-image-text.style-12 .desc {
    margin-bottom: 8px
}

.banner-image-text.style-12 .title,
.banner-image-text.style-13 .title {
    margin-bottom: 24px
}

.banner-image-text.style-13 .bn-content {
    top: 20px;
    left: 20px;
    right: 20px
}

.banner-image-text.style-13 .bn-image {
    border-radius: 0
}

.banner-image-text.style-13 .bn-image img {
    min-height: 300px
}

.banner-image-text.style-14 .bn-image {
    border-radius: 0
}

.banner-image-text.style-14 .bn-image img {
    min-height: 450px
}

.banner-image-text.style-14 .bn-content {
    bottom: 20px;
    left: 20px;
    right: 20px
}

.banner-image-text.style-14 .title {
    margin-bottom: 8px
}

.banner-image-text.style-14 .desc {
    margin-bottom: 24px
}

.banner-image-text.style-14.type-2 .bn-image {
    border-radius: 20px
}

.banner-image-text.style-14.type-2 .bn-image img {
    min-height: 300px
}

@media (max-width:991px) {
    .banner-image-text.style-15 .bn-image {
        max-height: 600px
    }
}

.banner-image-text.style-15 .bn-content {
    top: 60px;
    left: 15px;
    right: 15px;
    text-align: center;
    align-items: center
}

.banner-image-text.style-16 {
    max-height: 450px
}

.banner-image-text.style-16 .bn-content {
    inset: 0;
    padding: 21px 26px 21px 24px
}

.banner-image-text.style-17 .bn-content {
    bottom: 10px;
    left: 10px
}

@media (min-width:768px) {
    .banner-image-text.style-17 .bn-content {
        bottom: 24px;
        left: 24px
    }
}

.banner-image-text.style-17.large .bn-content {
    bottom: 0;
    left: 0;
    right: 0;
    padding: 28px 32px
}

@media (max-width:767px) {
    .banner-image-text.style-17.large .bn-content {
        padding: 28px 15px
    }
}

.banner-image-text.style-18 {
    height: unset;
    margin-bottom: 46px
}

@media (max-width:767px) {
    .banner-image-text.style-18 img {
        min-height: 450px
    }
}

.banner-image-text.style-18 .bn-content {
    inset: 0;
    padding: 32px
}

.banner-image-text.style-18.v2 .bn-content {
    padding: 36px
}

.banner-image-text.style-19 {
    height: unset
}

.banner-image-text.style-19 .bn-image {
    border-radius: 0
}

@media (max-width:767px) {
    .banner-image-text.style-19 .bn-image img {
        min-height: 450px
    }
}

.banner-image-text.style-19 .bn-content {
    inset: 0;
    padding: 28px
}

@media (max-width:767px) {
    .banner-image-text.style-19 .bn-content {
        padding: 15px
    }
}

.banner-image-text.style-20 {
    height: unset
}

.banner-image-text.style-20 .bn-image {
    border-radius: 0
}

.banner-image-text.style-20 .bn-image img {
    min-height: 400px
}

.banner-image-text.style-20 .bn-content {
    inset: 0;
    padding: 28px;
    display: flex;
    justify-content: end
}

@media (max-width:767px) {
    .banner-image-text.style-20 .bn-content {
        padding: 15px
    }
}

.banner-image-text.style-top-left {
    position: relative;
    height: 100%
}

.banner-image-text.style-top-left .bn-content {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px
}

.banner-image-text.style-top-left .bn-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:991px) {
    .banner-image-text.style-top-left .bn-image img {
        max-height: 500px
    }
}

.banner-image-text.style-top-left.tl-3 .bn-image img {
    min-height: 300px
}

.banner-image-text.style-left-center {
    position: relative
}

.banner-image-text.style-left-center .bn-content {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    inset: 20px
}

.banner-image-text.style-left-center .bn-image img {
    min-height: 300px
}

.banner-image-text.style-bottom {
    position: relative
}

.banner-image-text.style-bottom .bn-content {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px
}

.banner-image-text.style-bottom .bn-image img {
    min-height: 400px
}

.banner-image-text.style-bottom.bt-center .bn-content {
    display: grid;
    place-items: center;
    text-align: center
}

@media (min-width:1200px) {
    .banner-image-text.style-1 .bn-content {
        left: 40px;
        top: 40px;
        bottom: 40px
    }

    .banner-image-text.style-1 .bn-image img {
        min-height: 350px
    }

    .banner-image-text.style-2 .bn-content {
        left: 80px
    }

    .banner-image-text.style-2 .desc {
        margin-bottom: 32px
    }

    .banner-image-text.style-3 .bn-content {
        left: 32px;
        right: 32px
    }

    .banner-image-text.style-4 .bn-content {
        top: 36px;
        left: 36px
    }

    .banner-image-text.style-4 .desc {
        margin-bottom: 24px
    }

    .banner-image-text.style-5 {
        flex-direction: row
    }

    .banner-image-text.style-5 .bn-content {
        padding: 28px
    }

    .banner-image-text.style-5 .bn-image {
        max-width: 300px
    }

    .banner-image-text.style-6 .bn-content {
        left: 48px;
        top: 48px;
        right: 48px
    }

    .banner-image-text.style-6 .title {
        margin-bottom: 32px
    }

    .banner-image-text.style-7 .bn-content {
        top: 36px;
        left: 28px;
        right: 28px
    }

    .banner-image-text.style-7 .desc {
        margin-bottom: 28px
    }

    .banner-image-text.style-8 .bn-content {
        top: 40px;
        left: 45px;
        right: 45px
    }

    .banner-image-text.style-9 .bn-content {
        top: 50px;
        left: 40px;
        right: 40px
    }

    .banner-image-text.style-10 .desc {
        margin-bottom: 32px
    }

    .banner-image-text.style-12 .bn-content {
        bottom: 84px
    }

    .banner-image-text.style-13 .title {
        margin-bottom: 40px
    }

    .banner-image-text.style-13 .bn-content {
        top: 37px;
        left: 37px;
        right: 37px
    }

    .banner-image-text.style-14 .bn-content {
        bottom: 60px;
        left: 60px;
        right: 60px
    }

    .banner-image-text.style-14 .title {
        margin-bottom: 15px
    }

    .banner-image-text.style-14 .desc {
        margin-bottom: 40px
    }

    .banner-image-text.style-14.type-2 .title {
        margin-bottom: 16px
    }

    .banner-image-text.style-top-left .bn-content {
        top: 32px;
        left: 32px;
        right: 32px
    }

    .banner-image-text.style-top-left.tl-2 .bn-content {
        top: 28px;
        left: 28px;
        right: 28px
    }

    .banner-image-text.style-top-left.tl-3 .bn-content {
        top: 48px;
        left: 48px;
        right: 48px
    }

    .banner-image-text.style-top-left.tl-4 .bn-content {
        top: 36px;
        left: 36px;
        right: 36px
    }

    .banner-image-text.style-bottom .bn-content {
        bottom: 40px;
        left: 40px;
        right: 40px
    }
}

@media (min-width:1440px) {
    .banner-image-text.style-5 .bn-image {
        max-width: 380px
    }
}

@media (max-width:1599px) {
    .banner-image-text.style-3 {
        position: relative
    }

    .banner-image-text.style-3:after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(0deg, rgba(0, 0, 0, .8) 0, rgba(0, 0, 0, .4) 20%, transparent 55%)
    }

    .banner-image-text.style-3 .bn-content {
        z-index: 2
    }
}

@media (max-width:1199px) {
    .banner-image-text.style-5 .bn-image img {
        max-height: 400px
    }

    .banner-image-text.style-7 {
        overflow: hidden
    }

    .banner-image-text.style-7:after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, .3);
        z-index: 0;
        border-radius: 16px
    }

    .banner-image-text.style-7 .bn-content {
        z-index: 1
    }
}

@media (max-width:991px) {
    .banner-image-text.style-9 .bn-image img {
        max-height: 400px
    }
}

@media (max-width:767px) {
    .banner-image-text.style-2 .bn-content {
        z-index: 1
    }

    .banner-image-text.style-2:after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: linear-gradient(270deg, rgba(6, 6, 11, .3) 50%, rgba(6, 6, 11, .702) 80%)
    }

    .banner-image-text.style-13 .bn-image img,
    .banner-image-text.style-4 .bn-image img,
    .banner-image-text.style-6 .bn-image img,
    .banner-image-text.style-7 .bn-image img {
        max-height: 400px
    }

    .banner-image-text.style-14:after {
        content: "";
        position: absolute;
        inset: 0;
        backdrop-filter: blur(5px);
        background: hsla(0, 0%, 100%, .2);
        z-index: 0
    }

    .banner-image-text.style-14 .bn-content {
        z-index: 1
    }
}

.coupon-copy-wrap {
    display: flex;
    gap: 4px;
    align-items: center;
    padding: 12px 20px;
    background: var(--primary);
    color: var(--white);
    border-radius: 44px
}

.countdown-v01 .countdown__timer {
    display: flex;
    gap: 24px
}

.countdown-v01 .countdown__item {
    display: grid;
    place-items: center
}

.countdown-v01 .countdown__item:last-child {
    min-width: 60px
}

.countdown-v01 .countdown__value {
    font-weight: 500;
    font-size: clamp(30px, 4.2vw, 44px);
    line-height: clamp(38px, 5vw, 50px)
}

.countdown-v01 .countdown__custom {
    font-weight: 500;
    font-size: clamp(24px, 3.5vw, 30px);
    line-height: clamp(34px, 4.2vw, 44px)
}

.countdown-v01.style-2 .countdown__timer {
    gap: 16px
}

@media (max-width:767px) {
    .countdown-v01 .countdown__timer {
        gap: 12px
    }

    .countdown-v01 .countdown__item:last-child {
        min-width: 50px
    }
}

.countdown-v02 .countdown__timer {
    display: flex;
    gap: 12px
}

.countdown-v02 .countdown__item {
    display: grid;
    place-items: center
}

.countdown-v02 .countdown__item:last-child {
    min-width: 70px
}

.countdown-v02 .countdown__value {
    font-size: clamp(34px, 5vw, 56px);
    line-height: clamp(44px, 6vw, 68px);
    font-weight: 500
}

.countdown-v02 .countdown__custom {
    font-size: clamp(28px, 3.8vw, 40px);
    line-height: clamp(40px, 4.5vw, 63px);
    font-weight: 500
}

.countdown-v02 .countdown__label {
    color: var(--text-3)
}

.countdown-v02.full-white {
    color: var(--white)
}

.countdown-v02.full-white .countdown__label {
    margin-top: -3px;
    color: var(--white)
}

@media (min-width:1440px) {
    .countdown-v02 .countdown__timer {
        gap: 24px
    }

    .countdown-v02:not(.full-white) .countdown__label {
        font-size: 18px;
        line-height: 28px
    }
}

@media (max-width:767px) {
    .countdown-v02 .countdown__item:last-child {
        min-width: 50px
    }
}

.countdown-v03 .countdown__timer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    max-width: 280px;
    width: 100%
}

.countdown-v03 .countdown__item {
    display: grid;
    place-items: center
}

.countdown-v03 .countdown__item:last-child {
    min-width: 42px
}

.countdown-v03 .countdown__value {
    font-weight: 500;
    margin-bottom: -4px
}

.countdown-v03 .countdown__label {
    font-size: 14px;
    line-height: 22px
}

.countdown-v04 .countdown__timer {
    display: flex;
    align-items: center;
    gap: 8px
}

.countdown-v04 .countdown__item {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--text);
    border-radius: 4px
}

.countdown-v04 .countdown__value {
    color: var(--white);
    font-weight: 500
}

.countdown-v05 .countdown__timer {
    display: flex;
    align-items: center;
    gap: 8px
}

.countdown-v05 .countdown__item {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 50%;
    border: 1px solid var(--line)
}

.countdown-v05 .countdown__value {
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    margin-bottom: -3px
}

.countdown-v05 .countdown__label {
    color: var(--text-2);
    font-size: 12px;
    line-height: 16px
}

.countdown-v06 .countdown__timer {
    display: flex;
    justify-content: space-between
}

.countdown-v06 .countdown__item {
    display: grid;
    text-align: center;
    padding: 12px;
    background: #262423;
    max-width: 90px;
    width: 100%
}

.countdown-v06 .countdown__value {
    font-size: clamp(30px, 4.2vw, 44px);
    line-height: clamp(38px, 5vw, 50px)
}

.countdown-v07 .countdown__custom:after,
.countdown-v07 .countdown__custom:before {
    content: " "
}

.countdown-v07 .countdown__item:last-child .countdown__value {
    display: inline-flex;
    min-width: 78px
}

.countdown-v08 {
    color: var(--critical)
}

.countdown-v08 .countdown__timer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px
}

.countdown-v08 .countdown__item {
    display: flex;
    align-items: center;
    gap: 4px
}

.countdown-v08 .countdown__item:last-child {
    min-width: 112px
}

@media (max-width:991px) {
    .countdown-v08 .countdown__timer {
        gap: 4px
    }
}

.wg-quantity {
    display: flex;
    justify-content: space-between;
    border: 1px solid var(--line);
    padding: 12px 19px;
    border-radius: 100px;
    overflow: hidden;
    min-width: 150px;
    flex-shrink: 0
}

.wg-quantity .quantity-product {
    width: 40px;
    padding: 0;
    background-color: transparent;
    border: 0;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    vertical-align: middle;
    color: var(--black);
    pointer-events: none
}

.wg-quantity .btn-quantity {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--black);
    cursor: pointer;
    transition: all .3s ease
}

.wg-quantity .btn-quantity:hover {
    color: var(--primary)
}

.wg-quantity.style-2 {
    border-radius: 8px;
    min-width: 140px;
    padding-left: 15px;
    padding-right: 15px
}

@media (min-width:1200px) {
    .wg-quantity {
        min-width: 180px
    }
}

@media (max-width:767px) {
    .wg-quantity {
        min-width: unset
    }
}

.wg-quantity-v2 {
    border: 1px solid var(--line);
    position: relative
}

.wg-quantity-v2 .quantity-product {
    padding: 8px 0 8px 20px;
    border: 0;
    text-align: start;
    vertical-align: middle;
    pointer-events: none;
    width: 78px;
    font-weight: 600
}

.wg-quantity-v2 .group-action {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.wg-quantity-v2 .group-action .btn-quantity {
    display: flex;
    line-height: 1
}

.wg-thumb-v1 {
    position: relative;
    height: 100%
}

.wg-thumb-v1 .thumb-image {
    height: 100%
}

.wg-thumb-v1 .thumb-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1.2912087912
}

.wg-thumb-v1 .thumb-prd {
    display: flex;
    align-items: center;
    position: absolute;
    gap: 20px;
    background: var(--white);
    padding: 12px;
    border-radius: 8px;
    left: 20px;
    bottom: 20px
}

.wg-thumb-v1 .prd_info {
    max-width: 200px
}

.wg-thumb-v1 .btn-action {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg)
}

.wg-thumb-v1 .btn-action .icon {
    font-size: 20px
}

.wg-thumb-v1 .btn-action:hover {
    color: var(--white);
    background: var(--text)
}

@media (max-width:1199px) {
    .wg-thumb-v1 .thumb-image img {
        min-height: 400px;
        max-height: 500px
    }
}

@media (max-width:575px) {
    .wg-thumb-v1 .thumb-prd {
        flex-direction: column;
        text-align: center;
        left: 15px;
        bottom: 15px
    }
}

.box-bundle-save {
    padding: 20px;
    border: 4px solid var(--text);
    border-radius: 16px
}

.box-bundle-save .bundle-progress {
    height: 4px;
    margin-top: 6px;
    margin-bottom: 6px;
    border-radius: 1000px;
    overflow: visible
}

.box-bundle-save .progress-bar {
    border-radius: 1000px;
    background: var(--text);
    position: relative;
    overflow: visible
}

.box-bundle-save .progress-bar:after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    right: 0;
    background: var(--text)
}

.bundle-prd {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding-top: 20px;
    padding-bottom: 19px;
    border-bottom: 1px solid var(--line)
}

.bundle-prd .prd-info {
    display: grid;
    gap: 4px
}

.bundle-prd .prd-info .info_name {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden
}

.bundle-prd .prd-action {
    display: flex;
    gap: 12px
}

@media (min-width:426px) {
    .bundle-prd {
        gap: 24px
    }

    .bundle-prd .prd-info {
        flex: 1
    }

    .bundle-prd .prd-action {
        display: grid;
        place-items: end
    }
}

@media (max-width:425px) {
    .bundle-prd .prd-action {
        justify-content: space-between;
        width: 100%
    }
}

.bundle-prd-v2 {
    display: flex;
    align-items: center;
    gap: 24px
}

.bundle-prd-v2 .prd-order {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--bg);
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    transition: all .3s ease;
    flex-shrink: 0
}

.bundle-prd-v2 .prd-image {
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0
}

.bundle-prd-v2 .prd-info {
    display: grid;
    place-items: start;
    gap: 12px
}

.bundle-prd-v2 .info_typo {
    display: flex;
    align-items: center;
    gap: 16px
}

.bundle-prd-v2.active .prd-order {
    background: var(--text);
    border-color: var(--text);
    color: var(--white)
}

@media (min-width:426px) {
    .bundle-prd-v2 .prd-info {
        flex: 1
    }
}

@media (max-width:767px) {
    .bundle-prd-v2 {
        gap: 18px;
        flex-wrap: wrap
    }

    .bundle-prd-v2 .prd-order {
        width: 28px;
        height: 28px
    }

    .bundle-prd-v2 .prd-image {
        max-width: 88px
    }

    .bundle-prd-v2 .info_typo {
        gap: 8px
    }
}

@media (max-width:575px) {
    .bundle-prd-v2 .prd-order {
        display: none
    }
}

@media (max-width:425px) {
    .bundle-prd-v2 .prd-info {
        width: calc(100% - 106px)
    }
}

.box-why {
    display: grid;
    text-align: center;
    gap: 12px
}

.banner-why-choose {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    border-radius: 20px;
    background: var(--bg);
    padding: 48px
}

.banner-why-choose .bn-image {
    border-radius: 20px;
    overflow: hidden
}

.banner-why-choose .bn-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-why-choose .bn-content {
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media (min-width:992px) {
    .banner-why-choose>* {
        width: 50%
    }
}

@media (min-width:1200px) {
    .banner-why-choose .bn-image {
        max-width: 640px
    }

    .banner-why-choose .bn-content {
        max-width: 600px
    }

    .banner-why-choose>* {
        width: 100%
    }
}

@media (max-width:991px) {
    .banner-why-choose {
        flex-direction: column;
        padding: 20px
    }

    .banner-why-choose .bn-image img {
        max-height: 400px;
        min-height: 300px
    }
}

.card-member-v01 {
    display: grid;
    gap: 24px
}

.card-member-v01 .member-image {
    position: relative;
    border-radius: 24px;
    overflow: hidden
}

.card-member-v01 .member-info {
    display: grid;
    gap: 4px
}

.card-member-v01 .social-wrap {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 8px;
    border-radius: 8px;
    background-color: var(--white);
    transition: all .3s ease
}

@media (min-width:1200px) {
    .card-member-v01 .social-wrap {
        transform: translateX(10px);
        opacity: 0;
        visibility: hidden
    }

    .card-member-v01:hover .social-wrap {
        transform: translateX(0);
        opacity: 1;
        visibility: visible
    }
}

.wg-map {
    height: 600px;
    border-radius: 16px;
    overflow: hidden
}

.wg-map iframe {
    width: 100%;
    height: 100%
}

@media (max-width:991px) {
    .wg-map {
        height: 450px
    }
}

.card-store {
    display: grid;
    gap: 24px
}

.card-store .store-infor {
    display: grid;
    gap: 16px
}

.card-store .store-image {
    border-radius: 8px;
    overflow: hidden
}

.card-store .store-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#goTop {
    position: fixed;
    padding: 0;
    bottom: 40px;
    right: 20px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--white);
    color: var(--white);
    cursor: pointer;
    border: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08), 0 12px 30px rgba(0, 0, 0, .12);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease
}

#goTop .border-progress {
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border: 1px solid var(--text);
    mask-image: conic-gradient(var(--text) var(--progress-angle, 0deg), transparent 0);
    -webkit-mask-image: conic-gradient(var(--text) var(--progress-angle, 0deg), transparent 0);
    content: "";
    z-index: 1;
    transition: all .3s ease;
    border-radius: 50%
}

#goTop.show {
    opacity: 1;
    visibility: visible
}

#goTop .icon {
    color: var(--text)
}

#goTop .ic-wrap {
    transition: all .3s ease;
    animation: iconBounce 2s linear 0s infinite;
    display: flex
}

#goTop:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, .3)
}

@media (min-width:992px) {
    #goTop {
        right: 40px;
        width: 48px;
        height: 48px
    }

    #goTop .icon {
        font-size: 24px
    }
}

@media (max-width:1199px) {
    #goTop {
        bottom: 90px
    }
}

.wrapper-invoice {
    background-color: var(--bg-2)
}

.s-invoice {
    padding-top: 32px;
    padding-bottom: 32px
}

.s-invoice .heading {
    margin-bottom: 40px
}

.wg-invoice {
    background-color: var(--white);
    padding: 30px 20px;
    display: grid;
    gap: 40px
}

.wg-invoice .invoice-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px
}

.wg-invoice .invoice-info {
    display: flex;
    justify-content: space-between;
    gap: 30px
}

.wg-invoice .invoice-info_item {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.wg-invoice .invoice-info_item .invoice_value {
    display: grid;
    gap: 4px
}

.wg-invoice .invoice-social {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 30px
}

.wg-invoice .invoice_link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text)
}

.wg-invoice .invoice_link .icon {
    font-size: 16px
}

@media (min-width:992px) {
    .wg-invoice .invoice-info_item {
        min-width: 150px
    }

    .wg-invoice .invoice-info_item:not(:last-child) {
        padding-right: 30px;
        border-right: 1px solid var(--line)
    }
}

@media (min-width:1200px) {
    .wg-invoice {
        padding: 48px
    }

    .wg-invoice .invoice-social {
        gap: 58px
    }

    .wg-invoice .invoice-info {
        gap: 48px
    }

    .wg-invoice .invoice-info_item.invoice-info_date {
        min-width: 248px
    }

    .wg-invoice .invoice-info_item:not(:last-child) {
        padding-right: 48px
    }

    .wg-invoice .invoice_download-btn {
        min-width: 248px
    }
}

@media (max-width:991px) {
    .wg-invoice .invoice-info {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 32px 16px
    }
}

@media (max-width:575px) {
    .wg-invoice .invoice-info {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

.invoice-table thead {
    background-color: var(--bg-2)
}

.invoice-table {
    color: var(--black)
}

.invoice-table th {
    font-weight: 600;
    font-size: 18px;
    line-height: 24px
}

.invoice-table td,
.invoice-table th {
    white-space: nowrap
}

.invoice-table tbody tr {
    border-bottom: 1px solid var(--line)
}

.invoice-table td,
.invoice-table th {
    padding: 12px 16px
}

@media (min-width:1200px) {
    .invoice-table {
        table-layout: fixed
    }

    .invoice-table td:first-child,
    .invoice-table th:first-child {
        width: 444px
    }

    .invoice-table th {
        padding: 24px
    }

    .invoice-table td {
        padding: 24px 24px 23px
    }
}

.faq_title {
    margin-bottom: 20px
}

.faq-list {
    display: grid;
    gap: 30px
}

@media (min-width:1200px) {
    .faq-list {
        gap: 40px;
        max-width: 992px
    }
}

.faq_wrap .accordion-faq {
    padding-bottom: 15px;
    border-bottom: 1px solid var(--line)
}

.faq_wrap .accordion-faq:not(:last-child) {
    margin-bottom: 15px
}

.plan-care-item {
    display: flex;
    border-radius: 16px;
    overflow: hidden;
    position: relative
}

.plan-care-item .content {
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var(--bg);
    gap: 24px
}

@media (max-width:767px) {
    .plan-care-item .content {
        padding: 24px 15px
    }
}

@media (min-width:576px) {

    .plan-care-item .content,
    .plan-care-item .img-style4 {
        flex: 20%
    }
}

@media (min-width:1200px) {
    .plan-care-item .img-style4 {
        flex: 36%
    }
}

@media (max-width:575px) {
    .plan-care-item {
        flex-direction: column
    }
}

.plan-care-item .tf-btn {
    max-width: -moz-max-content;
    max-width: max-content
}

.plan-care-item .item {
    position: absolute
}

.plan-care-item.ips-1 .item {
    right: -63px;
    top: -46px
}

.plan-care-item.ips-2 .item {
    right: -11px;
    bottom: -36px
}

.wg-circular-text .circular-text {
    position: relative;
    width: 140px;
    height: 140px;
    animation: rotate 15s linear infinite
}

.wg-circular-text .circular-text span {
    position: absolute;
    left: 50%;
    top: 0;
    transform-origin: 0 75px;
    font-weight: 600
}

.wg-circular-text .original-text {
    display: none
}

.box-cls-v1 {
    position: relative;
    display: flex
}

.box-cls-v1 .cls-image {
    border-radius: 16px;
    overflow: hidden
}

.box-cls-v1 .cls-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    min-height: 300px
}

.box-cls-v1 .cls-content {
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center
}

.box-cls-v1.style-2 .cls-content {
    left: 44%
}

@media (min-width:1440px) {
    .box-cls-v1 .cls-content {
        left: 56px
    }

    .box-cls-v1.style-3 .cls-content {
        left: 45px
    }
}

@media (max-width:991px) {
    .box-cls-v1.style-2 .cls-content {
        left: 35%
    }
}

@media (max-width:767px) {
    .box-cls-v1 .cls-image {
        width: 100%
    }

    .box-cls-v1 .cls-image img {
        max-height: 350px
    }
}

.wg-cate-text {
    position: relative
}

.wg-cate-text .cate-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    pointer-events: none
}

.wg-cate-text .cate-image img {
    transition: all .3s ease
}

.wg-cate-text .cate-text {
    position: relative;
    z-index: 1;
    transition: all .3s ease
}

.wg-cate-text:not(:hover) .cate-image img {
    transform: scale(.8);
    opacity: 0;
    visibility: hidden
}

.wg-cate-text:not(:hover) .cate-text {
    color: var(--text-3)
}

@media (max-width:1199px) {
    .wg-cate-text .cate-image {
        max-width: 150px
    }
}

@media (max-width:991px) {
    .wg-cate-text .cate-image {
        max-width: 100px
    }
}

.cate-list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px
}

@media (max-width:1199px) {
    .cate-list {
        gap: 30px
    }
}

@media (max-width:767px) {
    .cate-list {
        gap: 20px
    }
}

.wg-benefit {
    padding: 20px;
    background: hsla(0, 0%, 100%, .102);
    backdrop-filter: blur(20px);
    display: grid;
    gap: 16px
}

.wg-benefit .icon {
    font-size: 40px
}

.tf-list {
    align-items: center;
    gap: 24px
}

.tf-list,
.tf-list li {
    display: flex
}

.tf-list.vertical {
    display: grid
}

.section-page-title .breadcrumbs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px
}

.section-page-title .breadcrumbs .icon {
    font-size: 12px
}

.section-page-title .main-page-title {
    display: grid;
    gap: 12px
}

@media (max-width:575px) {
    .section-page-title .main-page-title>p {
        font-size: 16px;
        line-height: 24px
    }
}

.section-page-title-single {
    padding-top: 24px
}

.section-page-title-single .main-page-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.section-page-title-single .breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.section-page-title-single .breadcrumbs .icon {
    font-size: 12px
}

.section-page-title-single .nav-post-list {
    display: flex;
    gap: 4px;
    font-size: 24px
}

.section-page-title-single .nav-all-post,
.section-page-title-single .nav-post-item {
    display: flex
}

.sect-heading {
    margin-bottom: 24px
}

.sect-heading .s-title {
    margin-bottom: 8px
}

.sect-heading.has-col-right {
    display: flex;
    align-items: end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px
}

.sect-heading.type-3 .s-desc {
    margin-bottom: 24px
}

.sect-heading.type-4 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 32px
}

@media (min-width:992px) {
    .sect-heading {
        margin-bottom: 40px
    }

    .sect-heading .s-title {
        margin-bottom: 12px
    }

    .sect-heading.type-2 {
        margin-bottom: 44px
    }

    .sect-heading.type-2 .s-title {
        margin-bottom: 8px
    }

    .sect-heading.type-3 .s-title {
        margin-bottom: 20px
    }

    .sect-heading.type-4 {
        margin-bottom: 44px
    }

    .sect-heading.type-5 {
        margin-bottom: 38px
    }

    .sect-heading.type-6 {
        margin-bottom: 44px
    }
}

@media (min-width:1200px) {
    .sect-heading.type-3 .s-desc {
        margin-bottom: 40px
    }
}

@media (max-width:575px) {
    .sect-heading .s-desc {
        font-size: 14px;
        line-height: 22px
    }
}

.tab-content_desc {
    row-gap: 28px
}

.tab-content_desc .desc_title {
    margin-bottom: 12px
}

.tab-content_desc .desc_info {
    display: grid;
    gap: 12px
}

.tab-content_desc .list {
    display: grid;
    gap: 4px
}

@media (min-width:1440px) {
    .tab-content_desc:not(.desc-3, .desc-2) {
        gap: 80px
    }

    .tab-content_desc.desc-2 {
        gap: 40px
    }
}

.product-desc_review {
    display: grid;
    gap: 40px
}

.product-desc_review .box-rating {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px 24px;
    flex-wrap: wrap;
    margin-bottom: 40px
}

.product-desc_review .rating-ratio {
    display: grid;
    place-items: center;
    gap: 4px
}

.product-desc_review .rate-list li {
    padding: 2px
}

.product-desc_review .rating-progress-list {
    display: grid;
    gap: 4px
}

.product-desc_review .rate-progress-star {
    display: flex;
    align-items: center;
    gap: 8px
}

.product-desc_review .rate-progress-star .number-star {
    min-width: 12px;
    text-align: end
}

.product-desc_review .rate-progress-star .number-percent {
    min-width: 40px
}

.product-desc_review .rate-progress-star .progress {
    width: 440px;
    border-radius: 1px
}

.product-desc_review .rate-progress-star .progress .progress-bar {
    background-color: var(--yellow)
}

.product-desc_review .box-comment .head {
    justify-content: space-between;
    flex-wrap: wrap
}

.product-desc_review .box-comment .head,
.product-desc_review .box-write-comment .head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px
}

.product-desc_review .box-write-comment .rate-click .icon {
    font-size: 32px
}

@media (max-width:991px) {
    .product-desc_review .comment-item.child {
        margin-left: 30px
    }
}

@media (max-width:575px) {
    .product-desc_review .sub-desc-list .item {
        padding: 12px 15px
    }

    .product-desc_review .rate-progress-star .progress,
    .product-desc_review .rating-progress-list {
        width: 100%
    }
}

.product-desc_ship .ship-title {
    margin-bottom: 12px
}

.infiniteSlide-cls {
    padding-top: 20px;
    padding-bottom: 20px
}

.infiniteSlide-cls .infiniteSlide-wrapper>* {
    margin-left: 20px;
    margin-right: 20px
}

.infiniteSlide-cls .cls-wrap {
    display: flex;
    align-items: center;
    gap: 40px
}

.infiniteSlide-cls .img-cls {
    border-radius: 50%;
    overflow: hidden
}

@media (max-width:991px) {
    .infiniteSlide-cls .infiniteSlide-wrapper>* {
        margin-left: 10px;
        margin-right: 10px
    }

    .infiniteSlide-cls .cls-wrap {
        gap: 20px
    }
}

.infiniteSlide-brand {
    -webkit-mask-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), #fff 15%, #fff 85%, hsla(0, 0%, 100%, 0));
    mask-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), #fff 15%, #fff 85%, hsla(0, 0%, 100%, 0));
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.infiniteSlide-brand .infiniteSlide-wrapper>* {
    margin-left: 60px;
    margin-right: 60px
}

.infiniteSlide-brand.style-2 .infiniteSlide-wrapper>* {
    margin-left: 0;
    margin-right: 0
}

.infiniteSlide-brand.style-2 .img-brand {
    height: 120px;
    width: 263px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-left: 0
}

@media (min-width:992px) {
    .infiniteSlide-brand.style-3 .infiniteSlide-wrapper>* {
        margin-left: 48px;
        margin-right: 48px
    }
}

@media (max-width:991px) {
    .infiniteSlide-brand .infiniteSlide-wrapper>* {
        margin-left: 30px;
        margin-right: 30px
    }

    .infiniteSlide-brand.style-2 .img-brand {
        height: 80px;
        width: 200px
    }

    .infiniteSlide-brand.style-2 .img-brand img {
        transform: scale(.9)
    }
}

.infiniteSlide-policy {
    padding-top: 23px;
    padding-bottom: 23px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    -webkit-mask-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), #fff 15%, #fff 85%, hsla(0, 0%, 100%, 0));
    mask-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), #fff 15%, #fff 85%, hsla(0, 0%, 100%, 0));
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.infiniteSlide-policy .policy-image {
    border-radius: 100px;
    overflow: hidden;
    max-width: 90px
}

.infiniteSlide-policy .policy-image img {
    aspect-ratio: 1.875;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.infiniteSlide-policy .infiniteSlide-wrapper>* {
    margin-left: 16px;
    margin-right: 16px
}

.infiniteSlide-policy.style-2 {
    -webkit-mask-image: unset;
    mask-image: unset
}

.infiniteSlide-policy-v2 {
    padding-top: 38px
}

.infiniteSlide-policy-v2 .infiniteSlide-wrapper>* {
    margin-left: 16px;
    margin-right: 16px
}

.infiniteSlide-policy-v2 .policy-image {
    border-radius: 60px;
    overflow: hidden
}

.infiniteSlide-policy-v2 .policy-text {
    color: #fff;
    text-shadow: -1px -1px 0 #101010, 1px -1px 0 #101010, -1px 1px 0 #101010, 1px 1px 0 #101010
}

@media (max-width:991px) {
    .infiniteSlide-policy-v2 .infiniteSlide-wrapper>* {
        margin-left: 8px;
        margin-right: 8px
    }

    .infiniteSlide-policy-v2 .policy-image {
        max-width: 100px
    }
}

.infiniteSlide-text {
    padding-top: 32px;
    padding-bottom: 32px
}

.infiniteSlide-text .infiniteSlide-wrapper>* {
    margin-left: 40px;
    margin-right: 40px
}

.infiniteSlide-text .text {
    color: transparent;
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;
    text-rendering: geometricPrecision;
    letter-spacing: .08em
}

@media (max-width:1439px) {
    .infiniteSlide-text {
        padding-top: 16px;
        padding-bottom: 16px
    }

    .infiniteSlide-text .infiniteSlide-wrapper>* {
        margin-left: 20px;
        margin-right: 20px
    }
}

.infiniteSlide-text-v02 {
    padding: 40px 0;
    background-color: #f6f4f3
}

.infiniteSlide-text-v02 .infiniteSlide {
    gap: 40px;
    display: flex !important;
    flex-wrap: nowrap !important
}

.infiniteSlide-text-v02 .infiniteSlide i {
    font-size: 32px;
    color: var(--primary)
}

.infiniteSlide-text-v03 {
    padding: 12px 0 11px;
    border-bottom: 1px solid var(--line)
}

.infiniteSlide-text-v03 .infiniteSlide {
    gap: 18px
}

.infiniteSlide-text-v03 .infiniteSlide i {
    font-size: 32px
}

.banner-sale {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    border-radius: 12px;
    border: 1px dashed var(--primary);
    padding: 20px 15px;
    background: rgba(205, 62, 52, .078);
    position: relative
}

.banner-sale .bn-bg {
    position: absolute;
    inset: 0
}

.banner-sale .bn-bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-sale .wrap-2 {
    display: grid;
    gap: 8px
}

.banner-sale .img-item {
    position: absolute;
    left: 73%;
    right: -15px;
    top: 50%;
    transform: translateY(-50%)
}

@media (min-width:1200px) {
    .banner-sale {
        padding: 27px
    }
}

@media (max-width:1199px) {
    .banner-sale {
        justify-content: space-between
    }

    .banner-sale .img-item {
        display: none
    }
}

.banner-image-compare {
    overflow: hidden
}

.banner-image-compare .icv__label {
    border-radius: 30px;
    background: var(--white);
    color: var(--text);
    padding: 11px 24px;
    font-weight: 500;
    font-size: clamp(18px, 3vw, 24px);
    line-height: clamp(20px, 3.5vw, 30px);
    bottom: unset;
    top: 20px;
    backdrop-filter: blur(8px)
}

.banner-image-compare .icv__label.icv__label-before {
    left: 20px
}

.banner-image-compare .icv__label.icv__label-after {
    right: 20px
}

.banner-image-compare .icv__theme-wrapper {
    width: 2px;
    height: 24px;
    border-radius: 2px;
    background: var(--text)
}

.banner-image-compare .icv__theme-wrapper .icv__arrow-wrapper {
    display: none
}

.banner-image-compare .icv__circle {
    backdrop-filter: unset !important;
    background-color: var(--white);
    width: 28px;
    height: 52px;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122)
}

.banner-image-compare .icv__circle:after,
.banner-image-compare .icv__circle:before {
    content: "";
    width: 2px;
    height: 24px;
    border-radius: 2px;
    background: var(--text)
}

.banner-image-compare .icv__control-line {
    width: 4px !important
}

@media (min-width:1200px) {
    .banner-image-compare .icv__control {
        width: 52px !important
    }

    .banner-image-compare .icv__control-line {
        width: 8px !important
    }
}

@media (max-width:767px) {
    .banner-image-compare .icv__label {
        padding: 8px 12px;
        top: 10px
    }

    .banner-image-compare .icv__label.icv__label-before {
        left: 10px
    }

    .banner-image-compare .icv__label.icv__label-after {
        right: 10px
    }

    .banner-image-compare .img-comp {
        aspect-ratio: 1.7;
        -o-object-fit: cover;
        object-fit: cover
    }
}

.banner-image-compare.style-2 {
    border-radius: 20px;
    position: relative
}

@media (min-width:768px) {
    .banner-image-compare.style-2 .img-viewer-compare-wrap>span {
        display: none
    }
}

.banner-image-compare.style-2 .wrap-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 28px;
    padding-left: 35px;
    padding-right: 31px;
    z-index: 10;
    pointer-events: none
}

@media (max-width:767px) {
    .banner-image-compare.style-2 .wrap-content {
        display: none !important
    }
}

.before-after-image-section .before-after-heading {
    max-width: 720px;
    margin: 0 auto 40px
}

.before-after-image-section .before-after-heading .heading {
    margin-bottom: 0
}

.before-after-image-section .banner-image-compare {
    max-width: 1080px;
    margin: 0 auto;
    border-radius: 12px
}

.tf-instagram-feed-section .tf-instagram-heading {
    max-width: 720px;
    margin: 0 auto 30px
}

.tf-instagram-feed-section .tf-instagram-heading .heading {
    margin-bottom: 0
}

.tf-instagram-feed-section .tf-instagram-heading .tf-instagram-handle {
    color: var(--main);
    font-weight: 500;
    text-decoration: none
}

.tf-instagram-feed-section .tf-instagram-heading .tf-instagram-handle:hover {
    opacity: .85
}

.tf-instagram-feed-section .tf-instagram-heading .tf-instagram-handle .icon {
    font-size: 18px
}

.tf-instagram-feed-section .tf-instagram-grid {
    display: grid;
    grid-template-columns: repeat(var(--tf-ig-columns, 6), 1fr);
    gap: var(--tf-ig-gap, 8px)
}

@media (max-width:991px) {
    .tf-instagram-feed-section .tf-instagram-grid {
        grid-template-columns: repeat(min(var(--tf-ig-columns, 6), 4), 1fr)
    }
}

@media (max-width:767px) {
    .tf-instagram-feed-section .tf-instagram-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (max-width:575px) {
    .tf-instagram-feed-section .tf-instagram-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.tf-instagram-feed-section .tf-instagram-item {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1/1;
    border-radius: 4px
}

.tf-instagram-feed-section .tf-instagram-item .image,
.tf-instagram-feed-section .tf-instagram-item .img-style {
    width: 100%;
    height: 100%
}

.tf-instagram-feed-section .tf-instagram-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block
}

.tf-instagram-feed-section .tf-instagram-item .tf-instagram-overlay-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 28px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
    z-index: 3;
    pointer-events: none
}

.tf-instagram-feed-section .tf-instagram-item:hover .tf-instagram-overlay-icon {
    opacity: 1;
    visibility: visible
}

.tf-instagram-feed-section .tf-instagram-carousel .tf-instagram-item {
    border-radius: 4px
}

.tf-lookbook-hover .bundle-pin-item {
    cursor: pointer
}

.tf-lookbook-hover .bundle-hover-item {
    transition: all .3s ease;
    opacity: 1
}

.tf-lookbook-hover .bundle-hover-item.no-hover {
    opacity: .3
}

.lookbook-hover-v1 .img-banner {
    border-radius: 20px 0 0 20px
}

.lookbook-hover-v1 .banner-lookbook {
    height: 100%
}

.lookbook-hover-v1 .col-right {
    border-radius: 0 20px 20px 0;
    background: var(--bg-3);
    padding: 20px
}

@media (min-width:992px) {
    .lookbook-hover-v1 {
        display: flex
    }

    .lookbook-hover-v1>* {
        width: 50%
    }
}

@media (min-width:1200px) {
    .lookbook-hover-v1 .col-right {
        padding: 40px
    }
}

@media (min-width:1600px) {
    .lookbook-hover-v1 .col-right {
        display: flex;
        align-items: center;
        justify-content: center
    }

    .lookbook-hover-v1 .swiper-lookbook {
        max-width: 690px;
        width: 100%
    }
}

@media (max-width:991px) {
    .lookbook-hover-v1 .img-banner {
        border-radius: 20px 20px 0 0;
        max-height: 450px
    }

    .lookbook-hover-v1 .col-right {
        border-radius: 0 0 20px 20px;
        padding: 40px 15px
    }
}

.lookbook-hover-v2 .img-banner {
    border-radius: 16px
}

.lookbook-hover-v2 .bundle-list {
    margin-bottom: 20px
}

.lookbook-hover-v2 .bundle-list li:not(:last-child) {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--line)
}

.lookbook-hover-v2 .bundle-hover-wrap.has-hover .bundle-hover-item:not(.no-hover) .prd-order {
    background: var(--text);
    border-color: var(--text);
    color: var(--white)
}

@media (min-width:992px) {
    .lookbook-hover-v2 .banner-lookbook {
        height: 100%
    }
}

@media (min-width:1440px) {
    .lookbook-hover-v2 .banner-lookbook {
        padding-right: 25px
    }

    .lookbook-hover-v2 .bundle-hover-wrap {
        padding-left: 25px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 30px;
        height: 100%
    }

    .lookbook-hover-v2 .bundle-hover-wrap>* {
        margin: 0
    }

    .lookbook-hover-v2 .lookbook-product {
        min-width: 380px;
        padding: 16px
    }
}

@media (max-width:991px) {
    .lookbook-hover-v2 .bundle-list li:not(:last-child) {
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--line)
    }
}

.banner-countdown-v01 {
    padding-top: 29px;
    padding-bottom: 27px
}

.banner-countdown-v01 .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px 20px
}

@media (max-width:767px) {
    .banner-countdown-v01.style-2 .content {
        text-align: center;
        flex-direction: column
    }
}

.banner-countdown-v01.style-3 {
    background: rgba(244, 246, 145, .4);
    border: 1px dashed #f4f691;
    border-radius: 12px;
    overflow: hidden;
    padding: 26px
}

.banner-countdown-v01.style-3 .content {
    padding: 0
}

.banner-countdown-v01.style-4 {
    position: relative;
    padding: 34px 48px;
    border-radius: 16px;
    overflow: hidden
}

@media (max-width:767px) {
    .banner-countdown-v01.style-4 {
        padding: 30px 15px
    }
}

.banner-countdown-v01.style-4 .banner-img {
    position: absolute;
    inset: 0
}

.banner-countdown-v01.style-4 .content {
    position: relative;
    z-index: 1
}

.banner-countdown-v01.style-4 .countdown-v01 {
    background: hsla(0, 0%, 100%, .2);
    backdrop-filter: blur(40px);
    padding: 20px 33px;
    border-radius: 12px
}

.banner-countdown-v01.style-4 .countdown-v01 .countdown__timer {
    gap: 17px
}

.banner-countdown-v01.style-4 .countdown-v01 .countdown__label {
    font-style: 14px;
    line-height: 22px;
    font-weight: 400
}

@media (max-width:575px) {
    .banner-countdown-v01.style-4 .countdown-v01 {
        width: 100%;
        padding: 20px 15px
    }

    .banner-countdown-v01.style-4 .countdown-v01 .countdown__timer {
        justify-content: space-between;
        gap: 10px
    }
}

.banner-countdown-v02 {
    display: grid
}

.banner-countdown-v02 .banner-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-countdown-v02 .banner-content {
    background-color: #004225;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.banner-countdown-v02 .sub {
    margin-bottom: 15px
}

.banner-countdown-v02 .countdown-v02,
.banner-countdown-v02 .title {
    margin-bottom: 24px
}

@media (min-width:1200px) {
    .banner-countdown-v02 {
        display: flex
    }

    .banner-countdown-v02 .banner-content {
        padding: 30px 15px
    }

    .banner-countdown-v02 .banner-image {
        width: 30.7291666667%
    }

    .banner-countdown-v02 .banner-content {
        width: 38.5416666666%
    }

    .banner-countdown-v02 .countdown-v02,
    .banner-countdown-v02 .title {
        margin-bottom: 32px
    }
}

@media (max-width:1199px) {
    .banner-countdown-v02 .banner-image img {
        max-height: 400px
    }
}

.banner-countdown-v03 {
    position: relative
}

.banner-countdown-v03 .banner-image {
    position: absolute;
    inset: 0;
    display: flex;
    z-index: 0
}

.banner-countdown-v03 .banner-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-countdown-v03 .desc,
.banner-countdown-v03 .title {
    margin-bottom: 16px
}

.banner-countdown-v03 .countdown-v02 {
    margin-bottom: 24px
}

@media (min-width:1200px) {
    .banner-countdown-v03 .countdown-v02 {
        margin-bottom: 48px
    }
}

@media (min-width:1440px) {
    .banner-countdown-v03 {
        min-height: 600px;
        display: flex;
        align-items: center
    }

    .banner-countdown-v03 .btn-action span {
        min-width: 170px;
        text-align: center
    }
}

.banner-countdown-v04 {
    position: relative
}

.banner-countdown-v04 .banner-image {
    height: 100%
}

.banner-countdown-v04 .banner-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-countdown-v04 .banner-content {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    left: 15px;
    right: 15px
}

.banner-countdown-v04 .countdown-v01 {
    margin-bottom: 24px
}

@media (min-width:1440px) {
    .banner-countdown-v04 .countdown-v01 {
        margin-bottom: 40px;
        margin-bottom: 56px
    }
}

.section-collection .col-left {
    margin-bottom: 10px
}

@media (min-width:992px) {
    .section-collection {
        display: flex;
        justify-content: space-between
    }

    .section-collection .col-left {
        width: 67.1875%;
        margin-bottom: 0
    }

    .section-collection .col-right {
        width: calc(32.8125% - 10px)
    }
}

.banner-thumbs-product {
    border-radius: 16px;
    overflow: hidden
}

.banner-thumbs-product .col-left {
    background: var(--bg);
    padding-left: 15px;
    padding-right: 15px
}

.banner-thumbs-product .img-list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px
}

.banner-thumbs-product .img-list .img_item {
    border-radius: 8px;
    overflow: hidden;
    transition: all .3s ease
}

.banner-thumbs-product .img-list .img_item:not(.active) {
    opacity: .4
}

.banner-thumbs-product .slider-content-thumb {
    height: 100%
}

@media (min-width:1200px) {
    .banner-thumbs-product {
        display: flex
    }

    .banner-thumbs-product>* {
        width: 50%
    }
}

.section-gear-bundle .col-right {
    height: 100%
}

.section-gear-bundle .box-bundle-save {
    display: flex;
    flex-direction: column;
    height: 100%
}

.section-gear-bundle .box-bundle-save .bottom {
    margin-top: auto
}

@media (min-width:1440px) {
    .section-gear-bundle .col-right {
        margin-left: -20px
    }

    .section-gear-bundle .col-left {
        max-width: 880px
    }
}

@media (max-width:991px) {
    .section-gear-bundle .col-left {
        margin-bottom: 30px
    }
}

.section-testimonial-thumbs .sw-thumb {
    border-radius: 16px;
    overflow: hidden
}

.section-testimonial-thumbs .sw-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-testimonial-thumbs .tes_thumb {
    position: relative
}

.section-testimonial-thumbs .tes_thumb .group-action-nav {
    position: absolute;
    left: -75px;
    right: -75px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 2
}

.section-testimonial-thumbs .tes_thumb .tf-sw-nav-2 {
    pointer-events: all
}

@media (min-width:992px) {
    .section-testimonial-thumbs .col-right {
        height: 100%;
        display: flex;
        align-items: center
    }
}

@media (min-width:1440px) {
    .section-testimonial-thumbs .col-left {
        max-width: 520px
    }

    .section-testimonial-thumbs .col-right {
        margin-left: 20px
    }
}

@media (max-width:1599px) {
    .section-testimonial-thumbs .group-action-nav {
        display: none !important
    }
}

@media (max-width:991px) {
    .section-testimonial-thumbs .sw-thumb img {
        max-height: 400px
    }

    .section-testimonial-thumbs .col-left {
        margin-bottom: 30px
    }
}

@media (min-width:992px) {
    .section-banner-cls .main-section {
        display: flex;
        justify-content: space-between
    }

    .section-banner-cls .col-left {
        width: 66.1016949153%
    }

    .section-banner-cls .col-right {
        width: 32.7683615819%
    }
}

@media (max-width:991px) {
    .section-banner-cls .col-left {
        margin-bottom: 20px
    }
}

.section-banner-cls-v02 {
    flex-direction: column
}

@media (min-width:992px) {
    .section-banner-cls-v02 {
        flex-direction: row
    }

    .section-banner-cls-v02 .left {
        flex: 20%
    }

    .section-banner-cls-v02 .right {
        flex: 52.707%
    }
}

.banner-product-single .text-sale {
    padding: 2px 12px;
    border-radius: 36px;
    background: var(--text);
    display: block;
    color: var(--white)
}

.banner-product-single .tf-product-info-list {
    gap: 20px
}

.banner-product-single .detail-price {
    display: flex;
    align-items: center;
    gap: 8px
}

.banner-product-single .detail-price .badge-sale {
    margin-left: 8px
}

.banner-product-single .detail-sold .sold-it {
    display: grid;
    gap: 8px;
    max-width: 380px;
    width: 100%
}

.banner-product-single .detail-sale,
.banner-product-single .detail-sold {
    display: flex;
    align-items: center;
    gap: 12px 30px
}

.banner-product-single .detail-sale .mini-title,
.banner-product-single .detail-sold .mini-title {
    min-width: 120px
}

.banner-product-single .btn-add-compare,
.banner-product-single .btn-add-wishlist {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 24px;
    border: 1px solid var(--line);
    flex-shrink: 0
}

@media (min-width:1200px) {
    .banner-product-single.style-thumbs-position .tf-product-media-thumbs {
        position: absolute;
        z-index: 3;
        top: 20px;
        left: 20px
    }

    .banner-product-single.style-thumbs-position .tf-product-info-wrap {
        padding-left: 50px
    }
}

.banner-product-single.style-thumbs-position .tf-product-info-list {
    gap: 24px;
    max-width: 100%
}

.banner-product-single.style-thumbs-position .flat-wrap-media-product {
    width: 100%
}

.banner-product-single.style-thumbs-position .btn-action-price {
    height: 48px
}

.banner-product-single.style-thumbs-position .wg-quantity {
    padding: 12px 19px
}

.banner-product-single.style-2 .tf-product-total-quantity {
    place-items: start
}

.banner-product-single.style-2 .tf-product-media-main .tf-image-zoom {
    aspect-ratio: .7503320053
}

.banner-product-single.style-3 .product-thumbs-slider {
    gap: 10px
}

.banner-product-single.style-3 .tf-product-total-quantity {
    place-items: start
}

.banner-product-single.style-3 .tf-product-media-main .tf-image-zoom {
    aspect-ratio: .8941605839;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-product-single.style-3 .btn-action-buy,
.banner-product-single.style-3 .btn-action-price,
.banner-product-single.style-3 .btn-add-compare,
.banner-product-single.style-3 .btn-add-wishlist,
.banner-product-single.style-3 .wg-quantity {
    border-radius: 4px
}

.banner-product-single.style-3 .wg-quantity {
    padding: 11px;
    background: var(--white)
}

@media (min-width:1200px) {
    .banner-product-single.style-4 .tf-product-media-thumbs .swiper-slide {
        max-height: 80px
    }

    .banner-product-single.style-4 .tf-product-info-wrap {
        padding-left: 2px
    }

    .banner-product-single.style-4 .product-thumbs-slider {
        padding-right: 13px
    }

    .banner-product-single.style-4 .tf-product-info-list {
        gap: 24px
    }

    .banner-product-single.style-4 .btn-action-price {
        height: 50px
    }

    .banner-product-single.style-4 .stagger-item,
    .banner-product-single.style-4 .stagger-item img {
        width: 80px;
        height: 80px
    }
}

@media (min-width:768px) {
    .banner-product-single.style-4 .wg-quantity {
        padding: 12px 19px
    }
}

.banner-product-single.style-5 .left {
    padding: 0 15px 40px;
    background-color: #f7f7f7;
    border-radius: 12px
}

@media (min-width:768px) {
    .banner-product-single.style-5 .left {
        padding: 40px
    }
}

.banner-product-single.style-5 .tf-product-info-list {
    gap: 24px
}

.banner-product-single.style-5 .tf-product-info-wrap .tf-product-extra-link {
    gap: 27px
}

.banner-product-single.style-5 .btn-action-price {
    height: 50px
}

.banner-product-single.style-5 .product-thumbs-slider .tf-product-media-main {
    border: unset;
    border-radius: 12px
}

.banner-product-single.style-5 .product-thumbs-slider .flat-wrap-media-product {
    width: 100%;
    border: unset
}

.banner-product-single.style-5 .tf-product-media-wrap {
    padding-right: 0;
    width: 100%;
    height: 100%
}

.banner-product-single.style-5 .flat-wrap-media-product,
.banner-product-single.style-5 .product-thumbs-slider,
.banner-product-single.style-5 .tf-product-media-main {
    height: 100%
}

.banner-product-single.style-5 .tf-product-info-wrap {
    padding-left: 0
}

.banner-product-single.style-5 .box-img {
    height: 100%;
    width: 100%;
    border-radius: 12px;
    overflow: hidden
}

.banner-product-single.style-5 .box-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width:768px) {
    .banner-product-single.style-5 .wg-quantity {
        padding: 12px 19px
    }
}

.banner-product-single.style-6 {
    background-color: var(--bg)
}

.banner-product-single.style-6 .variant-picker-label {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.banner-product-single.style-6 .variant-size-2 .size-btn {
    border-radius: 4px;
    height: 44px
}

.banner-product-single.style-6 .variant-size-2 .size-btn:after {
    border-radius: 4px
}

.banner-product-single.style-6 .tf-product-info-list {
    gap: 24px
}

@media (min-width:1200px) {
    .banner-product-single.style-6 .tf-product-media-wrap {
        padding-right: 10px
    }

    .banner-product-single.style-6 .tf-product-info-wrap {
        padding-left: 20px
    }

    .banner-product-single.style-6 .btn-action-price {
        height: 48px
    }

    .banner-product-single.style-6 .wg-quantity {
        padding: 12px 19px
    }
}

@media (min-width:992px) {

    .banner-product-single .center,
    .banner-product-single .left {
        max-width: 50%
    }
}

@media (min-width:1200px) {
    .banner-product-single .btn-action-price {
        height: 58px
    }

    .banner-product-single .wg-quantity {
        padding: 16px 19px
    }

    .banner-product-single .tf-product-info-wrap {
        padding-left: 30px
    }

    .banner-product-single.style-2 .btn-add-compare,
    .banner-product-single.style-2 .btn-add-wishlist,
    .banner-product-single.style-3 .btn-add-compare,
    .banner-product-single.style-3 .btn-add-wishlist {
        width: 54px;
        height: 54px
    }

    .banner-product-single.style-2 .btn-action-buy,
    .banner-product-single.style-2 .btn-action-price,
    .banner-product-single.style-3 .btn-action-buy,
    .banner-product-single.style-3 .btn-action-price {
        height: 54px
    }

    .banner-product-single.style-2 .tf-product-media-wrap {
        padding-right: 25px
    }

    .banner-product-single.style-2 .tf-product-info-wrap {
        padding-left: 25px
    }

    .banner-product-single.style-3 .tf-product-media-wrap {
        max-width: 600px;
        padding-right: 0
    }

    .banner-product-single.style-3 .tf-product-media-thumbs .swiper-slide {
        max-width: 100px;
        max-height: 133.33px
    }

    .banner-product-single.style-3 .product-thumbs-slider.style-row .tf-product-media-thumbs {
        width: 100px
    }

    .banner-product-single.style-3 .product-thumbs-slider.style-row .flat-wrap-media-product {
        width: calc(100% - 110px)
    }

    .banner-product-single.style-3 .tf-product-info-wrap {
        padding-left: 20px;
        max-width: 600px
    }

    .banner-product-single.style-3 .wg-quantity {
        min-width: 200px
    }
}

@media (min-width:1440px) {
    .banner-product-single .tf-product-info-list {
        max-width: 600px
    }

    .banner-product-single .center,
    .banner-product-single .left,
    .banner-product-single .right {
        max-width: 583.33px
    }

    .banner-product-single .detail-sale,
    .banner-product-single .detail-sold {
        gap: 60px
    }

    .banner-product-single .detail-sale .mini-title,
    .banner-product-single .detail-sold .mini-title {
        min-width: 120px
    }
}

@media (max-width:991px) {
    .banner-product-single .single-image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        max-height: 450px
    }

    .banner-product-single.style-3 .tf-product-media-main .tf-image-zoom {
        max-height: 500px
    }

    .banner-product-single.style-5 .wrap-shop {
        flex-direction: column
    }

    .banner-product-single.style-5 .left {
        order: 1
    }
}

@media (max-width:767px) {
    .banner-product-single .tf-product-media-main .tf-image-zoom {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        max-height: 450px
    }
}

@media (max-width:575px) {

    .banner-product-single .detail-sale,
    .banner-product-single .detail-sold {
        flex-wrap: wrap
    }
}

@media (max-width:1599px) {
    .banner-product-single .btn-action-price span {
        display: none !important
    }
}

.variant-size-2 .size-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding-left: 20px;
    padding-right: 20px;
    border: 1px solid var(--line);
    border-radius: 40px;
    cursor: pointer;
    transition: all .3s ease;
    position: relative
}

.variant-size-2 .size-btn:after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 40px;
    border: 2px solid var(--text);
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
}

.variant-size-2 .size-btn:hover:after {
    opacity: 1;
    visibility: visible
}

.variant-size-2 .size-btn.active {
    background: var(--text);
    border-color: var(--text);
    color: var(--white)
}

.variant-size-2 .variant-picker-values {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.sold-it .progress {
    height: 8px;
    background-color: var(--line);
    border-radius: 100px
}

.sold-it .progress-bar {
    background-color: var(--primary);
    background-image: repeating-linear-gradient(45deg, hsla(0, 0%, 100%, .3), hsla(0, 0%, 100%, .3) 10px, transparent 0, transparent 20px);
    animation: move-stripes 50s linear infinite
}

.section-thumbs-arrival .col-left {
    display: flex;
    flex-direction: column;
    background: var(--bg);
    padding: 32px;
    border-radius: 12px
}

.section-thumbs-arrival .col-right {
    border-radius: 12px;
    overflow: hidden
}

.section-thumbs-arrival .group-action-nav_thumb {
    position: absolute;
    display: flex;
    justify-content: space-between;
    left: 20px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2
}

.section-thumbs-arrival .thumbs-prd {
    display: flex;
    align-items: center;
    background: var(--white);
    border-radius: 12px;
    padding: 16px;
    gap: 16px
}

.section-thumbs-arrival .thumbs-prd .prd-info {
    flex: 1;
    display: grid;
    gap: 4px
}

.section-thumbs-arrival .thumbs-prd .btn-action {
    width: 36px;
    height: 36px;
    background: var(--text);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px
}

.section-thumbs-arrival .thumbs-prd .info_name {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden
}

.section-thumbs-arrival .sw-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-thumbs-arrival.style-2 .content {
    background-color: #ffeb8a;
    padding: 48px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px
}

@media (max-width:991px) {
    .section-thumbs-arrival.style-2 .content {
        padding: 40px 15px
    }
}

.section-thumbs-arrival.style-2 .heading {
    display: grid;
    gap: 16px
}

.section-thumbs-arrival.style-2 .img-style4 {
    border-radius: 12px
}

@media (min-width:1200px) {
    .section-thumbs-arrival.style-2 .thumbs-prd {
        padding-right: 28px
    }
}

.section-thumbs-arrival.style-2 .thumbs-prd .btn-action {
    border-radius: 8px
}

@media (min-width:1440px) {
    .section-thumbs-arrival .col-left {
        margin-right: -10px
    }

    .section-thumbs-arrival .col-right {
        margin-left: -10px
    }
}

@media (max-width:991px) {
    .section-thumbs-arrival .sw-image img {
        max-height: 400px
    }

    .section-thumbs-arrival .col-left {
        padding: 20px
    }
}

.section-lookbook-hover .bundle-hover-wrap {
    max-width: 489px
}

@media (min-width:1200px) {
    .section-lookbook-hover .col-left {
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: space-between;
        height: 100%
    }
}

@media (min-width:1440px) {
    .section-lookbook-hover .col-right {
        margin-left: -10px
    }
}

@media (min-width:992px) {
    .section-lookbook-hover .col-right {
        height: 100%
    }
}

.section-lookbook-hover-v02 .wrap {
    display: flex
}

@media (max-width:991px) {
    .section-lookbook-hover-v02 .wrap {
        flex-direction: column
    }
}

.section-lookbook-hover-v02 .bundle-hover-wrap {
    max-width: 806px;
    margin-left: auto;
    margin-right: auto
}

@media (min-width:992px) {
    .section-lookbook-hover-v02 .card-product {
        gap: 33px
    }
}

.section-lookbook-hover-v02 .card-product_wrapper {
    aspect-ratio: unset;
    margin-left: auto;
    margin-right: auto;
    max-width: 476px
}

@media (min-width:992px) {
    .section-lookbook-hover-v02 .card-product_wrapper {
        margin-bottom: 39px
    }

    .section-lookbook-hover-v02 .box-left,
    .section-lookbook-hover-v02 .box-right {
        width: 50%
    }
}

.section-lookbook-hover-v02 .box-left {
    padding: 60px 15px;
    background-color: #f7f7f7
}

@media (min-width:1440px) {
    .section-lookbook-hover-v02 .box-left {
        padding: 82px 77px 60px
    }
}

.section-lookbook-hover-v02 .box-right {
    height: unset
}

.section-lookbook-hover-v02 .box-right>div {
    height: 100%
}

@media (max-width:991px) {
    .section-lookbook-hover-v02 .dropdown-menu {
        display: none
    }
}

.section-lookbook-hover-v02 .tf-sw-nav-2 {
    position: absolute;
    top: calc(50% - 11px);
    transform: translateY(-50%);
    z-index: 3
}

.section-lookbook-hover-v02 .nav-prev-swiper {
    left: 0
}

.section-lookbook-hover-v02 .nav-next-swiper {
    right: 0
}

.section-lookbook-hover-v02 .position1 {
    top: 47.1%;
    left: 8.4%
}

.section-lookbook-hover-v02 .position2 {
    top: 62%;
    left: 87.4%
}

.section-lookbook-hover-v02 .position3 {
    top: 36.1%;
    left: 58%
}

.section-lookbook-hover-v03 .row {
    row-gap: 40px
}

@media (min-width:768px) {
    .section-lookbook-hover-v03 .wrap-product {
        display: flex;
        flex-direction: column;
        overflow-y: auto
    }
}

@media (min-width:1200px) {
    .section-lookbook-hover-v03 .wrap-product {
        max-height: 486px
    }
}

.section-lookbook-hover-v03 .wrap-product::-webkit-scrollbar {
    width: 3px;
    height: 100%;
    background-color: var(--line)
}

.section-lookbook-hover-v03 .wrap-product::-webkit-scrollbar-thumb {
    cursor: grab;
    background-color: var(--text);
    border-radius: 999px
}

.section-lookbook-hover-v03 img {
    border-radius: 12px
}

@media (max-width:767px) {
    .section-lookbook-hover-v03 .heading {
        margin-bottom: 25px !important
    }
}

.section-lookbook-hover-v03 .card-product {
    transition: opacity .25s ease, filter .25s ease
}

@media (min-width:768px) {
    .section-lookbook-hover-v03 .card-product {
        margin-bottom: 20px
    }

    .section-lookbook-hover-v03 .card-product.is-dim {
        filter: blur(5px)
    }

    .section-lookbook-hover-v03 .card-product.is-active {
        opacity: 1;
        filter: none
    }
}

.section-lookbook-hover-v03 .position1 {
    top: 11.5%;
    left: 28%
}

.section-lookbook-hover-v03 .position2 {
    top: 36.8%;
    left: 64.6%
}

.section-lookbook-hover-v03 .position3 {
    top: 39.8%;
    left: 17.7%
}

.section-lookbook-hover-v03 .position4 {
    top: 62.2%;
    left: 75.5%
}

@media (max-width:767px) {
    .section-lookbook-hover-v03 .dropdown-menu {
        display: none
    }
}

@media (min-width:1200px) {
    .section-lookbook-hover-v03 .tf-grid-layout {
        padding-right: 10px
    }
}

@media (min-width:992px) {
    .section-banner-favorite .col-left {
        height: 100%
    }
}

@media (min-width:1200px) {
    .section-banner-favorite .col-left {
        padding-right: 30px
    }

    .section-banner-favorite .col-right {
        margin-left: -30px
    }
}

.section-banner-highlight .row {
    row-gap: 40px
}

@media (min-width:1200px) {
    .section-banner-highlight .banner-image-text {
        margin-right: 30px
    }

    .section-banner-highlight .tf-grid-layout {
        row-gap: 60px
    }
}

.section-banner-collection-v02 .wrap-banner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 316px);
    gap: 20px
}

.section-banner-collection-v02 .item-1 {
    grid-area: 1/1/2/2
}

.section-banner-collection-v02 .item-2 {
    grid-area: 2/1/3/2
}

.section-banner-collection-v02 .item-3 {
    grid-area: 1/2/3/4
}

.section-banner-collection-v02 .item-4 {
    grid-area: 1/4/2/5
}

.section-banner-collection-v02 .item-5 {
    grid-area: 2/4/3/5
}

@media (max-width:991px) {
    .section-banner-collection-v02 .wrap-banner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 20px
    }

    .section-banner-collection-v02 .item-1 {
        grid-area: 3/1/4/2
    }

    .section-banner-collection-v02 .item-2 {
        grid-area: 4/1/5/2
    }

    .section-banner-collection-v02 .item-3 {
        grid-area: 1/1/3/3
    }

    .section-banner-collection-v02 .item-4 {
        grid-area: 3/2/4/3
    }

    .section-banner-collection-v02 .item-5 {
        grid-area: 4/2/5/3
    }
}

@media (max-width:767px) {
    .section-banner-collection-v02 .wrap-banner {
        gap: 15px
    }
}

.section-main-about .hero-image {
    border-radius: 16px
}

.section-main-about .hero-image img {
    min-height: 350px
}

.section-contact .heading {
    margin-bottom: 32px
}

.section-contact .grid-info {
    gap: 28px 20px
}

.section-contact .open-text span {
    min-width: 80px
}

@media (min-width:768px) {
    .section-contact .col-left {
        max-width: 410px
    }
}

@media (max-width:991px) {
    .section-contact .heading {
        margin-bottom: 24px
    }

    .section-contact .grid-info {
        gap: 20px
    }
}

.section-insights .row {
    row-gap: 40px
}

@media (min-width:1200px) {
    .section-insights .article-blog.style-list {
        gap: 41px
    }
}

@media (min-width:992px) {
    .section-insights .article-blog.style-list .blog-image {
        max-width: 300px
    }
}

.section-insights .article-blog.style-list .entry-desc {
    margin-bottom: 0
}

.section-insights .article-blog:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--line)
}

.section-about .h3 {
    letter-spacing: .01em
}

.section-categories .tf-sw-nav-2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    opacity: 0
}

.section-categories .nav-prev-swiper {
    left: 12px;
    margin-left: 10px
}

.section-categories .nav-next-swiper {
    right: 12px;
    margin-right: 10px
}

.section-categories:hover .tf-sw-nav-2 {
    opacity: 1
}

.section-categories:hover .nav-prev-swiper {
    margin-left: 0
}

.section-categories:hover .nav-next-swiper {
    margin-right: 0
}

.section-top-pick .row {
    row-gap: 40px
}

.section-top-pick-v02 .wrap-prd {
    display: flex;
    gap: 20px;
    flex-direction: column
}

@media (max-width:991px) {
    .section-top-pick-v02 .tf-grid-layout {
        gap: 20px 15px !important
    }
}

@media (min-width:1025px) {
    .section-top-pick-v02 .wrap-prd {
        flex-direction: row
    }

    .section-top-pick-v02 .col-prd-1 {
        flex: 20%
    }

    .section-top-pick-v02 .col-prd-2 {
        flex: 40.284%
    }
}

.section-404 .content,
.section-404 .image {
    margin-bottom: 40px
}

.section-404 .title {
    margin-bottom: 12px
}

.section-404 .content {
    text-align: center
}

.section-404 .wrap {
    max-width: 448px;
    width: 100%;
    margin: auto
}

.section-404 .group-btn {
    gap: 12px
}

.section-404 .group-btn>* {
    width: 100%
}

@media (max-width:575px) {
    .section-404 .group-btn {
        flex-wrap: wrap
    }
}

.wrapper-wishlist .product-action_list {
    top: 52px
}

@media (min-width:1200px) {
    .wrapper-wishlist .product-action_list {
        top: 56px
    }
}

.banner-v01 .bn_image img {
    min-height: 500px
}

.banner-v01 .bn_content {
    position: absolute;
    left: 0;
    right: 0;
    top: 63px;
    bottom: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.banner-v01 .infiniteSlide-text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0
}

@media (max-width:1439px) {
    .banner-v01 .bn_content {
        bottom: 70px
    }
}

@media (max-width:1199px) {
    .banner-v01 .bn_image img {
        min-height: 400px
    }
}

.banner-v02 {
    position: relative
}

.banner-v02 .bn_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    min-height: 500px;
    aspect-ratio: 2.4
}

.banner-v02 .bn_content {
    display: flex;
    position: absolute;
    left: 28px;
    bottom: 28px;
    right: 28px
}

.banner-v02 .bn_content .wrap {
    background: var(--white);
    padding: 48px;
    border-radius: 16px
}

.banner-v02 .bn_content .title {
    margin-bottom: 8px
}

.banner-v02 .bn_content .desc {
    margin-bottom: 40px
}

@media (max-width:1199px) {
    .banner-v02 .bn_content {
        left: 20px;
        right: 20px;
        bottom: 20px
    }

    .banner-v02 .bn_content .wrap {
        padding: 30px
    }

    .banner-v02 .bn_content .desc {
        margin-bottom: 32px
    }
}

.banner-v03 {
    position: relative;
    border-radius: 16px;
    overflow: hidden
}

.banner-v03 .bn_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    min-height: 400px;
    aspect-ratio: 4.0227272727
}

.banner-v03 .bn_content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.banner-v03 .desc {
    margin-bottom: 20px
}

.banner-v03 .title {
    margin-bottom: 40px
}

@media (max-width:1199px) {
    .banner-v03 .desc {
        margin-bottom: 12px
    }

    .banner-v03 .title {
        margin-bottom: 32px
    }
}

.banner-v04 {
    position: relative;
    border-radius: 20px;
    overflow: hidden
}

.banner-v04 .bn_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 3.1333333333;
    min-height: 330px
}

.banner-v04 .bn_content {
    position: absolute;
    left: 80px;
    top: 20px;
    bottom: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center
}

@media (min-width:1200px) {
    .banner-v04.style-2 .bn_content {
        left: 100px
    }
}

@media (max-width:1199px) {
    .banner-v04 .bn_content {
        left: 40px
    }
}

@media (max-width:991px) {
    .banner-v04 .bn_content {
        left: 20px
    }
}

.banner-v05 .bn_image {
    position: relative;
    padding-top: 68px;
    padding-bottom: 164px
}

@media (max-width:1199px) {
    .banner-v05 .bn_image {
        padding-bottom: 60px
    }
}

@media (max-width:767px) {
    .banner-v05 .bn_image {
        padding-bottom: 21px
    }
}

.banner-v05 .bn_image .image {
    position: absolute;
    left: 36.5%;
    top: 0;
    bottom: 0
}

@media (max-width:991px) {
    .banner-v05 .bn_image .image {
        width: 40%;
        top: 43px
    }
}

.banner-v05 .title {
    margin-bottom: 16px
}

.banner-v05 .desc {
    margin-bottom: 40px
}

@media (max-width:1199px) {
    .banner-v05 .title {
        margin-bottom: 12px
    }

    .banner-v05 .desc {
        margin-bottom: 32px
    }
}

.banner-v06 {
    border-radius: 16px;
    position: relative;
    overflow: hidden
}

.banner-v06 .bn_image {
    display: flex
}

.banner-v06 .bn_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-v06 .bn_content {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    background: var(--white)
}

@media (max-width:575px) {
    .banner-v06 .bn_content {
        left: 15px;
        right: 15px;
        bottom: 15px;
        padding: 20px 15px
    }
}

.text-color-image {
    font-size: 174px;
    line-height: 119px;
    font-weight: 700;
    background-image: url(../images/section/text-image.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

@media (max-width:1439px) {
    .text-color-image {
        font-size: 188px;
        line-height: 160px
    }
}

@media (max-width:991px) {
    .text-color-image {
        font-size: 142px;
        line-height: 150px
    }
}

@media (max-width:767px) {
    .text-color-image {
        font-size: 100px;
        line-height: 108px
    }
}

@media (max-width:576px) {
    .text-color-image {
        font-size: 68px;
        line-height: 76px
    }
}

.banner-collect-v01 {
    background: var(--bg);
    gap: 30px;
    padding: 60px 30px;
    border-radius: 20px
}

.banner-collect-v01 .col-left {
    display: flex;
    flex-direction: column
}

.banner-collect-v01 .col-left .heading {
    margin-bottom: 30px
}

.banner-collect-v01 .col-left .list-btn-tab-accordion {
    margin-top: auto
}

.banner-collect-v01 .tab-content,
.banner-collect-v01 .tab-content .tab-pane {
    height: 100%
}

.banner-collect-v01 .collect-image {
    height: 100%;
    border-radius: 20px;
    overflow: hidden
}

.banner-collect-v01 .collect-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-collect-v01.style-2 .col-left {
    gap: 48px;
    align-items: start;
    order: 1
}

.banner-collect-v01.style-2 .col-right {
    order: 0
}

.banner-collect-v01.style-2 .heading {
    margin: 0
}

.banner-collect-v01.style-2 .list-btn-tab-accordion {
    width: 100%
}

.banner-collect-v01.style-2 .list-btn-tab-accordion li:first-child .accordion-title {
    padding-top: 0
}

.banner-collect-v01.style-2 .list-btn-tab-accordion li:last-child .accordion-title {
    padding-bottom: 0
}

@media (min-width:1440px) {
    .banner-collect-v01 {
        display: flex;
        justify-content: space-between;
        padding: 60px;
        gap: 60px
    }

    .banner-collect-v01 .col-left {
        max-width: 730px;
        width: 100%
    }

    .banner-collect-v01 .col-right {
        max-width: 760px;
        width: 100%
    }

    .banner-collect-v01.style-2 {
        padding: 0;
        background: transparent;
        gap: 80px;
        align-items: center
    }

    .banner-collect-v01.style-2 .col-left {
        max-width: 705px;
        width: 100%
    }

    .banner-collect-v01.style-2.st-2_2 .col-left {
        max-width: 625px
    }
}

@media (min-width:1600px) {
    .banner-collect-v01 {
        gap: 120px;
        padding: 80px
    }
}

@media (max-width:1439px) {
    .banner-collect-v01.style-2 .col-left {
        gap: 30px
    }
}

@media (max-width:767px) {
    .banner-collect-v01 {
        padding: 60px 15px
    }
}

.list-btn-tab-accordion {
    background: var(--white);
    padding-top: 8px;
    padding-bottom: 8px;
    border-radius: 12px
}

.list-btn-tab-accordion .accordion-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 32px 40px;
    transition: all .3s ease
}

.list-btn-tab-accordion .accordion-title .icon {
    font-size: 40px
}

.list-btn-tab-accordion .accordion-title:not(.collapsed) {
    padding-bottom: 8px
}

.list-btn-tab-accordion .accordion-title.collapsed {
    color: var(--text-2)
}

.list-btn-tab-accordion .accordion-content {
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 32px
}

.list-btn-tab-accordion.style-2 {
    background: transparent;
    padding: 0
}

.list-btn-tab-accordion.style-2 .accordion-title {
    padding-top: 20px;
    padding-left: 0;
    padding-right: 0
}

.list-btn-tab-accordion.style-2 .accordion-title.collapsed {
    padding-bottom: 20px
}

.list-btn-tab-accordion.style-2 .accordion-content {
    padding: 0 0 20px
}

@media (max-width:1199px) {
    .list-btn-tab-accordion .accordion-title {
        padding: 20px
    }

    .list-btn-tab-accordion .accordion-title .icon {
        font-size: 24px
    }

    .list-btn-tab-accordion .accordion-content {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px
    }
}

.banner-collect-v02 {
    background: var(--bg);
    border-radius: 16px;
    gap: 30px;
    padding: 80px;
    display: flex;
    justify-content: space-between
}

.banner-collect-v02 .col-left {
    display: flex;
    flex-direction: column
}

.banner-collect-v02 .col-left .bottom {
    margin-top: auto
}

.banner-collect-v02 .col-left .desc {
    margin-bottom: 20px
}

.banner-collect-v02 .tab-content,
.banner-collect-v02 .tab-content .tab-pane {
    height: 100%
}

.banner-collect-v02 .collect-image {
    border-radius: 16px;
    overflow: hidden;
    height: 100%
}

.banner-collect-v02 .collect-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-collect-v02 .list-thumb-image {
    display: flex;
    gap: 16px;
    margin-bottom: 20px
}

@media (min-width:1440px) {
    .banner-collect-v02 .col-left {
        max-width: 560px;
        width: 100%
    }

    .banner-collect-v02 .col-right {
        max-width: 805px;
        width: 100%
    }
}

@media (max-width:1439px) {
    .banner-collect-v02 {
        padding: 60px
    }

    .banner-collect-v02>* {
        width: 50%
    }
}

@media (max-width:1199px) {
    .banner-collect-v02 {
        padding: 60px 20px
    }
}

@media (max-width:991px) {
    .banner-collect-v02 {
        flex-wrap: wrap-reverse;
        padding: 60px 15px
    }

    .banner-collect-v02>* {
        width: 100%
    }

    .banner-collect-v02 .tab-btn-wrap-v3 {
        margin-bottom: 20px
    }

    .banner-collect-v02 .tf-btn-tab span {
        font-size: 20px;
        line-height: 24px
    }
}

.banner-collect-v03 .tab-btn-wrap-v3 {
    width: 100%;
    margin-bottom: 0
}

.banner-collect-v03 .col-left {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 44px
}

@media (min-width:1200px) {
    .banner-collect-v03 .col-left {
        padding-right: 40px
    }

    .banner-collect-v03 .col-right {
        margin-left: -10px
    }
}

@media (max-width:1199px) {
    .banner-collect-v03 .col-left {
        gap: 24px
    }
}

.section-term-user .content {
    display: grid;
    gap: 40px;
    max-width: 1008px;
    width: 100%;
    margin: 0 auto
}

.section-term-user .term-title {
    margin-bottom: 20px
}

.section-term-user .term-text span {
    font-weight: 500;
    color: var(--text)
}

.section-term-user .text-wrap {
    display: grid;
    gap: 16px
}

.section-highlight {
    position: relative;
    border-radius: 16px;
    overflow: hidden
}

.section-highlight .wrap-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0
}

.section-highlight img {
    min-height: 350px
}

.section-highlight .item {
    padding: 24px 15px;
    background: hsla(0, 0%, 100%, .102);
    backdrop-filter: blur(40px);
    transition: all .3s ease
}

.section-highlight .item .title,
.section-highlight .item p {
    transition: all .3s ease
}

.section-highlight .item:not(:last-child) {
    border-left: 1px solid hsla(0, 0%, 100%, .102)
}

@media (min-width:768px) {
    .section-highlight .item {
        padding: 32px 15px
    }
}

@media (min-width:1200px) {
    .section-highlight .item {
        padding: 32px
    }
}

.section-highlight .item:hover {
    background: var(--bg-2)
}

.section-highlight .item:hover .title {
    color: var(--text) !important
}

.section-highlight .item:hover p {
    color: var(--text-2) !important
}

@media (min-width:1200px) {
    .section-log .col-left {
        padding-right: 30px
    }

    .section-log .col-right {
        padding-left: 30px
    }
}

.banner-image-parallax {
    border-radius: 16px;
    overflow: hidden
}

.banner-image-parallax img {
    max-height: 560px;
    min-height: 400px;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-testimonial-v2 .wrap {
    background: var(--bg-7);
    border-radius: 20px
}

.section-thumbs-v2 .col-left {
    padding: 80px;
    background: var(--bg)
}

.section-thumbs-v2 .tes_thumb {
    display: flex;
    justify-content: space-between;
    position: absolute;
    left: 58px;
    right: 58px;
    top: 30%;
    z-index: 2
}

.section-thumbs-v2 .thumbs-prd .prd-image {
    max-width: 330px;
    border-radius: 8px;
    overflow: hidden;
    margin: 0 auto 58px
}

.section-thumbs-v2 .thumbs-prd .prd-mini {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: var(--white);
    border-radius: 12px
}

.section-thumbs-v2 .thumbs-prd .mini-infor {
    flex: 1;
    display: grid;
    place-items: start
}

.section-thumbs-v2 .thumbs-prd .mini-image {
    max-width: 88px;
    border-radius: 8px;
    overflow: hidden
}

.section-thumbs-v2 .thumbs-prd .mini-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: .88
}

.section-thumbs-v2 .thumbs-prd .btn-action {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: var(--text);
    color: var(--white);
    font-size: 24px
}

.section-thumbs-v2 .col-right .sw-image,
.section-thumbs-v2 .col-right .sw-thumb {
    height: 100%
}

.section-thumbs-v2 .col-right .sw-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width:992px) {
    .section-thumbs-v2 {
        display: flex
    }

    .section-thumbs-v2>* {
        width: 50%
    }

    .section-thumbs-v2 .col-left {
        order: 1
    }

    .section-thumbs-v2 .col-right {
        order: 2
    }
}

@media (min-width:1440px) {
    .section-thumbs-v2 .sect-heading {
        margin-bottom: 58px
    }
}

@media (max-width:1599px) {
    .section-thumbs-v2 .col-left {
        padding: 60px
    }

    .section-thumbs-v2 .thumbs-prd .prd-image {
        margin-bottom: 30px
    }
}

@media (max-width:1439px) {
    .section-thumbs-v2 .sect-heading {
        margin-bottom: 30px
    }

    .section-thumbs-v2 .col-left {
        padding: 60px 30px
    }

    .section-thumbs-v2 .tes_thumb {
        left: 15px;
        right: 15px
    }
}

@media (max-width:991px) {
    .section-thumbs-v2 .thumbs-prd .prd-image {
        margin-bottom: 15px
    }

    .section-thumbs-v2 .thumbs-prd .btn-action {
        width: 32px;
        height: 32px;
        font-size: 20px
    }
}

@media (max-width:767px) {
    .section-thumbs-v2 .col-left {
        padding: 60px 15px
    }
}

@media (max-width:425px) {
    .section-thumbs-v2 .col-left {
        padding: 40px 15px
    }
}

@media (min-width:1200px) {
    .banner-product-single-v2 .tf-product-media-thumbs {
        width: 100px;
        position: absolute;
        top: 16px;
        left: 16px;
        bottom: 16px;
        z-index: 2
    }

    .banner-product-single-v2 .product-thumbs-slider.style-row .tf-product-media-thumbs {
        width: 100px
    }

    .banner-product-single-v2 .product-thumbs-slider.style-row .tf-product-media-thumbs .swiper-slide {
        max-height: 100px
    }

    .banner-product-single-v2 .product-thumbs-slider.style-row .flat-wrap-media-product {
        max-width: 665px;
        width: 100%
    }

    .banner-product-single-v2 .tf-product-info-wrap {
        padding-left: 25px
    }
}

@media (min-width:1440px) {
    .section-feature .sect-heading {
        margin-bottom: 60px
    }
}

.banner-feature {
    position: relative
}

.banner-feature .feature-image {
    max-width: 658px;
    aspect-ratio: 1;
    width: 100%;
    margin: 0 auto;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.banner-feature .feature-image .image {
    border-radius: 50%;
    overflow: hidden
}

.banner-feature .feature-image:after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 4px solid var(--bg);
    pointer-events: none;
    transition: all .3s ease
}

.banner-feature .feature-detail {
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: hidden
}

.banner-feature .feature-detail .info__name {
    margin-bottom: 8px
}

.banner-feature .feature_illus {
    background: var(--bg-2);
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0
}

.banner-feature.style-2 .feature_illus {
    background: var(--primary)
}

.banner-feature.style-2 .feature_illus .icon {
    font-size: 52px;
    color: var(--white)
}

.banner-feature.style-2 .feature-image img {
    aspect-ratio: 1
}

.banner-feature.style-2 .feature-image:before {
    content: "";
    border-radius: 50%;
    background: var(--surface);
    position: absolute;
    inset: 50px
}

.banner-feature.style-2 .feature-image:after {
    border-width: 1px;
    border-color: var(--line)
}

@media (min-width:768px) {
    .banner-feature .feature-detail {
        position: absolute;
        z-index: 2
    }

    .banner-feature .feature-detail.pst-s1 {
        top: 18.9%;
        right: 67.69%;
        left: 0
    }

    .banner-feature .feature-detail.pst-s2 {
        bottom: 19.5%;
        right: 67.9%;
        left: 0
    }

    .banner-feature .feature-detail.pst-s3 {
        top: 18.6%;
        left: 67.8%;
        right: 0
    }

    .banner-feature .feature-detail.pst-s4 {
        bottom: 19.5%;
        left: 67.8%;
        right: 0
    }
}

@media (min-width:1440px) {
    .banner-feature.style-2 .feature_illus {
        width: 80px;
        height: 80px
    }

    .banner-feature.style-2 .feature-image {
        max-width: 860px
    }

    .banner-feature.style-2 .feature-image:before {
        width: 618px;
        height: 618px;
        inset: unset
    }
}

@media (max-width:1439px) {
    .banner-feature.style-2 .feature-image img {
        aspect-ratio: 1
    }
}

@media (max-width:1199px) {
    .banner-feature .feature-detail {
        gap: 12px
    }
}

@media (max-width:767px) {
    .banner-feature .feature-image {
        margin-bottom: 30px;
        padding: 30px
    }
}

@media (max-width:425px) {
    .banner-feature.style-2 .feature-image:before {
        inset: 20px
    }
}

@media (min-width:768px) and (max-width:1199px) and (max-width:1199px) {
    .banner-feature .feature-image {
        max-width: 500px;
        padding: 50px
    }
}

@media (min-width:576px) and (max-width:767px) {
    .banner-feature .info__desc {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }
}

.banner-v07 .banner-image {
    display: flex
}

.banner-v07 .bn_title {
    margin-bottom: 200px;
    letter-spacing: .054em
}

@media (min-width:992px) {
    .banner-v07 .card-product_v02 {
        max-width: 300px
    }
}

@media (max-width:1439px) {
    .banner-v07 .bn_title {
        margin-bottom: 80px
    }
}

@media (max-width:991px) {
    .banner-v07 .bn_title {
        margin-bottom: 30px
    }
}

.section-parallax {
    position: relative
}

.section-parallax .wg-circular-text {
    position: absolute;
    right: 180px;
    bottom: 0;
    transform: translateY(50%)
}

@media (min-width:1440px) {
    .section-parallax .wg-circular-text {
        right: 250px
    }
}

@media (max-width:767px) {
    .section-parallax .wg-circular-text {
        transform: unset;
        bottom: 20px;
        right: auto;
        left: 30px
    }
}

.s-bg-item {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    pointer-events: none
}

.s-bg-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:575px) {
    .section-featured-product .tf-swiper .tf-list {
        display: block
    }

    .section-featured-product .tf-swiper .tf-list .card-product:not(:last-child) {
        margin-bottom: 16px
    }
}

.tf-section-title {
    margin-bottom: 32px
}

.tf-section-title__title {
    font-weight: 700;
    margin-bottom: 8px
}

.tf-section-title__subtitle {
    color: var(--text-2);
    font-size: 16px;
    line-height: 24px
}

@media (max-width:767px) {
    .tf-section-title {
        margin-bottom: 24px
    }
}

.ec-cross-sale-section .ec-cross-sale-wrapper,
.ec-upsell-bundle .ec-upsell-bundle-wrapper {
    background: var(--white) !important;
    border: 1px solid var(--line) !important;
    border-radius: 12px !important;
    background-image: none !important
}

.ec-cross-sale-section,
.ec-upsell-bundle {
    --primary-color: var(--primary)
}

.ec-upsell-bundle .ec-upsell-bundle-wrapper {
    padding: 24px
}

.ec-upsell-bundle .ec-upsell-bundle-header {
    gap: 16px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px dashed var(--line) !important
}

.ec-upsell-bundle .ec-upsell-bundle-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px !important;
    background: var(--primary) !important;
    background-image: none !important;
    color: var(--white) !important;
    display: flex;
    align-items: center;
    justify-content: center
}

.ec-upsell-bundle .ec-upsell-bundle-icon svg {
    stroke: var(--white) !important;
    color: var(--white) !important
}

.ec-upsell-bundle .ec-upsell-bundle-title h4 {
    color: var(--text) !important;
    font-weight: 600 !important;
    margin-bottom: 4px
}

.ec-upsell-bundle .ec-upsell-bundle-title p {
    color: var(--text-2) !important;
    margin-bottom: 0
}

.ec-upsell-bundle .ec-upsell-bundle-item {
    background: var(--white) !important;
    background-image: none !important;
    border: 1px solid var(--line) !important;
    border-radius: 10px !important;
    transition: border-color .2s ease
}

.ec-upsell-bundle .ec-upsell-bundle-item:hover {
    border-color: var(--text) !important
}

.ec-upsell-bundle .ec-upsell-bundle-name {
    color: var(--text) !important
}

.ec-upsell-bundle .ec-upsell-price-sale {
    color: var(--primary) !important;
    font-weight: 600 !important
}

.ec-upsell-bundle .ec-upsell-price-original {
    color: var(--text-3) !important;
    text-decoration: line-through
}

.ec-upsell-bundle .ec-upsell-discount-badge {
    background: var(--primary) !important;
    background-image: none !important;
    color: var(--white) !important;
    border-radius: 6px !important;
    font-weight: 600 !important
}

.ec-upsell-bundle .ec-upsell-attribute-option {
    background: var(--bg) !important;
    background-image: none !important;
    border: 1px solid var(--line) !important;
    color: var(--text) !important;
    border-radius: 6px !important;
    transition: all .2s ease
}

.ec-upsell-bundle .ec-upsell-attribute-option:hover:not(.disabled) {
    border-color: var(--text) !important
}

.ec-upsell-bundle .ec-upsell-attribute-option input:checked+label,
.ec-upsell-bundle .ec-upsell-attribute-option.active,
.ec-upsell-bundle .ec-upsell-attribute-option.checked {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--white) !important
}

.ec-upsell-bundle .ec-upsell-bundle-add-btn,
.ec-upsell-bundle [data-upsale-add-btn] {
    background: var(--bg) !important;
    background-image: none !important;
    border: 1px solid var(--line) !important;
    color: var(--text-2) !important;
    border-radius: 50% !important;
    transition: all .2s ease
}

.ec-upsell-bundle .ec-upsell-bundle-add-btn:hover:not(:disabled),
.ec-upsell-bundle [data-upsale-add-btn]:hover:not(:disabled) {
    background: var(--text) !important;
    border-color: var(--text) !important;
    color: var(--white) !important
}

.ec-upsell-bundle .ec-upsell-bundle-add-btn:disabled,
.ec-upsell-bundle [data-upsale-add-btn]:disabled {
    opacity: .5
}

.ec-upsell-bundle .ec-upsell-bundle-footer {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin-top: 16px
}

.ec-upsell-bundle .ec-upsell-bundle-message,
.ec-upsell-bundle .ec-upsell-bundle-notice {
    background: var(--bg) !important;
    background-image: none !important;
    border: 1px solid var(--line) !important;
    color: var(--primary) !important;
    border-radius: 8px !important
}

.ec-upsell-bundle .ec-upsell-bundle-message svg,
.ec-upsell-bundle .ec-upsell-bundle-notice svg {
    color: var(--primary) !important;
    stroke: var(--primary) !important
}

.ec-upsell-bundle .ec-upsell-bundle-message span,
.ec-upsell-bundle .ec-upsell-bundle-notice span {
    color: var(--primary) !important
}

.ec-upsell-bundle .ec-upsell-bundle-add-all,
.ec-upsell-bundle [data-upsale-add-all] {
    background: var(--text) !important;
    background-image: none !important;
    border: 1px solid var(--text) !important;
    color: var(--white) !important;
    border-radius: 999px !important
}

.ec-upsell-bundle .ec-upsell-bundle-add-all:hover:not(:disabled),
.ec-upsell-bundle [data-upsale-add-all]:hover:not(:disabled) {
    background: var(--primary) !important;
    border-color: var(--primary) !important
}

.ec-upsell-bundle .ec-upsell-bundle-add-all:disabled,
.ec-upsell-bundle [data-upsale-add-all]:disabled {
    opacity: .5
}

.ec-upsell-bundle .ec-upsell-bundle-total,
.ec-upsell-bundle [data-upsale-total-price] {
    color: var(--primary) !important
}

.ec-cross-sale-section .ec-cross-sale-wrapper {
    padding: 24px
}

.ec-cross-sale-section .ec-cross-sale-header {
    gap: 16px;
    padding-bottom: 20px;
    margin-bottom: 24px;
    border-bottom: 1px dashed var(--line) !important
}

.ec-cross-sale-section .ec-cross-sale-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px !important;
    background: var(--text) !important;
    background-image: none !important;
    color: var(--white) !important;
    display: flex;
    align-items: center;
    justify-content: center
}

.ec-cross-sale-section .ec-cross-sale-icon svg {
    stroke: var(--white) !important;
    color: var(--white) !important
}

.ec-cross-sale-section .ec-cross-sale-title h4 {
    color: var(--text) !important;
    font-weight: 600 !important
}

.ec-cross-sale-section .ec-cross-sale-card,
.ec-cross-sale-section .ec-cross-sale-card-inner {
    background: var(--white) !important;
    background-image: none !important;
    border: 1px solid var(--line) !important;
    border-radius: 12px !important;
    transition: border-color .2s ease, box-shadow .2s ease
}

.ec-cross-sale-section .ec-cross-sale-card-inner:focus,
.ec-cross-sale-section .ec-cross-sale-card-inner:focus-visible,
.ec-cross-sale-section .ec-cross-sale-card-inner:focus-within,
.ec-cross-sale-section .ec-cross-sale-card-inner:hover,
.ec-cross-sale-section .ec-cross-sale-card:focus,
.ec-cross-sale-section .ec-cross-sale-card:focus-visible,
.ec-cross-sale-section .ec-cross-sale-card:focus-within,
.ec-cross-sale-section .ec-cross-sale-card:hover {
    border-color: var(--text) !important;
    outline: none !important
}

.ec-cross-sale-section .ec-cross-sale-slide,
.ec-cross-sale-section .slick-slide:focus,
.ec-cross-sale-section .slick-slide:focus-visible {
    outline: none !important
}

.ec-cross-sale-section .ec-cross-sale-thumb {
    background: var(--bg) !important;
    background-image: none !important;
    border-radius: 10px !important
}

.ec-cross-sale-section .ec-cross-sale-plus {
    background: var(--white) !important;
    background-image: none !important;
    border: 2px solid var(--line) !important;
    color: var(--text-2) !important;
    border-radius: 50% !important
}

.ec-cross-sale-section .ec-cross-sale-plus svg {
    color: var(--text-2) !important;
    stroke: var(--text-2) !important
}

.ec-cross-sale-section .ec-cross-sale-name {
    color: var(--text) !important
}

.ec-cross-sale-section .ec-cross-sale-price .price,
.ec-cross-sale-section .ec-cross-sale-price .price-sale,
.ec-cross-sale-section .ec-cross-sale-price-current,
.ec-cross-sale-section .ec-cross-sale-price-sale {
    color: var(--primary) !important;
    font-weight: 600 !important
}

.ec-cross-sale-section .ec-cross-sale-price .price-original,
.ec-cross-sale-section .ec-cross-sale-price-old,
.ec-cross-sale-section .ec-cross-sale-price-original {
    color: var(--text-3) !important;
    text-decoration: line-through
}

.ec-cross-sale-section .ec-cross-sale-add-btn,
.ec-cross-sale-section .ec-cross-sale-select-options-btn {
    background: var(--text) !important;
    background-image: none !important;
    border: 1px solid var(--text) !important;
    color: var(--white) !important;
    border-radius: 999px !important;
    font-weight: 500 !important;
    transition: all .2s ease
}

.ec-cross-sale-section .ec-cross-sale-add-btn:hover:not(:disabled),
.ec-cross-sale-section .ec-cross-sale-select-options-btn:hover:not(:disabled) {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--white) !important
}

.ec-cross-sale-section .ec-cross-sale-arrows .slick-arrow {
    background: var(--white) !important;
    background-image: none !important;
    border: 1px solid var(--line) !important;
    color: var(--text) !important;
    border-radius: 50% !important
}

.ec-cross-sale-section .ec-cross-sale-arrows .slick-arrow:hover {
    background: var(--text) !important;
    border-color: var(--text) !important;
    color: var(--white) !important
}

.ec-cross-sale-section .ec-cross-sale-swiper {
    overflow: hidden
}

.ec-cross-sale-section .ec-cross-sale-arrows .nav-next-swiper,
.ec-cross-sale-section .ec-cross-sale-arrows .nav-prev-swiper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background: var(--white);
    border: 1px solid var(--line);
    color: var(--text);
    border-radius: 50%;
    cursor: pointer;
    transition: all .2s ease
}

.ec-cross-sale-section .ec-cross-sale-arrows .nav-next-swiper:hover,
.ec-cross-sale-section .ec-cross-sale-arrows .nav-prev-swiper:hover {
    background: var(--text);
    border-color: var(--text);
    color: var(--white)
}

.ec-cross-sale-section .ec-cross-sale-arrows .nav-next-swiper.swiper-button-disabled,
.ec-cross-sale-section .ec-cross-sale-arrows .nav-prev-swiper.swiper-button-disabled {
    opacity: .4;
    cursor: not-allowed;
    pointer-events: none
}

.ec-cross-sale-section .ec-cross-sale-arrows .nav-next-swiper i,
.ec-cross-sale-section .ec-cross-sale-arrows .nav-prev-swiper i {
    font-size: 16px;
    line-height: 1
}

.bb-product-specs {
    padding: 8px 0 4px
}

.bb-product-specs__section {
    margin-bottom: 32px
}

.bb-product-specs__section:last-child {
    margin-bottom: 0
}

.bb-product-specs__group-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text);
    margin: 0 0 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
    letter-spacing: .01em
}

.bb-product-specs__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 48px;
    column-gap: 48px;
    row-gap: 0;
    margin: 0
}

@media (max-width:767px) {
    .bb-product-specs__list {
        grid-template-columns: 1fr;
        -moz-column-gap: 0;
        column-gap: 0
    }
}

.bb-product-specs__row {
    display: grid;
    grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr);
    -moz-column-gap: 24px;
    column-gap: 24px;
    align-items: baseline;
    padding: 14px 0;
    border-bottom: 1px dashed var(--line)
}

.bb-product-specs__row:last-child {
    border-bottom: 0
}

@media (max-width:575px) {
    .bb-product-specs__row {
        grid-template-columns: 1fr;
        row-gap: 4px;
        padding: 12px 0
    }
}

.bb-product-specs__label {
    color: var(--text-2)
}

.bb-product-specs__label,
.bb-product-specs__value {
    font-size: 14px;
    font-weight: 500;
    margin: 0;
    line-height: 1.5
}

.bb-product-specs__value {
    color: var(--text);
    font-variant-numeric: tabular-nums;
    word-break: break-word
}

.bb-product-specs__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4
}

.bb-product-specs__badge .ti,
.bb-product-specs__badge i,
.bb-product-specs__badge svg {
    font-size: 14px;
    width: 14px;
    height: 14px;
    flex-shrink: 0
}

.bb-product-specs__badge--yes {
    background: rgba(61, 171, 37, .1);
    color: var(--success)
}

.bb-product-specs__badge--no {
    background: rgba(240, 62, 62, .1);
    color: var(--critical)
}

.bb-product-detail .bb-product-attribute-swatch {
    display: grid;
    gap: 12px;
    margin-bottom: 16px
}

.bb-product-detail .bb-product-attribute-swatch-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text);
    margin: 0;
    line-height: 1.4
}

.bb-product-detail .bb-product-attribute-swatch-title:after {
    content: ""
}

.bb-product-detail .bb-product-attribute-swatch-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 0;
    margin: 0;
    list-style: none
}

.bb-product-detail .bb-product-attribute-swatch-item {
    position: relative;
    cursor: pointer;
    transition: all .2s ease
}

.bb-product-detail .bb-product-attribute-swatch-item>label {
    cursor: pointer;
    margin: 0
}

.bb-product-detail .bb-product-attribute-swatch-item input[type=radio] {
    position: absolute;
    opacity: 0;
    inset: 0;
    margin: 0;
    cursor: pointer;
    z-index: 1
}

.bb-product-detail .bb-product-attribute-swatch-item.disabled {
    opacity: .4;
    cursor: not-allowed
}

.bb-product-detail .bb-product-attribute-swatch-item.disabled input,
.bb-product-detail .bb-product-attribute-swatch-item.disabled>label {
    cursor: not-allowed
}

.bb-product-detail .bb-product-attribute-swatch.text-swatches-wrapper .bb-product-attribute-text-display {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: var(--white);
    color: var(--text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    transition: all .2s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.bb-product-detail .bb-product-attribute-swatch.text-swatches-wrapper .bb-product-attribute-swatch-item:hover:not(.disabled) .bb-product-attribute-text-display {
    border-color: var(--text)
}

.bb-product-detail .bb-product-attribute-swatch.text-swatches-wrapper .bb-product-attribute-swatch-item input[type=radio]:checked+.bb-product-attribute-text-display,
.bb-product-detail .bb-product-attribute-swatch.text-swatches-wrapper .bb-product-attribute-swatch-item.active .bb-product-attribute-text-display {
    background: var(--text);
    border-color: var(--text);
    color: var(--white)
}

.bb-product-detail .bb-product-attribute-swatch.text-swatches-wrapper .bb-product-attribute-swatch-item.disabled .bb-product-attribute-text-display {
    text-decoration: line-through
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-list.color-swatch .bb-product-attribute-swatch-display {
    position: static;
    transform: none;
    background-color: var(--bg)
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item {
    border-radius: 6px;
    box-shadow: none
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item input[type=radio]:checked~.bb-product-attribute-swatch-display,
.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item.active .bb-product-attribute-swatch-display,
.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item:hover .bb-product-attribute-swatch-display {
    transform: none;
    -webkit-transform: none
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item input[type=checkbox]:checked~.bb-product-attribute-swatch-display:before,
.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item input[type=radio]:checked~.bb-product-attribute-swatch-display:before {
    border-radius: 6px;
    border-color: var(--text)
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-display {
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 6px;
    border: 1px solid var(--line);
    background-color: var(--bg);
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    transition: border-color .2s ease, outline-color .2s ease
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item:hover:not(.disabled) .bb-product-attribute-swatch-display {
    border-color: var(--text)
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item input[type=radio]:checked+.bb-product-attribute-swatch-display,
.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item input[type=radio]:checked~.bb-product-attribute-swatch-display,
.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item.active .bb-product-attribute-swatch-display {
    outline: 2px solid var(--text);
    outline-offset: 2px;
    border-color: var(--text)
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item-tooltip {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 8px;
    background: var(--text);
    color: var(--white);
    font-size: 12px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s ease;
    z-index: 5
}

.bb-product-detail .bb-product-attribute-swatch.visual-swatches-wrapper .bb-product-attribute-swatch-item:hover .bb-product-attribute-swatch-item-tooltip {
    opacity: 1
}

.bb-product-detail .variant-picker-item {
    margin-bottom: 12px
}

.bb-product-detail .variant-picker-item .variant-picker-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px
}

.bb-product-detail .variant-picker-item .variant-picker-values {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px
}

.bb-product-detail .variant-color .color-btn>input[type=radio],
.bb-product-detail .variant-size .size-btn>input[type=radio] {
    position: absolute;
    opacity: 0;
    inset: 0;
    margin: 0;
    pointer-events: none
}

.bb-product-detail .variant-color .variant-picker-values {
    gap: 12px
}

.bb-product-detail .variant-color .color-btn:not(.select-item) {
    position: relative;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-align: center;
    border: 1px solid var(--line);
    cursor: pointer;
    border-radius: 50%;
    transition: all .2s ease
}

.bb-product-detail .variant-color .color-btn:not(.select-item) .check-color {
    width: 32px;
    height: 32px;
    display: flex;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid #dcdcdc;
    transition: all .2s ease
}

.bb-product-detail .variant-color .color-btn:not(.select-item).active {
    border-color: var(--text)
}

.bb-product-detail .variant-color .color-btn:not(.select-item).disabled {
    opacity: .3;
    pointer-events: none
}

.bb-product-detail .variant-color .color-btn.style-image {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    border: 1px solid transparent;
    overflow: hidden
}

.bb-product-detail .variant-color .color-btn.style-image .img {
    width: 100%;
    height: 100%;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    aspect-ratio: 1
}

.bb-product-detail .variant-color .color-btn.style-image .img img {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1
}

.bb-product-detail .variant-color .color-btn.style-image.active {
    outline: 2px solid var(--text);
    outline-offset: 2px;
    border-color: var(--text)
}

.bb-product-detail .variant-size .size-btn:not(.select-item) {
    position: relative;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    cursor: pointer;
    border-radius: 4px;
    background: var(--white);
    color: var(--text);
    transition: all .2s ease
}

.bb-product-detail .variant-size .size-btn:not(.select-item):hover {
    border-color: var(--text)
}

.bb-product-detail .variant-size .size-btn:not(.select-item).active {
    background: var(--text);
    color: var(--white);
    border-color: var(--text)
}

.bb-product-detail .variant-size .size-btn:not(.select-item).disabled {
    opacity: .3;
    pointer-events: none
}

.product-infor-reality {
    display: flex;
    align-items: center;
    gap: 10px
}

.product-infor-reality .ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    background: var(--text);
    color: var(--white);
    flex-shrink: 0
}

.product-infor-reality .ic .icon,
.product-infor-reality .ic i,
.product-infor-reality .ic svg {
    color: var(--white);
    font-size: 14px;
    line-height: 1
}

.product-infor-reality .text-caption-01 {
    color: var(--text)
}

.bb-size-guide-trigger-row {
    display: flex;
    justify-content: flex-end;
    margin: 8px 0 4px
}

.bb-size-guide-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color .2s ease
}

.bb-size-guide-link:focus,
.bb-size-guide-link:hover {
    color: var(--primary)
}

.modal-find_size .bb-size-guide-hero img {
    width: 100%;
    height: auto
}

.modal-find_size .bb-size-guide-tips h6 {
    color: var(--text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 4px
}

.modal-find_size .bb-size-guide-tips p {
    color: var(--text-2);
    margin: 0 0 12px
}

.modal-find_size .bb-size-guide-tips p:last-child {
    margin-bottom: 0
}

.modal-find_size .bb-size-guide-figure {
    display: flex;
    justify-content: center
}

.modal-find_size .bb-size-guide-figure img,
.modal-find_size .bb-size-guide-figure svg {
    width: 100%;
    max-width: 270px;
    height: auto;
    color: var(--text)
}

.tf-footer .br-line.fake-class {
    position: absolute;
    left: 0;
    right: 0
}

@media (max-width:425px) {
    .tf-footer .list-currenci {
        gap: 12px;
        place-items: center
    }
}

.tf-footer .footer-menu-list a,
.tf-footer .widget-footer-menu a {
    color: var(--text-2)
}

.tf-footer .footer-menu-list a:hover,
.tf-footer .widget-footer-menu a:hover {
    color: var(--primary)
}

.tf-footer.bg-dark .footer-menu-list a,
.tf-footer.bg-dark .widget-footer-menu a,
.tf-footer.bg-main-6 .footer-menu-list a,
.tf-footer.bg-main-6 .widget-footer-menu a,
.tf-footer.type-reverse .footer-menu-list a,
.tf-footer.type-reverse .widget-footer-menu a {
    color: var(--text-3)
}

.tf-footer.bg-dark .footer-menu-list a:hover,
.tf-footer.bg-dark .widget-footer-menu a:hover,
.tf-footer.bg-main-6 .footer-menu-list a:hover,
.tf-footer.bg-main-6 .widget-footer-menu a:hover,
.tf-footer.type-reverse .footer-menu-list a:hover,
.tf-footer.type-reverse .widget-footer-menu a:hover {
    color: var(--white)
}

.footer-inner {
    padding-bottom: 0
}

@media (min-width:576px) {
    .footer-inner {
        padding-bottom: 60px
    }
}

.footer-heading {
    font-weight: 600;
    margin-bottom: 12px
}

.footer-menu-list {
    display: grid;
    gap: 8px
}

.footer-bottom .text-copy {
    padding-bottom: 16px;
    text-align: center
}

@media (min-width:1440px) {
    .footer-bottom .text-copy {
        padding-top: 16px
    }
}

@media (min-width:576px) {

    .footer-wrap-1,
    .footer-wrap-2 {
        width: -moz-max-content;
        width: max-content
    }
}

.footer-wrap-3 .footer-desc,
.footer-wrap-3 .form-sub {
    margin-bottom: 20px
}

@media (min-width:992px) {
    .footer-wrap-3 {
        max-width: 400px;
        margin-left: auto
    }
}

.footer-infor {
    margin-bottom: 28px
}

.footer-bottom {
    position: relative
}

.footer-bottom .inner-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 16px;
    padding-bottom: 16px
}

.footer-bottom .payment-list {
    gap: 8px;
    justify-content: flex-end
}

.footer-bottom .tf-list {
    flex: 1
}

@media (max-width:991px) {
    .footer-bottom .text-nocopy {
        width: 100%;
        text-align: center
    }

    .footer-bottom .tf-list {
        flex: unset;
        order: 1
    }
}

@media (max-width:767px) {
    .footer-bottom .inner-bottom {
        justify-content: center
    }
}

.footer-col-block {
    margin-bottom: 28px
}

@media (max-width:575px) {
    .footer-heading-mobile {
        display: block;
        position: relative;
        padding-right: 20px;
        line-height: 24px;
        margin-bottom: 0;
        transition: all .3s ease
    }

    .footer-heading-mobile:after {
        right: 0;
        transform: translateY(-50%);
        width: 12px;
        height: 1px
    }

    .footer-heading-mobile:after,
    .footer-heading-mobile:before {
        position: absolute;
        content: "";
        top: 50%;
        background-color: var(--text);
        transition: .25s ease-in-out
    }

    .footer-heading-mobile:before {
        right: 5px;
        transform: translate(-50%, -50%);
        width: 1px;
        height: 12px
    }

    .inner-right .footer-col-block .tf-collapse-content {
        margin-top: 20px
    }

    .inner-right .footer-col-block .footer-heading {
        margin-bottom: 0
    }

    .inner-center .footer-col-block .tf-collapse-content {
        margin-bottom: 20px
    }

    .footer-col-block {
        margin-bottom: 16px;
        padding-bottom: 16px;
        border-bottom: 1px solid var(--line)
    }

    .footer-col-block.open .footer-heading-mobile {
        margin-bottom: 12px
    }

    .footer-col-block.open .footer-heading-mobile:before {
        opacity: 0
    }

    .footer-col-block.open .footer-heading-mobile:after {
        transform: translateY(-50%) rotate(180deg)
    }

    .footer-col-block .tf-collapse-content {
        display: none
    }

    .footer-col-block.type-white {
        border-color: var(--white-10)
    }

    .footer-col-block.type-white .footer-heading:after,
    .footer-col-block.type-white .footer-heading:before {
        background-color: var(--white)
    }
}

@media (min-width:1200px) {
    .list-currenci {
        gap: 28px
    }
}

.infiniteSlide-footer-text {
    position: relative;
    padding-top: 16px;
    padding-bottom: 16px
}

.infiniteSlide-footer-text:after,
.infiniteSlide-footer-text:before {
    content: "";
    position: absolute;
    width: clamp(100px, 10vw, 140px);
    z-index: 1
}

.infiniteSlide-footer-text:before {
    left: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(90deg, #101010, rgba(16, 16, 16, 0))
}

.infiniteSlide-footer-text:after {
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(270deg, #101010, rgba(16, 16, 16, 0))
}

.infiniteSlide-footer-text.type-2:before {
    background: linear-gradient(90deg, #103c29, rgba(16, 60, 41, 0))
}

.infiniteSlide-footer-text.type-2:after {
    background: linear-gradient(270deg, #103c29, rgba(16, 60, 41, 0))
}

.footer-s2 .tf-dropdown-select.style-default .filter-option-inner-inner {
    color: #fff
}

.footer-s2 .footer-inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    gap: 30px
}

.footer-s2 .footer-inner>.br-line:not(.fake-class) {
    height: 100%
}

.footer-s2 .footer-inner>.br-line:not(.fake-class):after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--white-10)
}

.footer-s2 .col-right {
    display: flex;
    gap: 60px;
    justify-content: center
}

@media (min-width:576px) {
    .footer-s2 .footer-wrap-4 {
        max-width: 320px
    }
}

@media (min-width:1440px) {
    .footer-s2 .footer-inner {
        padding-top: 80px
    }

    .footer-s2 .col-right {
        gap: 100px
    }

    .footer-s2.type-reverse .footer-inner>.br-line:not(.fake-class) {
        order: 2
    }

    .footer-s2.type-reverse .col-right {
        gap: 140px;
        order: 1
    }

    .footer-s2.type-reverse .col-right .footer-wrap-4 {
        order: 1
    }

    .footer-s2.type-reverse .col-right .footer-wrap-1 {
        order: 2
    }

    .footer-s2.type-reverse .col-left,
    .footer-s2.type-reverse .col-right .footer-wrap-2 {
        order: 3
    }

    .footer-s2.type-reverse .footer-wrap-3 {
        max-width: 420px
    }
}

@media (max-width:1199px) {
    .footer-s2 .footer-inner {
        flex-direction: column
    }

    .footer-s2 .footer-inner>.br-line:not(.fake-class) {
        display: none
    }

    .footer-s2 .footer-inner .col-right {
        justify-content: space-between;
        gap: 20px
    }

    .footer-s2 .footer-inner .col-right>* {
        width: 100%
    }
}

@media (max-width:575px) {
    .footer-s2 .col-right {
        flex-direction: column
    }

    .footer-s2 .footer-inner,
    .footer-s2 .footer-inner .col-right {
        gap: 0
    }
}

@media (min-width:1440px) {
    .footer-s2.v2 .col-right {
        gap: 80px
    }
}

@media screen and (min-width:1600px) {
    .footer-s2.v2 .col-right {
        gap: 140px
    }
}

.footer-s3 {
    background: var(--bg-3)
}

.footer-s3 .footer-inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    gap: 30px
}

.footer-s3 .footer-inner>.br-line {
    height: 100%
}

.footer-s3 .footer-inner>.br-line:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--white-10)
}

.footer-s3 .footer-inner>.br-line.cl-nor:after {
    background: var(--line)
}

.footer-s3 .footer-link-list {
    display: flex;
    justify-content: center;
    gap: 40px
}

.footer-s3 .footer-wrap-3 {
    margin-left: 0
}

@media (min-width:576px) {
    .footer-s3 .footer-col-block {
        margin-bottom: 0
    }

    .footer-s3 .footer-inner {
        padding-top: 60px
    }
}

@media (min-width:1200px) {
    .footer-s3 .footer-col-block.footer-wrap-start {
        max-width: 320px;
        width: 100%
    }

    .footer-s3 .footer-col-block.footer-wrap-end {
        max-width: 400px;
        width: 100%
    }

    .footer-s3 .col-left,
    .footer-s3 .col-right {
        flex: 1
    }

    .footer-s3 .col-center {
        flex: 1.5
    }
}

@media (min-width:1440px) {
    .footer-s3 .footer-link-list {
        gap: 70px
    }

    .footer-s3 .col-center,
    .footer-s3 .col-left,
    .footer-s3 .col-right {
        flex: unset
    }

    .footer-s3.type-2 .footer-inner {
        padding-top: 80px
    }
}

@media (min-width:1600px) {
    .footer-s3 .footer-link-list {
        gap: 140px
    }
}

@media (max-width:1199px) {
    .footer-s3 .footer-inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px
    }

    .footer-s3 .footer-inner>.br-line {
        display: none
    }

    .footer-s3 .footer-inner .col-right {
        order: 1
    }

    .footer-s3 .footer-inner .col-center {
        order: 2;
        grid-column: 1/-1
    }

    .footer-s3 .footer-link-list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 30px
    }
}

@media (max-width:575px) {

    .footer-s3 .footer-inner,
    .footer-s3 .footer-link-list {
        grid-template-columns: 1fr;
        gap: 0
    }
}

.footer-hero-text {
    font-size: clamp(64px, 12vw, 230px);
    line-height: clamp(64px, 9.7vw, 174px);
    letter-spacing: .06em;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
    position: relative
}

.footer-hero-text:after {
    content: "";
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(1turn, #101010, rgba(16, 16, 16, 0));
    pointer-events: none
}

.body-landing {
    background: #0e0c0b;
    color: var(--white);
    padding: 0
}

@media (max-width:1199px) {
    .body-landing #goTop {
        bottom: 40px
    }
}

.tf-header-landing {
    padding-top: 15px;
    padding-bottom: 15px
}

@media (min-width:1200px) {
    .tf-header-landing {
        margin-top: 30px;
        margin-bottom: 50px;
        padding: 0
    }
}

.header-landing_inner {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.header-landing_inner .group-btn {
    gap: 16px
}

.header-landing_inner .item-link {
    padding-top: 26px;
    padding-bottom: 26px
}

@media (max-width:767px) {
    .header-landing_inner .logo {
        width: 130px
    }
}

.body-item {
    position: absolute;
    width: 480px;
    height: 480px;
    background: #ff6242;
    opacity: .3;
    filter: blur(175px);
    border-radius: 40px;
    transform: matrix(1, 0, 0, -1, 0, 0)
}

.body-item.pst-1 {
    left: -220px;
    top: -160px
}

.body-item.pst-2 {
    top: 0;
    bottom: 0;
    left: 0;
    transform: translateX(-50%)
}

.bg-item-block {
    position: absolute
}

.bg-item-block span {
    width: 480px;
    height: 480px;
    background: #ff6242;
    opacity: .3;
    filter: blur(175px);
    border-radius: 40px;
    transform: matrix(1, 0, 0, -1, 0, 0);
    display: block
}

.bg-item-block.pst-1 {
    left: 0;
    top: 100px
}

.bg-item-block.pst-2 {
    right: 0;
    bottom: -13%
}

.bg-item-block.pst-3 {
    right: 0;
    top: 40%
}

.bg-item-block.pst-4 {
    left: 0;
    bottom: 3%
}

.bg-item-block.pst-5 {
    right: 0;
    bottom: -20%
}

.section-intro-landing {
    position: relative
}

.section-intro-landing .bg-item-block {
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;
    right: 0;
    top: 140%;
    display: flex;
    justify-content: end;
    align-items: end
}

.section-intro-landing .main-tag {
    padding: 4px 16px;
    border-radius: 100px;
    background: var(--primary);
    display: inline-flex
}

.section-intro-landing .counter-grid {
    max-width: 811px;
    margin: 0 auto;
    padding-top: 10px
}

.section-intro-landing .content {
    margin-bottom: 60px
}

.section-intro-landing .intro-image {
    padding: 16px 20px 20px;
    border-radius: 20px;
    background: var(--white-10);
    border-top: 4px solid var(--primary);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center
}

.section-intro-landing .intro-image .image {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.section-intro-landing .intro-image .image img {
    min-height: 300px;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-intro-landing .intro-image .list-action {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    left: 15px;
    right: 15px
}

.section-intro-landing .intro-image:before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .8);
    z-index: 2
}

.section-intro-landing .intro-image:after {
    content: "";
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 80px;
    background: linear-gradient(0deg, #ff6242, #ff6242);
    filter: blur(50px);
    opacity: .8;
    z-index: 0
}

@media (min-width:1200px) {
    .section-intro-landing .counter-grid {
        display: flex;
        gap: 100px !important;
        justify-content: center
    }
}

.section-potent .s-desc {
    margin-bottom: 40px
}

.section-potent .col-right {
    position: relative;
    padding-top: 30px;
    padding-left: 75px;
    padding-right: 30px;
    margin: 0 auto
}

.section-potent .col-right .center {
    border-radius: 16px;
    width: 100%;
    padding: 58px 40px 34px;
    display: grid;
    place-items: center;
    text-align: center;
    background: var(--white-04)
}

.section-potent .col-right .top {
    display: flex;
    align-items: center;
    gap: 16px
}

.section-potent .col-right .text-fast {
    background: #292a2d;
    padding: 4px 8px;
    border-radius: 6px
}

.section-potent .main-perform {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 18px 48px;
    background: #292a2d;
    border-radius: 16px
}

.section-potent .right-contact {
    padding: 12px 20px;
    right: 0;
    top: 0
}

.section-potent .right-author,
.section-potent .right-contact {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #292a2d;
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    border-radius: 12px;
    position: absolute
}

.section-potent .right-author {
    left: 0;
    bottom: 19px;
    padding: 14px 18px
}

@media (min-width:1200px) {
    .section-potent .col-left {
        max-width: 530px;
        width: 100%
    }
}

@media (min-width:992px) {
    .section-potent .col-right {
        max-width: 721px;
        width: 100%
    }
}

@media (max-width:767px) {
    .section-potent .main-perform {
        gap: 12px;
        padding: 20px
    }

    .section-potent .col-right {
        padding-left: 0
    }

    .section-potent .col-right .center {
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 30px
    }
}

@media (max-width:575px) {
    .section-potent .main-perform {
        flex-wrap: wrap;
        justify-content: center
    }
}

@media (max-width:425px) {
    .section-potent .col-right {
        padding-top: 30px;
        padding-right: 0
    }

    .section-potent .col-right .top {
        flex-wrap: wrap;
        gap: 12px;
        justify-content: center
    }
}

.land-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 48px
}

.land-heading.type-2 {
    flex-direction: column;
    text-align: center
}

@media (max-width:1199px) {
    .land-heading {
        margin-bottom: 30px
    }
}

.land-heading-2 {
    margin-bottom: 40px
}

@media (max-width:1199px) {
    .land-heading-2 {
        margin-bottom: 30px
    }
}

.section-why-choose {
    position: relative
}

.section-why-choose .bg-item-block {
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;
    right: 0;
    top: 140%;
    display: flex;
    justify-content: end;
    align-items: end
}

.choose-grid .grid-item {
    padding: 20px;
    border: 1px solid var(--white-10);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 30px
}

.choose-grid .grid-item.item-1 {
    text-align: center
}

.choose-grid .grid-item.item-2 {
    gap: 24px;
    padding: 23px
}

.choose-grid .grid-item.item-2 .item_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%
}

.choose-grid .grid-item.item-2 .item_image {
    border-radius: 12px;
    overflow: hidden
}

.choose-grid .grid-item.item-2 .item_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: .8047337278
}

.choose-grid .grid-item.item-3,
.choose-grid .grid-item.item-4 {
    text-align: center
}

.choose-grid .grid-item .list-fe {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px 12px
}

.choose-grid .grid-item .list-fe .item {
    width: calc(50% - 6px);
    display: grid;
    place-items: center;
    color: var(--white)
}

.choose-grid .grid-item .list-fe .img {
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    max-width: 70px
}

.choose-grid .grid-item .list-fe .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.choose-grid .grid-item.item-4 {
    padding-bottom: 0;
    justify-content: space-between
}

@media (min-width:768px) {
    .choose-grid .grid-item.item-4 {
        padding-top: 40px
    }
}

@media (max-width:1439px) {
    .choose-grid .col-s1 .item_image {
        max-width: 200px
    }
}

@media (max-width:991px) {
    .choose-grid .col-s2 {
        order: 2
    }

    .choose-grid .col-s3 {
        order: 1
    }

    .choose-grid .grid-item.item-3 .item_image {
        max-width: 240px
    }
}

@media (min-width:576px) and (max-width:991px) {
    .choose-grid .col-s2 {
        grid-column: 1/-1
    }
}

.counter-home .number-count {
    font-size: clamp(80px, 10vw, 160px);
    line-height: calc(clamp(70px, 10vw, 160px)*1.3)
}

@media (min-width:992px) {
    .counter-home {
        margin-bottom: -30px
    }
}

.tf-btn-landing {
    border: 1px solid var(--white-10);
    border-radius: 12px;
    height: 50px;
    padding-left: 23px;
    padding-right: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden
}

.tf-btn-landing .text-btn {
    color: var(--white);
    font-weight: 600;
    position: relative;
    z-index: 3
}

.tf-btn-landing .overlay_text {
    position: absolute;
    z-index: 1;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden
}

.tf-btn-landing .overlay_text.s1 {
    background: linear-gradient(90deg, #ff9993, #81fbff, #ff9993);
    background-size: 200% 100%;
    animation: gradientFlow 2s linear infinite;
    inset: 0;
    border-radius: 11px;
    z-index: 1
}

.tf-btn-landing .overlay_text.s2 {
    inset: 2px;
    border-radius: 10px;
    background: #262423;
    z-index: 2
}

.tf-btn-landing.active .overlay_text,
.tf-btn-landing:hover .overlay_text {
    opacity: 1;
    visibility: visible
}

@keyframes gradientFlow {
    0% {
        background-position: 0 50%
    }

    to {
        background-position: 200% 50%
    }
}

.posttype-filter {
    display: flex;
    align-items: center;
    overflow: auto;
    gap: 16px;
    white-space: nowrap;
    margin-bottom: 30px
}

@media (min-width:1200px) {
    .posttype-filter {
        margin-bottom: 40px;
        justify-content: center
    }
}

.card-demo {
    border: 1px solid var(--white-10);
    border-radius: 16px;
    padding: 23px;
    display: grid;
    gap: 24px;
    position: relative;
    transition: all .3s ease
}

.card-demo.coming {
    pointer-events: none
}

.card-demo.coming .demo-image {
    aspect-ratio: 1.34;
    background: #000;
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    background: hsla(0, 0%, 100%, .102);
    display: flex;
    align-items: center;
    justify-content: center
}

.card-demo.coming .demo-image .text_coming,
.card-demo:after {
    position: absolute
}

.card-demo:after {
    content: "";
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border: 2px solid var(--primary);
    border-radius: 16px;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden
}

.card-demo .demo-image {
    border-radius: 12px;
    overflow: hidden;
    position: relative
}

.card-demo .demo-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.card-demo .demo-image .group-action {
    position: absolute;
    gap: 12px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 1;
    transition: all .3s ease
}

.card-demo .demo-image:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70%;
    background: linear-gradient(180deg, rgba(223, 66, 66, 0) 20.58%, rgba(223, 66, 66, .5) 102.91%);
    transition: all .3s ease;
    pointer-events: none
}

.card-demo .demo-content {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.card-demo .demo_tag {
    padding: 4px 12px;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 500
}

.card-demo .demo_tag.hot {
    background: var(--primary)
}

.card-demo .demo_tag.trend {
    background: var(--yellow)
}

.card-demo .demo_tag.new {
    background: var(--pink)
}

.card-demo .demo-image .group-action {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px)
}

.card-demo .demo-image .group-action .tf-btn {
    width: 100%
}

.card-demo .demo-image:after {
    height: 0;
    opacity: 0;
    visibility: hidden
}

.card-demo:hover:after {
    opacity: 1;
    visibility: visible
}

.card-demo:hover .demo-image .group-action {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.card-demo:hover .demo-image:after {
    height: 70%;
    opacity: 1;
    visibility: visible
}

@media (min-width:768px) {
    .card-demo .demo-image .group-action {
        margin: 0 auto;
        width: 50%
    }
}

@media (max-width:991px) {
    .card-demo .demo_tag {
        display: none
    }
}

@media (max-width:767px) {
    .card-demo {
        padding: 12px;
        gap: 12px
    }

    .card-demo .demo-image img {
        aspect-ratio: 1.25
    }

    .card-demo .demo-image .group-action {
        display: none
    }

    .card-demo .demo-content {
        justify-content: center
    }
}

@media (max-width:575px) {
    .card-demo .demo_name {
        font-size: 20px
    }
}

.demo-filter {
    transition: all .3s ease
}

@media (max-width:767px) {
    .demo-filter {
        margin-left: -10px !important;
        margin-right: -10px !important
    }

    .demo-filter>* {
        padding-left: 10px !important;
        padding-right: 10px !important
    }
}

.card-device-mobile {
    padding: 19px;
    background: var(--white-10);
    border: 1px solid var(--white-10);
    border-radius: 16px;
    display: grid;
    gap: 20px;
    text-align: center
}

.card-device-mobile .wrap-video {
    border-radius: 12px;
    overflow: hidden
}

@media (max-width:1199px) {
    .card-device-mobile {
        padding: 12px;
        gap: 12px
    }
}

.infiniteSlide-func .infiniteSlide-item {
    margin-left: 12px;
    margin-right: 12px
}

.wg-func {
    padding: 15px 23px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    border: 1px solid var(--white-10);
    background: linear-gradient(103.12deg, hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, .01))
}

.section-func {
    position: relative
}

.section-func .infiniteSlide-func:not(:last-child) {
    margin-bottom: 24px
}

.section-func:after,
.section-func:before {
    content: "";
    position: absolute;
    width: 30%;
    top: 0;
    bottom: 0;
    z-index: 1
}

.section-func:after {
    right: 0;
    background: linear-gradient(90deg, rgba(14, 12, 11, 0) .29%, #0e0c0b 56.23%)
}

.section-func:before {
    left: 0;
    background: linear-gradient(-90deg, rgba(14, 12, 11, 0) .29%, #0e0c0b 56.23%)
}

@media (max-width:1439px) {

    .section-func:after,
    .section-func:before {
        width: 10%
    }
}

.wg-exclusive {
    padding: 31px 15px;
    background: #262423;
    border-radius: 12px;
    text-align: center
}

.wg-exclusive .image {
    margin-bottom: 12px
}

.wg-exclusive .name {
    margin-bottom: 8px
}

@media (max-width:991px) {
    .wg-exclusive .image {
        max-width: 80px;
        margin-left: auto;
        margin-right: auto
    }
}

.section-exclusive {
    background: linear-gradient(270deg, rgba(134, 60, 163, .12), rgba(229, 119, 112, .12))
}

.section-exclusive .col-right {
    display: flex;
    gap: 16px;
    -webkit-mask-image: linear-gradient(180deg, rgba(16, 16, 16, 0), rgba(16, 16, 16, .1) 4.85%, rgba(16, 16, 16, .8) 9.81%, #101010 49.61%, rgba(16, 16, 16, .8) 90.18%, rgba(16, 16, 16, .1) 94.91%, rgba(16, 16, 16, 0));
    -webkit-mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-image: linear-gradient(180deg, rgba(16, 16, 16, 0), rgba(16, 16, 16, .1) 4.85%, rgba(16, 16, 16, .8) 9.81%, #101010 49.61%, rgba(16, 16, 16, .8) 90.18%, rgba(16, 16, 16, .1) 94.91%, rgba(16, 16, 16, 0));
    mask-mode: alpha;
    mask-repeat: no-repeat
}

.section-exclusive .col-right>* {
    width: 50%
}

@media (min-width:1200px) {
    .section-exclusive .col-right {
        padding-left: 30px
    }
}

@media (max-width:991px) {
    .section-exclusive .col-left {
        text-align: center;
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.infiniteSlide-exclusive {
    max-height: 780px
}

.infiniteSlide-exclusive .infiniteSlide-item {
    margin-top: 8px;
    margin-bottom: 8px;
    width: 100%
}

@media (max-width:1199px) {
    .infiniteSlide-exclusive {
        max-height: 600px
    }
}

@media (max-width:991px) {
    .infiniteSlide-exclusive {
        max-height: 450px
    }
}

.box-trusted {
    gap: 12px
}

.box-trusted,
.box-trusted .list-avt {
    display: flex;
    align-items: center
}

.box-trusted .avt-item {
    border-radius: 50%;
    overflow: hidden;
    position: relative
}

.box-trusted .avt-item:not(:last-child) {
    margin-right: -16px
}

.section-trusted {
    position: relative
}

.section-trusted .bg-img-item {
    display: flex
}

@media (min-width:1200px) {
    .section-trusted .sect-heading {
        margin-bottom: 60px
    }
}

.banner-block-element {
    position: relative
}

.banner-block-element .bn_title {
    margin-bottom: 40px
}

.banner-block-element .bn-content {
    position: absolute;
    inset: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 2
}

.banner-block-element .bn-image {
    position: relative
}

.banner-block-element .bn-image .overlay {
    position: absolute;
    inset: 0;
    background: #0e0c0b;
    opacity: .7;
    z-index: 1
}

.banner-block-element:after,
.banner-block-element:before {
    content: "";
    left: 0;
    right: 0;
    position: absolute;
    height: 15%;
    z-index: 3
}

.banner-block-element:before {
    top: 0;
    background: linear-gradient(180deg, #0e0c0b .51%, rgba(14, 12, 11, 0))
}

.banner-block-element:after {
    bottom: 0;
    background: linear-gradient(0deg, #0e0c0b .51%, rgba(14, 12, 11, 0))
}

@media (max-width:1439px) {
    .banner-block-element .bn-image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        height: 80vh
    }
}

.banner-help {
    border: 1px solid var(--white-10);
    border-radius: 16px;
    padding: 60px 60px 60px 40px;
    gap: 54px;
    position: relative;
    overflow: hidden
}

.banner-help .ov-item {
    position: absolute;
    width: 548px;
    height: 548px;
    top: -51px;
    background: #ff6242;
    opacity: .1;
    filter: blur(175px);
    border-radius: 40px;
    transform: matrix(1, 0, 0, -1, 0, 0)
}

@media (min-width:992px) {
    .banner-help {
        display: flex;
        align-items: center
    }

    .banner-help .bn-content,
    .banner-help .bn-image {
        width: 50%
    }
}

@media (min-width:1440px) {
    .banner-help .bn-image {
        max-width: 540px;
        width: 100%
    }

    .banner-help .bn-content {
        max-width: 716px;
        width: 100%
    }
}

@media (max-width:1439px) {
    .banner-help {
        gap: 30px;
        padding: 30px
    }
}

@media (max-width:991px) {
    .banner-help .bn-image {
        margin-bottom: 30px
    }

    .banner-help .bn-image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }
}

.tf-landing-footer {
    background: linear-gradient(270deg, rgba(229, 119, 112, .12), rgba(134, 60, 163, .12));
    position: relative;
    overflow: hidden
}

.tf-landing-footer .bg-item {
    position: absolute;
    width: 548px;
    height: 548px;
    left: -201px;
    bottom: -89px;
    background: #ff6242;
    opacity: .2;
    filter: blur(175px);
    border-radius: 40px;
    transform: matrix(1, 0, 0, -1, 0, 0)
}

.tf-landing-footer .col-right {
    display: flex;
    gap: 16px;
    -webkit-mask-image: linear-gradient(180deg, rgba(16, 16, 16, 0), rgba(16, 16, 16, .1) 4.85%, rgba(16, 16, 16, .8) 9.81%, #101010 49.61%, rgba(16, 16, 16, .8) 90.18%, rgba(16, 16, 16, .1) 94.91%, rgba(16, 16, 16, 0));
    -webkit-mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-image: linear-gradient(180deg, rgba(16, 16, 16, 0), rgba(16, 16, 16, .1) 4.85%, rgba(16, 16, 16, .8) 9.81%, #101010 49.61%, rgba(16, 16, 16, .8) 90.18%, rgba(16, 16, 16, .1) 94.91%, rgba(16, 16, 16, 0));
    mask-mode: alpha;
    mask-repeat: no-repeat
}

.tf-landing-footer .col-right>* {
    width: 50%
}

@media (min-width:1200px) {
    .tf-landing-footer .col-right {
        padding-left: 30px
    }
}

@media (max-width:991px) {
    .tf-landing-footer .col-left {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.benefit-list {
    display: grid;
    gap: 20px
}

.benefit-list .benegit-item {
    display: flex;
    align-items: center;
    gap: 12px
}

.benefit-list .icon {
    font-size: 24px
}

.tf-landing-footer .col-left .logo-site,
.tf-landing-footer .col-left .s-title {
    margin-bottom: 32px
}

.tf-landing-footer .col-left .benefit-list {
    margin-bottom: 40px
}

@media (max-width:1199px) {

    .tf-landing-footer .col-left .logo-site,
    .tf-landing-footer .col-left .s-title {
        margin-bottom: 24px
    }

    .tf-landing-footer .col-left .benefit-list {
        margin-bottom: 32px
    }
}

.wg-image-page {
    border-radius: 8px;
    overflow: hidden
}

.wg-image-page img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: .9696969697
}

.section-prd-feature {
    position: relative;
    overflow: hidden
}

.section-prd-feature .bg-item.item-1 {
    position: absolute;
    top: -40px;
    left: 26%;
    right: 26%;
    height: 80px;
    opacity: .6;
    border-radius: 40px;
    padding: 12px;
    background: linear-gradient(0deg, #ff6242, #ff6242);
    filter: blur(50px)
}

.land-feature-v01 {
    border-radius: 16px;
    border: 1px solid var(--white-10);
    padding: 20px;
    position: relative
}

.land-feature-v01 .feature-image {
    border-radius: 12px;
    overflow: hidden
}

.land-feature-v01 .feature-image_abs {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.land-feature-v01.style-3 .image-right {
    position: absolute;
    top: 0;
    left: 67%;
    right: 0;
    bottom: 0
}

.land-feature-v01.style-4 {
    padding: 0
}

.land-feature-v01.style-4 .feature-content {
    padding: 20px
}

@media (min-width:1200px) {
    .land-feature-v01 {
        padding: 39px
    }

    .land-feature-v01.style-2 {
        padding: 31px
    }

    .land-feature-v01.style-3 {
        padding: 31px;
        display: flex
    }

    .land-feature-v01.style-4 .feature-content {
        padding: 31px
    }
}

@media (max-width:1439px) {
    .land-feature-v01 .feature-image img {
        max-height: 350px;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    .land-feature-v01.style-3 .left {
        width: 100%
    }
}

@media (max-width:1199px) {
    .land-feature-v01 {
        height: 100%;
        display: flex;
        flex-direction: column
    }

    .land-feature-v01 .feature-image {
        width: 100%;
        height: 100%;
        display: flex
    }

    .land-feature-v01 .feature-image img {
        min-height: 300px
    }

    .land-feature-v01 .left {
        display: flex;
        flex-direction: column
    }

    .land-feature-v01:not(.has-img_abs) .feature-image {
        order: 1;
        margin-bottom: 24px !important
    }

    .land-feature-v01:not(.has-img_abs) .feature-content {
        order: 2;
        margin-bottom: 0 !important
    }
}

@media (max-width:767px) {
    .land-feature-v01 .feature-image img {
        max-height: unset
    }
}

@media (max-width:991px) {
    .feature-grid_wrap {
        display: flex;
        flex-direction: column
    }

    .feature-grid_wrap>* {
        height: 100%
    }
}

.section-launch {
    position: relative
}

.section-launch .launch-image {
    border-radius: 16px;
    overflow: hidden
}

.section-launch .launch-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width:992px) {
    .section-launch .tab-btn-wrap-v3 {
        flex-direction: column
    }

    .section-launch .land-heading {
        text-align: start
    }
}

@media (min-width:1200px) {
    .section-launch .col-left {
        margin-right: -30px
    }

    .section-launch .col-right {
        padding-left: 70px
    }
}

.bg-img-item {
    position: absolute;
    top: -130px;
    left: 0;
    right: 0;
    opacity: .6
}

.section-demo-page {
    position: relative
}

.section-demo-page .bg-item-block {
    display: flex;
    overflow: hidden;
    right: 0;
    pointer-events: none
}

.wrapper-subscribe {
    display: flex;
    gap: 60px
}

@media (max-width:1199px) {
    .wrapper-subscribe {
        gap: 30px
    }
}

@media (max-width:991px) {
    .wrapper-subscribe {
        flex-direction: column;
        gap: 60px
    }
}

@media (max-width:575px) {
    .wrapper-subscribe {
        gap: 30px
    }
}

.wrapper-subscribe .box-left {
    max-width: 600px;
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.wrapper-subscribe .box-left .box-btn {
    margin-top: 48px
}

@media (max-width:1199px) {
    .wrapper-subscribe .box-left .box-btn {
        margin-top: 30px
    }
}

.wrapper-subscribe .banner-img {
    position: relative
}

.wrapper-subscribe .notice-sale {
    position: absolute;
    left: 3px;
    display: flex;
    bottom: 110px;
    min-width: 290px;
    right: auto;
    top: auto;
    padding: 12px;
    gap: 10px;
    background: #292a2d;
    box-shadow: 0 10px 25px 0 rgba(43, 52, 74, .122);
    transition: all .3s ease;
    border-radius: 8px
}

@media (max-width:575px) {
    .wrapper-subscribe .notice-sale {
        display: none
    }
}

.wrapper-subscribe .notice-sale .pns-thumb {
    max-width: 46px;
    position: relative;
    width: 100%
}

.wrapper-subscribe .notice-sale .pns-thumb .image {
    border-radius: 4px;
    overflow: hidden
}

.wrapper-subscribe .notice-sale .purchase {
    top: -6px;
    left: -6px;
    padding: 6px;
    background: var(--primary);
    position: absolute;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.wrapper-subscribe .notice-sale .desc {
    font-size: 12px;
    line-height: 14px;
    color: var(--white-60)
}

.wrapper-subscribe .notice-sale .title {
    font-size: 14px;
    line-height: 16px;
    margin-bottom: 8px;
    color: var(--white)
}

.wrapper-subscribe .notice-sale .text-caption-01 {
    font-size: 12px;
    line-height: 14px;
    color: var(--white-60)
}

.wrapper-subscribe .notice-sale .tf-btn-line-2.style-primary {
    color: var(--white);
    background: linear-gradient(to right, var(--primary) 50%, var(--white) 50%);
    background-size: 200% 100%;
    background-position: 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position .3s linear;
    font-size: 12px;
    line-height: 18px
}

.wrapper-subscribe .notice-sale .tf-btn-line-2.style-primary:after {
    background-color: var(--white);
    height: 1px
}

.wrapper-subscribe .notice-sale .tf-btn-line-2.style-primary:before {
    height: 1px
}

.wrapper-subscribe .notice-sale .tf-btn-line-2.style-primary:hover {
    background-position: 0
}

.wrapper-subscribe .notice-sale .btn-cl-pop {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 14px
}

.wrapper-subscribe .notice-sale .bottom {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.wrapper-subscribe .notice-sale .pns-content {
    width: 100%
}

.wrapper-subscribe .note-cart {
    position: absolute;
    top: -25px;
    left: 43px
}

@media (max-width:575px) {
    .wrapper-subscribe .note-cart {
        display: none
    }
}

.sib-form {
    padding: 0;
    font-family: var(--primary-font, "DM Sans"), sans-serif
}

.form-content_fieldset {
    display: flex;
    gap: 12px
}

@media (max-width:575px) {
    .form-content_fieldset {
        flex-direction: column
    }
}

.form-get_email {
    border-width: 1px;
    border-style: solid;
    background: transparent;
    border: 0 solid var(--white-10);
    -o-border-image: initial;
    border-image: initial;
    padding: 0;
    width: 100%;
    position: relative
}

@media (max-width:575px) {
    .form-get_email {
        border-radius: 10px
    }
}

.form-get_email .fiedset-button_submit {
    position: absolute;
    top: 8px;
    right: 8px;
    bottom: 8px
}

.form-get_email .tf-btn {
    padding-left: 32px;
    padding-right: 32px;
    background-color: var(--white);
    color: var(--text)
}

.form-get_email .tf-btn:hover {
    background-color: var(--text);
    color: var(--white)
}

@media (max-width:575px) {
    .form-get_email .tf-btn {
        padding-left: 24px;
        padding-right: 24px
    }
}

.form-get_email .ip input {
    backdrop-filter: blur(4px);
    height: unset;
    font-weight: 400;
    font-size: 16px;
    background: var(--white-10);
    border: 1px solid transparent !important;
    -o-border-image: initial;
    border-image: initial;
    border-radius: 999px;
    padding: 15px 145px 15px 23px !important;
    width: 100%
}

.form-get_email .ip input::-moz-placeholder {
    font-size: 16px
}

.form-get_email .ip input::placeholder {
    font-size: 16px
}

#sib-container {
    background-color: transparent;
    padding: 0
}

.sib-form-block {
    padding: 0;
    width: 100%
}

.sib-form-block .tf-btn {
    width: 100%
}

.fieldset-input_email {
    display: flex;
    flex-grow: 1
}

.sib-form .entry__specification {
    margin: 0 !important
}

.sib-form .entry__field {
    background-color: transparent;
    border: 0;
    border-radius: 0;
    margin: 0
}

.sib-form .entry__field:focus-within {
    box-shadow: unset
}

.section-form-subscribe .box-title {
    margin-bottom: 32px
}

.entry__error {
    padding-left: 15px
}

.menu-tab-line {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border-radius: 15px;
    background-color: #fff;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 58px;
    overflow: auto
}

.menu-tab-line li {
    display: flex
}

.menu-tab-line a {
    min-width: 190px;
    padding: 14px 16px;
    border: 1px solid #ebebeb;
    border-radius: 11px;
    overflow: hidden
}

.menu-tab-line a,
.menu-tab-line a .tab-link_text {
    display: flex;
    justify-content: center;
    position: relative
}

.menu-tab-line a .tab-link_text {
    z-index: 1;
    align-items: center;
    gap: 12px;
    font-weight: 500
}

.menu-tab-line a:after {
    content: "";
    position: absolute;
    inset: -1px;
    background: linear-gradient(97.32deg, #866fe3, #4a885c, #866fe3);
    background-size: 200% 100%;
    animation: gradientFlow 2s linear infinite;
    z-index: 0;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden
}

.menu-tab-line a.active {
    color: var(--white)
}

.menu-tab-line a.active:after {
    box-shadow: inset 2px 2px 8px 0 rgba(0, 0, 0, .251);
    opacity: 1;
    visibility: visible
}

@media (max-width:767px) {
    .menu-tab-line {
        margin-bottom: 30px
    }

    .menu-tab-line a {
        padding: 10px;
        min-width: 150px
    }
}

.section-our-store .card-store {
    gap: 16px
}

.section-our-store .card-store .store-image {
    aspect-ratio: 1.3313609467
}

.section-our-store .card-store .info_name {
    margin-bottom: 4px
}

.section-our-store .card-store .list-info li {
    display: flex;
    gap: 6px;
    flex-wrap: wrap
}

.section-contact .contact-form .contact-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 0
}

.section-contact .contact-form .contact-form-row:after,
.section-contact .contact-form .contact-form-row:before {
    content: none
}

.section-contact .contact-form .contact-form-row>[class*=contact-column-] {
    flex: none;
    width: 100%;
    max-width: 100%;
    padding: 0
}

.section-contact .contact-form .contact-form-row>.contact-column-12 {
    grid-column: 1/-1
}

.section-contact .contact-form .contact-form-input:not([type=checkbox]):not([type=radio]) {
    height: auto;
    padding: 11px 15px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background-color: var(--white);
    color: var(--text);
    font-size: 16px;
    line-height: 26px;
    transition: border-color .15s ease-in-out
}

.section-contact .contact-form .contact-form-input:not([type=checkbox]):not([type=radio]):focus {
    border-color: var(--text);
    box-shadow: none;
    outline: 0
}

.section-contact .contact-form .contact-form-input::-moz-placeholder {
    color: var(--text-3)
}

.section-contact .contact-form .contact-form-input::placeholder {
    color: var(--text-3)
}

.section-contact .contact-form .iti {
    width: 100%
}

.section-contact .contact-form .contact-form-group {
    margin-top: 20px
}

.section-contact .contact-form .tf-field input:not([type=checkbox]):not([type=radio]),
.section-contact .contact-form .tf-field textarea {
    width: 100%
}

.section-contact .contact-form .tf-field textarea {
    min-height: 160px
}

.section-contact .contact-form .tf-field .form-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    cursor: pointer
}

.section-contact .contact-form .tf-field .form-check-input {
    width: 16px;
    height: 16px;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--text);
    cursor: pointer
}

.section-contact .contact-form .tf-field .form-check-label {
    font-weight: 400;
    line-height: 1.5
}

.section-contact .contact-form .tf-lable {
    display: inline-block;
    margin-bottom: 8px
}

.section-contact .contact-form .tf-lable.required:not(.form-check):after {
    content: " *";
    color: var(--primary)
}

.section-contact .contact-form .contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 44px;
    padding: 0 24px;
    background-color: var(--text);
    color: var(--white);
    border: none;
    border-radius: 60px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: opacity .2s ease, transform .2s ease;
    margin-top: 24px
}

.section-contact .contact-form .contact-button:hover {
    opacity: .88;
    transform: translateY(-1px)
}

.section-contact .contact-form>.contact-form-group {
    display: block
}

@media (min-width:1200px) {
    .section-contact .contact-form .contact-button {
        height: 58px;
        padding: 0 32px
    }
}

@media (max-width:575.98px) {
    .section-contact .contact-form .contact-form-row {
        grid-template-columns: 1fr
    }
}

.tf-footer.footer-s2 .widget-footer-menu .footer-menu-list .menu-title,
.tf-footer.footer-s2 .widget-footer-menu .footer-menu-list a {
    color: hsla(0, 0%, 100%, .65) !important
}

.tf-footer.footer-s2 .widget-footer-menu .footer-menu-list a:hover,
.tf-footer.footer-s2 .widget-footer-menu .footer-menu-list a:hover .menu-title {
    color: #fff !important
}

.tf-footer.footer-s5 {
    background: var(--bg-3);
    color: hsla(0, 0%, 100%, .8)
}

.tf-footer.footer-s5 .footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
    padding-top: 60px;
    padding-bottom: 60px
}

.tf-footer.footer-s5 .footer-inner>.col-left {
    flex: 1 1 0;
    min-width: 200px
}

.tf-footer.footer-s5 .footer-inner>.col-center {
    flex: 2 1 0;
    min-width: 0
}

.tf-footer.footer-s5 .footer-inner>.col-right {
    flex: 1.4 1 0;
    min-width: 280px
}

.tf-footer.footer-s5 .footer-inner>.br-line.type-vertical {
    width: 1px;
    align-self: stretch;
    background: hsla(0, 0%, 100%, .1);
    flex: 0 0 1px
}

.tf-footer.footer-s5 .footer-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: stretch
}

.tf-footer.footer-s5 .footer-link-list>.footer-col-block {
    flex: 1 1 0;
    min-width: 140px;
    padding: 0 32px
}

.tf-footer.footer-s5 .footer-link-list>.footer-col-block+.footer-col-block {
    border-left: 1px solid hsla(0, 0%, 100%, .1)
}

.tf-footer.footer-s5 .footer-link-list>.footer-col-block:first-child {
    padding-left: 0
}

.tf-footer.footer-s5 .footer-link-list>.footer-col-block:last-child {
    padding-right: 0
}

.tf-footer.footer-s5 .footer-hero-text .text {
    font-weight: 800;
    letter-spacing: -.02em;
    text-transform: uppercase;
    background: linear-gradient(180deg, #fff, hsla(0, 0%, 100%, .25) 85%, hsla(0, 0%, 100%, 0));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    white-space: nowrap;
    display: block
}

.tf-footer.footer-s5 .footer-col-block .footer-heading {
    font-weight: 600;
    letter-spacing: .04em;
    margin-bottom: 16px
}

.tf-footer.footer-s5 .footer-col-block .footer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.tf-footer.footer-s5 .footer-col-block .form-sub {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 999px;
    padding: 6px 6px 6px 20px;
    gap: 8px
}

.tf-footer.footer-s5 .footer-col-block .form-sub fieldset {
    flex: 1 1 0;
    min-width: 0;
    border: none;
    padding: 0;
    margin: 0
}

.tf-footer.footer-s5 .footer-col-block .form-sub input {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
    color: #000;
    padding: 10px 0;
    font-size: 14px
}

.tf-footer.footer-s5 .footer-col-block .form-sub input::-moz-placeholder {
    color: #74757b
}

.tf-footer.footer-s5 .footer-col-block .form-sub input::placeholder {
    color: #74757b
}

.tf-footer.footer-s5 .footer-col-block .form-sub .btn-action {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #000;
    color: #fff;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer
}

.tf-footer.footer-s5 .widget-footer-menu .footer-menu-list .menu-title,
.tf-footer.footer-s5 .widget-footer-menu .footer-menu-list a {
    color: hsla(0, 0%, 100%, .65) !important
}

.tf-footer.footer-s5 .widget-footer-menu .footer-menu-list a:hover,
.tf-footer.footer-s5 .widget-footer-menu .footer-menu-list a:hover .menu-title {
    color: #fff !important
}

.tf-footer.footer-s5 .footer-bottom {
    padding: 20px 0;
    border-top: 1px solid hsla(0, 0%, 100%, .1)
}

.tf-footer.footer-s5 .footer-bottom .inner-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.tf-footer.footer-s5 .footer-bottom .payment-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px
}

.tf-footer.footer-s5 .footer-bottom .tf-list.list-currenci {
    display: flex;
    gap: 16px
}

@media (max-width:991.98px) {
    .tf-footer.footer-s5 .footer-inner {
        gap: 30px;
        padding-top: 40px;
        padding-bottom: 40px
    }

    .tf-footer.footer-s5 .footer-inner>.col-center,
    .tf-footer.footer-s5 .footer-inner>.col-left,
    .tf-footer.footer-s5 .footer-inner>.col-right {
        flex: 0 0 100%;
        min-width: 0
    }

    .tf-footer.footer-s5 .footer-inner>.br-line.type-vertical {
        display: none
    }
}

.tf-footer.footer-s5.bg-main-5 .footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
    padding-top: 60px;
    padding-bottom: 60px
}

.tf-footer.footer-s5.bg-main-5 .footer-inner>.col-left {
    flex: 1 1 0;
    min-width: 200px
}

.tf-footer.footer-s5.bg-main-5 .footer-inner>.col-center {
    flex: 2 1 0;
    min-width: 0
}

.tf-footer.footer-s5.bg-main-5 .footer-inner>.col-right {
    flex: 1.4 1 0;
    min-width: 280px
}

.tf-footer.footer-s5.bg-main-5 .footer-inner>.br-line.type-vertical {
    width: 1px;
    align-self: stretch;
    background: rgba(0, 0, 0, .08);
    flex: 0 0 1px
}

.tf-footer.footer-s5.bg-main-5 .footer-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 32px
}

.tf-footer.footer-s5.bg-main-5 .footer-link-list>.footer-col-block {
    flex: 1 1 0;
    min-width: 140px
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .footer-heading {
    font-weight: 600;
    letter-spacing: .04em;
    margin-bottom: 16px;
    color: var(--text)
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .footer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .footer-menu-list a {
    color: var(--text-2)
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .form-sub {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 999px;
    padding: 6px 6px 6px 16px;
    gap: 8px
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .form-sub fieldset {
    flex: 1 1 0;
    min-width: 0;
    border: none;
    padding: 0;
    margin: 0
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .form-sub input {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    padding: 8px 0
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .form-sub input::-moz-placeholder {
    color: var(--text-3)
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .form-sub input::placeholder {
    color: var(--text-3)
}

.tf-footer.footer-s5.bg-main-5 .footer-col-block .form-sub .btn-action {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #000;
    color: #fff;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer
}

.tf-footer.footer-s5.bg-main-5 .br-line.fake-class {
    background: rgba(0, 0, 0, .08)
}

.tf-footer.footer-s5.bg-main-5 .footer-bottom {
    padding: 20px 0;
    border-top: 1px solid rgba(0, 0, 0, .08)
}

.tf-footer.footer-s5.bg-main-5 .footer-bottom .inner-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.tf-footer.footer-s5.bg-main-5 .footer-bottom .payment-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px
}

.tf-footer.footer-s5.bg-main-5 .footer-bottom .tf-list.list-currenci {
    display: flex;
    gap: 16px
}

.tf-footer.footer-s5.bg-main-5 .box-icon_V01.style-3 .icon i {
    color: var(--text);
    font-size: 32px
}

.tf-footer.footer-s5.bg-main-5 .box-icon_V01.style-3 .title {
    color: var(--text)
}

@media (max-width:991.98px) {
    .tf-footer.footer-s5.bg-main-5 .footer-inner {
        gap: 30px;
        padding-top: 40px;
        padding-bottom: 40px
    }

    .tf-footer.footer-s5.bg-main-5 .footer-inner>.col-center,
    .tf-footer.footer-s5.bg-main-5 .footer-inner>.col-left,
    .tf-footer.footer-s5.bg-main-5 .footer-inner>.col-right {
        flex: 0 0 100%;
        min-width: 0
    }

    .tf-footer.footer-s5.bg-main-5 .footer-inner>.br-line.type-vertical {
        display: none
    }
}

.tf-footer.footer-s5.bg-white .footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
    padding-top: 60px;
    padding-bottom: 60px
}

.tf-footer.footer-s5.bg-white .footer-inner>.col-left {
    flex: 1 1 0;
    min-width: 200px
}

.tf-footer.footer-s5.bg-white .footer-inner>.col-center {
    flex: 2 1 0;
    min-width: 0
}

.tf-footer.footer-s5.bg-white .footer-inner>.col-right {
    flex: 1.4 1 0;
    min-width: 280px
}

.tf-footer.footer-s5.bg-white .footer-inner>.br-line.type-vertical {
    width: 1px;
    align-self: stretch;
    background: rgba(0, 0, 0, .08);
    flex: 0 0 1px
}

.tf-footer.footer-s5.bg-white .footer-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 32px
}

.tf-footer.footer-s5.bg-white .footer-link-list>.footer-col-block {
    flex: 1 1 0;
    min-width: 140px
}

.tf-footer.footer-s5.bg-white .footer-col-block .footer-heading {
    font-weight: 600;
    letter-spacing: .04em;
    margin-bottom: 16px;
    color: var(--text)
}

.tf-footer.footer-s5.bg-white .footer-col-block .footer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.tf-footer.footer-s5.bg-white .footer-col-block .footer-menu-list a {
    color: var(--text-2)
}

.tf-footer.footer-s5.bg-white .footer-col-block .form-sub {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 999px;
    padding: 6px 6px 6px 16px;
    gap: 8px
}

.tf-footer.footer-s5.bg-white .footer-col-block .form-sub fieldset {
    flex: 1 1 0;
    min-width: 0;
    border: none;
    padding: 0;
    margin: 0
}

.tf-footer.footer-s5.bg-white .footer-col-block .form-sub input {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    padding: 8px 0
}

.tf-footer.footer-s5.bg-white .footer-col-block .form-sub input::-moz-placeholder {
    color: var(--text-3)
}

.tf-footer.footer-s5.bg-white .footer-col-block .form-sub input::placeholder {
    color: var(--text-3)
}

.tf-footer.footer-s5.bg-white .footer-col-block .form-sub .btn-action {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #000;
    color: #fff;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer
}

.tf-footer.footer-s5.bg-white .br-line.fake-class {
    background: rgba(0, 0, 0, .08)
}

.tf-footer.footer-s5.bg-white .footer-bottom {
    padding: 20px 0;
    border-top: 1px solid rgba(0, 0, 0, .08)
}

.tf-footer.footer-s5.bg-white .footer-bottom .inner-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.tf-footer.footer-s5.bg-white .footer-bottom .payment-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px
}

.tf-footer.footer-s5.bg-white .footer-bottom .tf-list.list-currenci {
    display: flex;
    gap: 16px
}

.tf-footer.footer-s5.bg-white .box-icon_V01.style-3 .icon i {
    color: var(--text);
    font-size: 32px
}

.tf-footer.footer-s5.bg-white .box-icon_V01.style-3 .title {
    color: var(--text)
}

@media (max-width:991.98px) {
    .tf-footer.footer-s5.bg-white .footer-inner {
        gap: 30px;
        padding-top: 40px;
        padding-bottom: 40px
    }

    .tf-footer.footer-s5.bg-white .footer-inner>.col-center,
    .tf-footer.footer-s5.bg-white .footer-inner>.col-left,
    .tf-footer.footer-s5.bg-white .footer-inner>.col-right {
        flex: 0 0 100%;
        min-width: 0
    }

    .tf-footer.footer-s5.bg-white .footer-inner>.br-line.type-vertical {
        display: none
    }
}

.tf-header.header-s5,
.tf-header.header-s5 .box-navigation a,
.tf-header.header-s5 .item-link,
.tf-header.header-s5 .link,
.tf-header.header-s5 .nav-icon-item,
.tf-header.header-s5 .tf-dropdown-select,
.tf-header.header-s5 .tf-list .link,
.tf-header.header-s5 .tf-list a,
.tf-header.header-s5 a,
.tf-header.header-s5 select {
    color: #fff !important
}

.tf-header.header-s5 .link:hover,
.tf-header.header-s5 a:hover {
    color: var(--primary) !important
}

.tf-header.header-s5 .br-line.fake-class,
.tf-header.header-s5 .br-line.type-vertical {
    background: hsla(0, 0%, 100%, .1)
}

.tf-header.header-s5 .header-center {
    display: flex;
    align-items: center;
    justify-content: center
}

.tf-header.header-s5 .header-center .logo-site {
    line-height: 0
}

.tf-header.header-s5 .logo-site .logo-light {
    display: none
}

.tf-header.header-s5 .logo-site .logo-dark {
    display: block
}

.tf-header.header-s5 .bootstrap-select .dropdown-menu .text,
.tf-header.header-s5 .bootstrap-select .dropdown-menu li a,
.tf-header.header-s5 .dropdown-menu,
.tf-header.header-s5 .dropdown-menu *,
.tf-header.header-s5 .sub-menu,
.tf-header.header-s5 .sub-menu * {
    color: var(--text) !important
}

.tf-header.header-s5 .bootstrap-select .dropdown-menu li.selected a,
.tf-header.header-s5 .bootstrap-select .dropdown-menu li:hover a,
.tf-header.header-s5 .dropdown-menu .dropdown-item.active,
.tf-header.header-s5 .dropdown-menu .dropdown-item:hover,
.tf-header.header-s5 .dropdown-menu a:hover,
.tf-header.header-s5 .sub-menu a:hover {
    color: var(--primary) !important
}

.bb-product-video-playing .bb-button-trigger-play-video {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.85)
}

.bb-button-trigger-play-video:hover {
    transform: translate(-50%, -50%) scale(1.05)
}

.banner-duo-bottom .banner-image-text {
    border-radius: 20px;
    overflow: hidden;
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.banner-duo-bottom .banner-image-text .bn-image {
    display: block;
    width: 100%
}

.banner-duo-bottom .banner-image-text .bn-image img {
    width: 100%;
    height: auto;
    max-height: 480px;
    -o-object-fit: contain;
    object-fit: contain
}

.banner-duo-bottom .banner-image-text .bn-content {
    padding: 24px 16px 8px
}

.banner-duo-bottom .banner-image-text .bn-content .title {
    display: block;
    margin-bottom: 12px
}

.banner-duo-bottom .banner-image-text .bn-content .desc {
    margin-bottom: 24px
}

.section-main-about .hero-image {
    aspect-ratio: 2.35;
    border-radius: 24px;
    overflow: hidden
}

.section-main-about .hero-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-main-about .box-why {
    padding: 8px
}

.section-main-about .box-why .h1 {
    font-size: clamp(40px, 4vw, 64px);
    margin-bottom: 4px
}

.section-main-about .box-why .title {
    margin-bottom: 4px
}

.section-main-about .box-why .sub {
    margin-bottom: 0
}

.grid-cls-layout.grid-cls-v3 {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 300px 300px;
    grid-template-areas: "aa aa bb" "aa aa cc"
}

.grid-cls-layout.grid-cls-v3 .item1 {
    grid-area: aa
}

.grid-cls-layout.grid-cls-v3 .item2 {
    grid-area: bb
}

.grid-cls-layout.grid-cls-v3 .item3 {
    grid-area: cc
}

.grid-cls-layout .banner-v04.style-2 {
    position: relative;
    overflow: hidden;
    height: 100%
}

.grid-cls-layout .banner-v04.style-2 .bn_image {
    width: 100%;
    height: 100%
}

.grid-cls-layout .banner-v04.style-2 .bn_image img {
    width: 100%;
    height: 100%;
    min-height: 0;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: auto
}

.grid-cls-layout .banner-v04.style-2 .bn_content {
    position: absolute;
    left: 100px;
    top: 20px;
    right: 20px;
    bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
}

.grid-cls-layout .banner-v04.style-2 .bn_content .title {
    font-size: 56px;
    line-height: 68px
}

.grid-cls-layout .box-cls-v1.style-3 {
    height: 100%;
    overflow: hidden
}

.grid-cls-layout .box-cls-v1.style-3 .cls-image {
    width: 100%;
    height: 100%
}

.grid-cls-layout .box-cls-v1.style-3 .cls-image img {
    width: 100%;
    height: 100%;
    min-height: 0;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:991.98px) {
    .grid-cls-layout.grid-cls-v3 {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        grid-template-areas: "aa" "bb" "cc";
        gap: 15px
    }

    .grid-cls-layout.grid-cls-v3 .item1 {
        min-height: 400px;
        aspect-ratio: auto
    }

    .grid-cls-layout.grid-cls-v3 .item2,
    .grid-cls-layout.grid-cls-v3 .item3 {
        min-height: 240px
    }

    .grid-cls-layout .banner-v04.style-2 .bn_content {
        left: 24px;
        right: 24px
    }
}

.banner-v07 {
    position: relative;
    overflow: hidden;
    min-height: 700px
}

.banner-v07 .banner-image {
    position: absolute;
    inset: 0
}

.banner-v07 .banner-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    min-height: 700px
}

.banner-v07 .banner-content {
    position: relative;
    z-index: 1;
    padding: 60px 0;
    min-height: 700px;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.banner-v07 .banner-content .bn_title {
    font-size: clamp(48px, 8vw, 128px);
    line-height: .95;
    letter-spacing: -.02em;
    margin-bottom: 60px
}

.banner-v07 .wg-benefit {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 0
}

.banner-v07 .wg-benefit .bnf-ic {
    font-size: 40px
}

.banner-v07 .wg-benefit .bnf-text {
    font-size: 16px;
    font-weight: 500;
    margin: 0
}

.banner-v07 .card-product_v02 {
    background: #fff;
    padding: 16px;
    border-radius: 8px;
    min-width: 240px;
    max-width: 280px
}

.banner-v07 .card-product_v02 .card-product_wrapper {
    position: relative;
    margin-bottom: 12px
}

.banner-v07 .card-product_v02 .card-product_wrapper img {
    width: 100%;
    height: auto
}

.banner-v07 .card-product_v02 .name-product {
    display: block;
    font-size: 14px
}

.banner-v07 .card-product_v02 .price-wrap {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin-top: 4px
}

.banner-v07 .card-product_v02 .price-new {
    font-weight: 600
}

.banner-v07 .card-product_v02 .product-badge_list {
    position: absolute;
    top: 8px;
    right: 8px;
    list-style: none;
    padding: 0;
    margin: 0
}

.banner-v07 .card-product_v02 .product-badge_item {
    background: var(--primary, #dc4646);
    color: #fff;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px
}

@media (max-width:991.98px) {
    .banner-v07 .banner-content .bn_title {
        margin-bottom: 30px
    }

    .banner-v07 .card-product_v02 {
        min-width: 0
    }
}

.banner-product-single.style-6 .product-thumbs-slider.row_left {
    display: flex;
    flex-direction: row-reverse;
    gap: 10px
}

.banner-product-single.style-6 .product-thumbs-slider.row_left .flat-wrap-media-product {
    flex: 1
}

.banner-product-single.style-6 .product-thumbs-slider.row_left .tf-product-media-thumbs {
    width: 100px;
    flex-shrink: 0
}

.banner-product-single.style-6 .product-thumbs-slider.row_left .tf-product-media-thumbs img {
    width: 80px;
    height: 80px;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-product-single.style-6 .product-thumbs-slider.row_left .tf-product-media-main img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:991px) {
    .banner-product-single.style-6 .product-thumbs-slider.row_left {
        flex-direction: column
    }

    .banner-product-single.style-6 .product-thumbs-slider.row_left .tf-product-media-thumbs {
        width: 100%
    }
}

.banner-thumbs-product.slider-thumb-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: stretch
}

.banner-thumbs-product.slider-thumb-wrap>.col-left {
    flex: 0 0 calc(50% - 15px);
    max-width: calc(50% - 15px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    border-radius: 16px;
    overflow: hidden
}

.banner-thumbs-product.slider-thumb-wrap>.col-right {
    flex: 1 1 0;
    min-width: 0
}

.banner-thumbs-product.slider-thumb-wrap .img-list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 12px;
    width: 100%
}

.banner-thumbs-product.slider-thumb-wrap .img-list .img_item {
    flex: 1 1 0;
    max-width: 25%;
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: opacity .2s;
    opacity: .7
}

.banner-thumbs-product.slider-thumb-wrap .img-list .img_item.active,
.banner-thumbs-product.slider-thumb-wrap .img-list .img_item:hover {
    opacity: 1
}

.banner-thumbs-product.slider-thumb-wrap .img-list .img_item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-thumbs-product.slider-thumb-wrap .col-right .wg-thumb-v1 {
    position: relative;
    border-radius: 16px;
    overflow: hidden
}

.banner-thumbs-product.slider-thumb-wrap .col-right .thumb-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 705/546;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-thumbs-product.slider-thumb-wrap .thumb-prd {
    position: absolute;
    left: 24px;
    bottom: 24px;
    right: 24px;
    max-width: 380px;
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08)
}

.banner-thumbs-product.slider-thumb-wrap .thumb-prd .prd_image {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden
}

.banner-thumbs-product.slider-thumb-wrap .thumb-prd .prd_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-thumbs-product.slider-thumb-wrap .thumb-prd .prd_info {
    flex: 1 1 0;
    min-width: 0
}

.banner-thumbs-product.slider-thumb-wrap .thumb-prd .btn-action {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f4f4f4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

@media (max-width:991.98px) {

    .banner-thumbs-product.slider-thumb-wrap>.col-left,
    .banner-thumbs-product.slider-thumb-wrap>.col-right {
        flex: 0 0 100%;
        max-width: 100%
    }
}

.section-thumbs-v2 {
    position: relative
}

.testimonials-style-card-image-left {
    background: var(--bg, #f7f7f7);
    padding: 60px 0;
    border-radius: 20px;
    margin: 0 16px
}

.testimonial-v05 {
    display: flex;
    gap: 0;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    min-height: 380px
}

.testimonial-v05 .tes-image {
    flex-shrink: 0;
    width: 50%;
    max-width: 345px
}

.testimonial-v05 .tes-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.testimonial-v05 .tes-content {
    padding: 32px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto
}

.testimonial-v05 .star-wrap i {
    color: #f0a750
}

.testimonial-v05 .tes_text {
    flex: 1 1 auto
}

@media (max-width:575.98px) {
    .testimonial-v05 {
        flex-direction: column
    }

    .testimonial-v05 .tes-image {
        width: 100%;
        max-width: 100%;
        height: 240px
    }
}

.section-testimonial-thumbs .star-wrap {
    margin-bottom: 8px
}

.section-testimonial-thumbs .star-wrap .icon {
    color: #ff9d2d
}

.section-testimonial-thumbs .tes_author {
    margin-bottom: 16px
}

.faq-accordion_item .accordion-action {
    padding-top: 18px !important
}

.faq-accordion_item .accordion-action.collapsed {
    padding-bottom: 18px !important
}

.faq-accordion_item .accordion-action span:first-child {
    color: var(--text) !important;
    font-weight: 600 !important
}

.faq-accordion_item .faq-content {
    padding-bottom: 18px !important;
    padding-top: 0 !important
}

.banner-image-compare.image-compare {
    aspect-ratio: 1920/720;
    max-height: 720px;
    overflow: hidden
}

.banner-image-compare.image-compare img.img-comp {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.banner-duo-section .banner-image-text.type-abs.style-11 {
    position: relative;
    overflow: hidden;
    border-radius: 6px
}

.banner-duo-section .banner-image-text.type-abs.style-11 .bn-image {
    display: block;
    position: relative;
    aspect-ratio: 1/1;
    overflow: hidden
}

.banner-duo-section .banner-image-text.type-abs.style-11 .bn-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform .5s ease
}

.banner-duo-section .banner-image-text.type-abs.style-11.hover-img:hover .bn-image img {
    transform: scale(1.05)
}

.banner-duo-section .banner-image-text.type-abs.style-11 .bn-content {
    position: absolute;
    left: 40px;
    bottom: 40px;
    right: 40px;
    max-width: 70%;
    z-index: 2
}

.banner-duo-section .banner-image-text.type-abs.style-11 .bn-content .title {
    display: block;
    margin-bottom: 12px
}

.banner-duo-section .banner-image-text.type-abs.style-11 .bn-content .desc {
    margin-bottom: 24px
}

@media (max-width:767.98px) {
    .banner-duo-section .banner-image-text.type-abs.style-11 .bn-content {
        left: 20px;
        bottom: 20px;
        right: 20px
    }
}

.section-banner-cls-v02 {
    display: flex;
    gap: 10px
}

.section-banner-cls-v02 .left {
    flex: 20%
}

.section-banner-cls-v02 .left .bn-image img {
    aspect-ratio: 640/954;
    -o-object-fit: cover;
    object-fit: cover
}

.section-banner-cls-v02 .right {
    flex: 52.707%;
    display: grid;
    grid-template-rows: auto auto
}

.section-banner-cls-v02 .right .style-20 .bn-image img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover
}

.section-banner-cls-v02 .right .style-19 .bn-image img {
    aspect-ratio: 2.5/1;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width:991px) {
    .section-banner-cls-v02 {
        flex-direction: column
    }

    .section-banner-cls-v02 .left,
    .section-banner-cls-v02 .right {
        flex: unset
    }

    .section-banner-cls-v02 .right {
        grid-template-rows: unset
    }
}

.banner-image-text.type-abs.style-2 {
    position: relative;
    height: 460px;
    border-radius: 10px;
    overflow: hidden
}

.banner-image-text.type-abs.style-2 .bn-image {
    display: block;
    position: absolute;
    inset: 0
}

.banner-image-text.type-abs.style-2 .bn-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner-image-text.type-abs.style-2 .bn-content {
    position: absolute;
    left: 80px;
    top: 20px;
    bottom: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 500px;
    z-index: 2
}

.banner-image-text.type-abs.style-2 .bn-content .title {
    display: block
}

@media (max-width:1199.98px) {
    .banner-image-text.type-abs.style-2 .bn-content {
        left: 48px
    }
}

@media (max-width:767.98px) {
    .banner-image-text.type-abs.style-2 {
        height: auto;
        min-height: 320px
    }

    .banner-image-text.type-abs.style-2 .bn-image {
        position: relative;
        height: 320px
    }

    .banner-image-text.type-abs.style-2 .bn-content {
        position: relative;
        left: 0;
        top: 0;
        bottom: 0;
        padding: 30px 20px;
        max-width: none;
        background: var(--text)
    }

    .banner-image-text.type-abs.style-2 .bn-content .title {
        font-size: 32px;
        line-height: 40px
    }
}

.section-feature-v2 .banner-feature.style-2 {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center
}

.section-feature-v2 .banner-feature.style-2 .feature-image .image img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
    object-fit: contain
}

@media (min-width:768px) {
    .section-feature-v2 .banner-feature.style-2 {
        grid-template-columns: 1fr
    }

    .section-feature-v2 .banner-feature.style-2 .feature-image {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 40%;
        max-width: 500px;
        pointer-events: none;
        z-index: 1
    }

    .section-feature-v2 .banner-feature.style-2 .feature-detail_list {
        position: relative;
        z-index: 0;
        min-height: 600px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        -moz-column-gap: 600px;
        column-gap: 600px;
        row-gap: 80px
    }
}

@media (max-width:767px) {
    .section-feature-v2 .banner-feature.style-2 .feature-image {
        display: none
    }

    .section-feature-v2 .banner-feature.style-2 .feature-detail_list {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

.section-feature-v2 .feature-detail {
    display: flex;
    gap: 16px;
    align-items: flex-start
}

.section-feature-v2 .feature-detail.justify-content-md-end {
    justify-content: flex-end
}

.section-feature-v2 .feature-detail.justify-content-md-end .feature_info {
    text-align: right
}

@media (max-width:767px) {
    .section-feature-v2 .feature-detail.justify-content-md-end {
        justify-content: flex-start
    }

    .section-feature-v2 .feature-detail.justify-content-md-end .feature_info {
        text-align: left
    }
}

.section-feature-v2 .feature_illus {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--primary, #dc4646);
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.section-feature-v2 .feature_illus i {
    color: #fff;
    font-size: 28px
}

.section-feature-v2 .feature_info .info__name {
    margin-bottom: 8px;
    font-weight: 600
}

.section-feature-v2 .feature_info .info__desc {
    margin: 0
}

.section-faq .accordion-faq .accordion-title {
    cursor: pointer
}

.section-faq .accordion-faq .accordion-title.collapsed .ic-accordion-custom:before {
    transform: rotate(0deg)
}

.section-faq .faq-sidebar .sb-category li:not(:last-child) {
    margin-bottom: 8px
}

.ecommerce-collections--style-slider-overlay .box-cls-v1.style-3 .cls-image {
    display: block;
    aspect-ratio: 620/455;
    overflow: hidden
}

.ecommerce-collections--style-slider-overlay .box-cls-v1.style-3 .cls-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.card-member-v01 .img-style {
    aspect-ratio: .75
}

.card-member-v01 .img-style img {
    -o-object-position: top;
    object-position: top
}

.card-member-v01 .member-info {
    text-align: center
}

.testimonial-v01 .tes-image {
    width: 285px;
    max-width: 40%;
    aspect-ratio: .75
}

.testimonial-v01 .tes-image img {
    -o-object-position: top;
    object-position: top
}

@media (max-width:575.98px) {
    .testimonial-v01 .tes-image {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 1.7777777778
    }

    .testimonial-v01 {
        flex-direction: column
    }
}

.section-collection.banner-cls--custom {
    --banner-split-gap: 10px;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: var(--banner-split-gap)
}

.section-collection.banner-cls--custom>.col-left {
    flex: 0 0 calc(67.1875% - var(--banner-split-gap)/2);
    max-width: calc(67.1875% - var(--banner-split-gap)/2);
    min-width: 0
}

.section-collection.banner-cls--custom>.col-right {
    flex: 0 0 calc(32.8125% - var(--banner-split-gap)/2);
    max-width: calc(32.8125% - var(--banner-split-gap)/2);
    display: flex;
    flex-direction: column;
    gap: var(--banner-split-gap)
}

.section-collection.banner-cls--custom .banner-image-text.type-abs.style-14 {
    position: relative;
    aspect-ratio: 1290/860;
    height: auto;
    overflow: hidden
}

.section-collection.banner-cls--custom .banner-image-text.type-abs.style-14 .bn-image {
    display: block;
    position: absolute;
    inset: 0
}

.section-collection.banner-cls--custom .banner-image-text.type-abs.style-14 .bn-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-collection.banner-cls--custom .banner-image-text.type-abs.style-14 .bn-content {
    position: absolute;
    left: 60px;
    bottom: 60px;
    right: 60px;
    z-index: 2
}

.section-collection.banner-cls--custom .box-image_v04 {
    position: relative;
    flex: 1 1 0;
    aspect-ratio: 620/425;
    overflow: hidden
}

.section-collection.banner-cls--custom .box-image_v04 .box-image_img {
    display: block;
    position: absolute;
    inset: 0
}

.section-collection.banner-cls--custom .box-image_v04 .box-image_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-collection.banner-cls--custom .box-image_v04.type-2 .box-image_content {
    left: 32px;
    bottom: 32px;
    right: auto;
    max-width: 60%;
    z-index: 2
}

.section-collection.banner-cls--custom .box-image_v04 .box-image_content .title {
    display: block
}

@media (max-width:991.98px) {
    .section-collection.banner-cls--custom {
        flex-direction: column
    }

    .section-collection.banner-cls--custom>.col-left,
    .section-collection.banner-cls--custom>.col-right {
        flex: 0 0 100%;
        max-width: 100%
    }

    .section-collection.banner-cls--custom .banner-image-text.type-abs.style-14 {
        min-height: 520px
    }
}

.bb-product-video {
    position: relative;
    width: 100%;
    background: #000;
    border-radius: 8px;
    overflow: hidden
}

.bb-product-video__frame {
    position: relative;
    padding-bottom: 133.33%;
    height: 0;
    overflow: hidden
}

.bb-product-video__iframe,
.bb-product-video__media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.bb-product-video__media {
    -o-object-fit: cover;
    object-fit: cover;
    display: block
}

.bb-product-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 72px;
    height: 72px;
    background: hsla(0, 0%, 100%, .92);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease, opacity .25s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .3);
    z-index: 2
}

.bb-product-video-playing .bb-product-video__play {
    opacity: 0;
    pointer-events: none
}

.brand-card__logo {
    height: 96px
}

.brand-card__logo img {
    -o-object-fit: contain;
    object-fit: contain
}

.tf-empty-state .empty-state__icon i {
    font-size: 48px
}

.tf-page-pagination-wrap {
    margin-top: 40px
}

.quantity-product--readonly {
    pointer-events: none;
    background: #f5f5f5
}

.wrap-shop>.center,
.wrap-shop>.left,
.wrap-shop>.right {
    flex: 1 1 0;
    min-width: 0
}

.tf-product-total-quantity .wg-quantity {
    width: 120px
}

.bundle-progress .progress {
    height: 6px;
    background: var(--bs-border-color, #e5e5e5);
    border-radius: 3px
}

.bundle-progress .progress .progress-bar {
    border-radius: 3px
}

.bundle-prd .prd_image {
    width: 72px;
    height: 72px;
    flex-shrink: 0
}

.bundle-prd .prd_image img {
    -o-object-fit: cover;
    object-fit: cover
}

.bundle-prd .wg-quantity-v2 {
    flex-shrink: 0
}

.bundle-prd .wg-quantity-v2 .quantity-product {
    width: 32px;
    background: transparent
}

.banner-v01 {
    position: relative;
    height: 620px;
    max-height: 60vh;
    overflow: hidden;
    margin: 60px 0
}

.banner-v01 .bn_image {
    position: absolute;
    inset: 0
}

.banner-v01 .bn_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

[data-bs-theme=dark] {
    --at-body-color: #c4c7c8;
    --at-heading-color: #fff;
    --at-border-color: #2a2a2a;
    --at-card-bg: #161616;
    --at-input-bg: #1f1f1f;
    --at-tf-bg: #0a0a0a
}

[data-bs-theme=dark] body {
    color: var(--at-body-color);
    background-color: #0f0f0f
}

[data-bs-theme=dark] h1,
[data-bs-theme=dark] h2,
[data-bs-theme=dark] h3,
[data-bs-theme=dark] h4,
[data-bs-theme=dark] h5,
[data-bs-theme=dark] h6 {
    color: var(--at-heading-color)
}

[data-bs-theme=dark] .at-card,
[data-bs-theme=dark] .card {
    background-color: var(--at-card-bg);
    border-color: var(--at-border-color);
    color: var(--at-body-color)
}

[data-bs-theme=dark] input,
[data-bs-theme=dark] select,
[data-bs-theme=dark] textarea {
    background-color: var(--at-input-bg);
    border-color: var(--at-border-color);
    color: var(--at-body-color)
}

[data-bs-theme=dark] input::-moz-placeholder,
[data-bs-theme=dark] select::-moz-placeholder,
[data-bs-theme=dark] textarea::-moz-placeholder {
    color: rgba(196, 199, 200, .6)
}

[data-bs-theme=dark] input::placeholder,
[data-bs-theme=dark] select::placeholder,
[data-bs-theme=dark] textarea::placeholder {
    color: rgba(196, 199, 200, .6)
}

[data-bs-theme=dark] input:focus,
[data-bs-theme=dark] select:focus,
[data-bs-theme=dark] textarea:focus {
    background-color: var(--at-input-bg);
    border-color: var(--at-tf-bg);
    color: var(--at-body-color)
}

[data-bs-theme=dark] .dropdown-menu {
    background-color: var(--at-card-bg);
    border-color: var(--at-border-color)
}

[data-bs-theme=dark] .dropdown-item {
    color: var(--at-body-color)
}

[data-bs-theme=dark] .dropdown-item:focus,
[data-bs-theme=dark] .dropdown-item:hover {
    background-color: var(--at-tf-bg);
    color: var(--at-heading-color)
}

[data-bs-theme=dark] a {
    color: var(--at-link-color, #f0460e)
}

[data-bs-theme=dark] a:hover {
    opacity: .8
}

[data-bs-theme=dark] .border,
[data-bs-theme=dark] hr {
    border-color: var(--at-border-color) !important
}

[data-bs-theme=dark] .tf-dropdown-select.style-default .filter-option-inner-inner,
[data-bs-theme=dark] .tf-dropdown-select.style-default>.dropdown-toggle,
[data-bs-theme=dark] .tf-dropdown-select.style-default>.dropdown-toggle:after {
    color: var(--at-heading-color)
}