/*  ==========  #INFO  ==========  */

/* Ipad, laptop Devices < 1024px */
/* Tablet Devices < 767px */
/* Mobile Devices < 480px */
/* MINI Devices < 480px */

/*  ==========  END #INFO  ==========  */

/*  ==========  GENERAL STYLES  ==========  */
*{
    --color-main: rgb(90,191,112); /* #5abf70 */
    --color-main-alpha: rgb(90,191,112,.3);
    --color-secondary: rgb(248,154,43);
    --color-secondary-alpha: rgba(248,154,43,.2);
	--color-gray-bg: rgb(246, 247, 248);
    --color-text-secondary: #6e7494;
    --color-border: rgba(0, 0, 0, .12);
    --color-border-6: rgba(0, 0, 0, .06);
    --color-blue-link: rgb(101, 175, 255);
    --color-blue-link-alpha: rgba(101, 175, 255, .2);
    --color-black: #080f0f;
	--color-light-red: rgb(255,103,70);
	--color-light-green: rgb(49, 189, 75);
    
    --box-shadow: 0 0 20px rgb(95 125 149 / 12%);

    --font-primary: 'Inter', sans-serif;
    --font-secondary: 'Montserrat', sans-serif;
    --font-awesome-free: 'Font Awesome 6 Free';
    --font-awesome-brands: 'Font Awesome 6 Brands';

    margin: 0;
    padding: 0;
    color: #2c3e50;
}
html{scroll-behavior: smooth;}
body{background-color: #F1F4F9; font-family: var(--font-primary);}
img{max-width: 100%; max-height: 100%;}
.mark-text{color: var(--color-main);}
.text-fill{color: var(--color-text-secondary);}

a{text-decoration: none;}
a:hover{color: var(--color-main) !important;}
a:hover i{color: var(--color-main) !important;}

.pad-16{padding: 16px 0;}
.pad-32{padding: 32px 0;}
.pad-64{padding: 64px 0;}
.pad-top-16{padding-top: 16px;}
.pad-top-32{padding-top: 32px;}
.pad-top-64{padding-top: 64px;}
.pad-bottom-16{padding-bottom: 16px;}
.pad-bottom-32{padding-bottom: 32px;}
.pad-bottom-64{padding-bottom: 64px;}

.flex-centered{width: 100%;display: flex;justify-content: center;}
.flex-column{display: flex;flex-direction: column;}
.grid-col-1{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
}
.grid-col-2{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.grid-col-3{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
}
@media screen and (max-width: 767px){
    .grid-col-3,
    .grid-col-2{grid-template-columns: 1fr;}
}

.container{
    width: 100%;
    max-width: 1220px;
}
.container-2{
    max-width: 900px;
}
.page-header{
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	font-size: 28px;
	font-weight: 600;
    color: #000;
}
.page-header .pulse-dot{
	width: 7px;
	height: 7px;
	background: var(--color-main);
	border-radius: 50%;
	box-shadow: 0 0 0 0 var(--color-main);
	transform: scale(1);
	animation: pulse-blue 2s infinite;
}
.page-sub-header{
	font-size: 18px;
	font-weight: 500;
	color: var(--color-text-secondary);
}
.button{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 32px;
    border-radius: 12px;
    background-color: var(--color-main);
    color: #fff;
    font-size: 15px;
    font-weight: 500;
	font-family: var(--font-secondary);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s ease;
    position: relative;
    box-shadow: 3px 4px 5px 0 rgba(0,0,0,.1), 0 0 0 0 var(--color-main);
	outline: none;
	border: none;
}
.button i{color: #fff;}
.button:hover{
    color: #fff !important;
    transition: box-shadow 0.5s;
    box-shadow: 3px 4px 5px 0 rgba(0,0,0,.1), 0 0 0 10px rgba(255, 195, 16, 0)
}
.button:hover i{color: #fff !important;}
.button:disabled{opacity: .5;}
.button.button-secondary{
	border: 1px solid var(--color-main);
	background: transparent;
	color: var(--color-main);
	font-weight: 600;
	border-width: 1.5px;
}
.button-2{
    box-shadow: none;
    font-size: 14px;
    font-weight: 600;
    background: var(--color-secondary-alpha);
    color: var(--color-secondary);
}
.button-2 i{color: var(--color-secondary);}
.button-2:hover{
    box-shadow: none;
    color: var(--color-secondary) !important;
    opacity: .85;
}
  
@keyframes pulse-blue {
	0% {
		transform: scale(0.98);
		box-shadow: 0 0 0 0 rgba(37, 114, 231, 0.7);
	}
	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(37, 114, 231, 0);
	}
	100% {
		transform: scale(0.98);
		box-shadow: 0 0 0 0 rgba(37, 114, 231, 0);
	}
}


.achor-link{
	display: block;
	opacity: 0;
	width: 100%;
	position: relative;
	top: -100px;
}

input {outline: none;}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
::-webkit-scrollbar {width: 8px;}
::-webkit-scrollbar-track {background-color: #eaeaea;}
::-webkit-scrollbar-thumb {background-color: #cecece; border-radius: 10px;}

.input-group{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    position: relative;
}
.input-group label{
    padding-left: 11px;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 500;
}
.input-group label .required{color: var(--color-light-red);}
.input-group .disabled-input-mask{
    display: flex;
    align-items: center;
    width: 100%;
    height: 55px;
    padding: 12px 22px;
    box-sizing: border-box;
    border: 1.5px solid var(--color-border-6);
    border-radius: 8px;
    color: #8e979f;
    font-size: 14px;
    font-family: var(--font-primary);
    cursor: not-allowed;
    background-color: #f1f2f3;
}
.input-group input,
.input-group textarea{
    width: 100%;
    height: 55px;
    padding: 12px 22px;
    box-sizing: border-box;
    border: 1.5px solid var(--color-border-6);
    border-radius: 8px;
    color: var(--color-black);
    font-size: 14px;
    font-family: var(--font-primary);
    outline: none;
    resize: none;
}
.input-group textarea{height: 80px;}

.input-group input:focus,
.input-group textarea:focus{
    border: 1.5px solid var(--color-main);
}

.input-group.iconed input,
.input-group.iconed textarea{padding-left: 45px;}
.input-group.iconed textarea{padding-top: 17px;}
.input-group.iconed .icon {
	position: absolute;
	bottom: 18px;
	left: 16px;
}
.input-group.iconed.textarea .icon{
	top: 43px;
    bottom: unset;
}
.input-group.iconed .icon i{color: #ccc;}

input.invalid_input,
textarea.invalid_input{border: 1px solid var(--color-light-red);}


.alert-area{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 8px;
}
.alert-area .alert.error{
	color: var(--color-light-red);
}
.alert-area .alert.no_error{
	color: var(--color-light-green);
}
.alert-area .alert{
	text-align: center;
	font-size: 14px;
}

.page{
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: 16px;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid var(--color-border-6);
}

.breadcrumbs{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 20px;
}
.breadcrumbs .item{
    display: flex;
    color: var(--color-text-secondary);
    font-weight: 500;
    font-size: 14px;
}
.breadcrumbs a.item{color: #000 !important;}
.breadcrumbs a.item:hover{color: var(--color-main) !important;}
.breadcrumbs .item::after{
    content: '\f105';
    display: flex;
    align-items: center;
    padding-left: 10px;
    font-family: 'Font Awesome 6 Free';
    font-weight: 600;
    font-size: 11px;
}
.breadcrumbs .item:last-child::after{display: none;}

.quantity-cart{
    display: flex;
    align-items: center;
    width: 100%;
    height: 45px;
    padding: 3px;
    box-sizing: border-box;
    border-radius: 8px;
    background-color: #f6f7f8;
    border: 1px solid rgb(90,191,112,.1);
}
.quantity-cart button {
    width: 39px;
    height: 39px;
    background-color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    font-size: 18px;
    border-radius: 8px;
    color: var(--color-black);
    cursor: pointer;
    outline: none;
    font-weight: 600;
}

.quantity-cart .number{
    flex: 1;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    outline: none;
    border: none;
    background: transparent;
    font-size: 16px;
    font-weight: 700;
    color: #131313;
}
.info-box{
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px;
    box-sizing: border-box;
    border-radius: 12px;
    background: #fff6d6;
    font-size: 14px;
}
.info-box .icon,
.info-box .icon svg{
    width: 30px;
    height: 30px;
}

@media screen and (max-width: 1220px){
    .container,
	.container-2{
		padding-left: 10px;
		padding-right: 10px;
        box-sizing: border-box;
    }
}
@media screen and (max-width: 767px){
	.page-header{font-size: 24px;}
}
@media screen and (max-width: 480px){
	*{cursor: default !important; }
    .adaptive-padding {padding: 0 0;}
	.page-header{font-size: 24px;}
	.page-sub-header{font-size: 16px;}
    .button{padding: 18px 24px;}
}
.fullscreen{
	position: fixed;
	top: 0;
	left: 0;
    right: 0;
    bottom: 0;
	z-index: 10;
    overflow-y: auto;
}
.fullscreen.fullscreen-centered{
    display: flex;
    align-items: center;
    justify-content: center;
}
.blackout{background: rgba(8,25,43,0.8);}
.spliter{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.spliter span{
	font-size: 14px;
	color: var(--color-text-secondary);
}
.spliter::before,
.spliter::after{
	content: '';
	flex: 1;
	height: 1px;
	background-color: var(--color-border);
	display: block;
}
.page-pagination-wrap{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-top: 32px;
}
.page-pagination-wrap .pagination-control{
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 4px;
    font-size: 14px;
    border: 1px solid var(--color-border);
}
.page-pagination-wrap .pagination-control.prev{margin-right: 20px;}
.page-pagination-wrap .pagination-control.next{margin-left: 20px;}
.page-pagination-wrap .pagination-control.disabled{
    background: transparent;
    cursor: not-allowed;
}
.page-pagination-wrap .pagination-control.disabled i{color: #ccc !important;}
.page-pagination-wrap .pagination-items{
    display: flex;
    align-items: center;
    height: 42px;
    background-color: #fff;
}
.page-pagination-wrap .pagination-item{
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    font-weight: 500;
}
.page-pagination-wrap .pagination-item.active{
    background-color: var(--color-main);
    color: #fff !important;
}
.skeleton-animation{
    opacity: .7;
    animation: skeleton-loading 1s linear infinite alternate;
}
.skeleton-animation-text{
    width: 100%;
    height: .5rem;
    margin-bottom: .25rem;
    border-radius: .125rem;
    animation: skeleton-loading 1s linear infinite alternate;
}
.skeleton-animation-text:first-child{width: 70%;}
@keyframes skeleton-loading {
    0% {background-color: rgb(163, 184, 194);}
    100% {background-color: rgb(240, 243, 245);}
}
/*  ==========  END GENERAL STYLES  ==========  */





/* ========== HEADER MENU STYLES ========== */
header{
    position: sticky;
    top: 0;
    left: 0;
    height: 74px;
    padding: 10px 0;
    box-sizing: border-box;
    background-color: #fff;
    z-index: 10;
}
header .container{
    max-width: 1400px;
    display: flex;
    justify-content: space-between;
    align-content: center;
}
header .group{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

header .menu-icon{display: none !important;}

header .logo-wrap{
    display: flex;
    align-items: center;
    gap: 10px;
}
header .logo{height: 50px;}
header .name{
    font-family: var(--font-secondary);
    font-weight: 600;
}

header .nav-menu{
    display: flex;
    gap: 12px;
    padding-left: 12px;
}
header .nav-menu a{
    display: flex;
    align-items: center;
    font-weight: 500;
}
header .nav-menu .secret{display: none;}

header .element{
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: .3s;
    box-shadow: var(--box-shadow);
    border: 1px solid var(--color-border);
    border-radius: 5px;
}
header .element:hover{
    box-shadow: none;
}
header .element .icon{
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    border-radius: 5px;
    position: relative;
}
header .element .icon svg{
    width: 24px;
    height: 24px;
}
header .element .icon svg path{
    fill: var(--color-main);
}
header .element .value{
    display: flex;
    align-items: center;
    width: 90px;
    height: 50px;
    font-family: var(--font-secondary);
    font-size: 15px;
    font-weight: 500;
}
header .element.cart .qtty{
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(25%,-25%);
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-light-red);
    border-radius: 100px;
    color: #fff;
    font-size: 14px;
}
header .user path{fill: none !important; stroke: var(--color-main);}
header .user circle{stroke: var(--color-main);}

#search{position: relative;}
#search .search-body input{
    width: 330px;
    height: 50px;
    padding: 15px;
    padding-left: 50px;
    box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid var(--color-border);
    background: none;
    font-family: var(--font-primary);
    font-weight: 500;
    box-shadow: var(--box-shadow);
}
#search .search-body button{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    font-size: 18px;
    border: none;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    background: transparent;
    cursor: pointer;
}
#search .search-body button svg{
    width: 100%;
    height: 100%;
}
#search .search-body button svg path{fill: var(--color-main);}
#search .search-dropdown{
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
    width: 100%;
	max-height: 400px;
	display: flex;
    flex-direction: column;
	background: #fff;
	box-shadow: var(--box-shadow);
	border-radius: 4px;
    overflow-y: auto;
}
#search .search-dropdown .note{
    font-size: 14px;
    padding: 14px;
    font-weight: 500;
}
#search .search-dropdown .list{
    display: flex;
    flex-direction: column;
}
#search .search-dropdown .list .item{
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    box-sizing: border-box;
    font-size: 15px;
}
#search .search-dropdown .list .item:hover{background-color: var(--color-gray-bg);}
#search .search-dropdown .list .item .icon{
    width: 21px;
    height: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#search .search-dropdown .list .item .value{
    width: 100%;
    height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
#search .search-dropdown .notfound {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 14px;
    box-sizing: border-box;
    border-top: 1px dashed var(--color-border);
    letter-spacing: .5px;
    color: var(--color-text-secondary);
    font-size: 14px;
    text-align: center;
}
#search .search-dropdown .notfound .icon path{stroke: var(--color-text-secondary);}
@media screen and (max-width: 1200px){
    header .container{gap: 5px;}
    header .group{gap: 8px}
    header .nav-menu{gap: 8px;padding-left: 8px;}
    header .search-body input{width: 270px;}
}
@media screen and (max-width: 1024px){
    header{margin-bottom: 20px;}
    header .nav-menu{
        display: none;
        width: 260px;
        gap: 0;
        flex-direction: column;
        position: absolute;
        top: 100%;
        padding: 6px 0;
        background-color: #fff;
        border-radius: 5px;
        box-shadow: var(--box-shadow);
        z-index: 2;
    }
    header .nav-menu.opened_menu{display: flex;}
    header .nav-menu .secret{display: flex;}
    header .nav-menu .secret path{stroke: va;}
    header .nav-menu .item{
        display: flex;
        gap: 8px;
        width: 100%;
        padding: 12px 18px;
        box-sizing: border-box;
        color: #000;
        font-weight: 500;
    }
    header .nav-menu .item:hover path{stroke: var(--color-main);}
    header .menu-icon{display: flex !important;}
}
@media screen and (max-width: 767px){
    header{padding-bottom: 0;}
    #search{
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        padding: 10px;
        box-sizing: border-box;
        background-color: #fff;
    }
    #search .search-body input{width: 100%;}
    #search .search-body button{left: 25px}
    #search .search-dropdown{top: 100% !important;}
}
@media screen and (max-width: 480px){header .element .value{display: none;}}
/* ========== END HEADER MENU STYLES ========== */





/* ========== POPULARS STYLES ========== */
#populars{
    background-color: #fff;
    border-bottom: 1px solid #eaeaea;
    margin-bottom: 20px;
}
#populars .container{max-width: 1400px;}
#populars .wrap{
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 15px;
}
#populars .wrap a{
    padding: 12px 0;
    box-sizing: border-box;
    position: relative;
    font-size: 14px;
    text-align: center;
    font-weight: 500;
}
#populars .wrap a::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 1px;
    background: var(--color-main);
    display: block;
}
@media screen and (max-width: 1024px){#populars{display: none;}}
/* ========== END POPULARS STYLES ========== */





/* ========== CONTENT LAYOUTS STYLES ========== */
.layout-default{
    display: flex;
    align-items: start;
    gap: 20px;
}
.layout-default .layout-default-main{
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1;
}
.layout-default .layout-default-bar{
    width: 340px;
    min-width: 340px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.layout-default .layout-default-bar.sticky-wrap{
    position: sticky;
    top: 90px;
}
.layout-default .layout-default-bar .group{
    padding: 20px 24px;
    box-sizing: border-box;
    border-radius: 12px;
    background-color: #fff;
}
.layout-default .layout-default-bar .group .title{
    padding-bottom: 20px;
    font-size: 17px;
    color: var(--color-black);
    font-weight: 600;
}

.simple-block{
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 12px;
}
.simple-block .content-medium{
    width: 550px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin: auto;
}
@media screen and (max-width: 840px){
    .layout-default{
        display: flex;
        flex-direction: column;
    }
    .layout-default .layout-default-bar,
    .layout-default .layout-default-main{width:100%;}
    .layout-default .layout-default-bar.sticky-wrap{position: unset;}
}
@media screen and (max-width: 767px){
    .simple-block{
        padding: 24px;
    }
    .simple-block .content-medium{
        max-width: unset;
        width: 100%;
    }
}
/* ========== END CONTENT LAYOUTS STYLES ========== */




/* ========== PRE FOOTER STYLES ========== */
#pre-footer{
    margin-top: 50px;
    border-radius: 4px;
    background-color: #fff;
    padding: 32px 0;
}
#pre-footer .container{
    max-width: 1400px;
    display: flex;
    gap: 15px;
}
#pre-footer .icon{
    width: 36px;
    height: 36px;
    padding: 5px;
    box-sizing: border-box;
    border-radius: 4px;
    background-color: rgb(255,80,113,.3);
}
#pre-footer .group{
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
#pre-footer .text{
    font-weight: 500;
    color: var(--color-text-secondary);
}
#pre-footer .number{
    font-size: 18px;
    font-weight: 600;
} 
/* ========== END PRE FOOTER STYLES ========== */





/* ========== FOOTER STYLES ========== */
footer{
    background-color: #1b2027;
    color: #fff;
}
footer .container{
    display: flex;
    flex-direction: column;
    max-width: 1400px;
}
footer .content{
    padding: 50px 0;
}
footer .link-tree{
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
}
footer .link-tree .group{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 16px 24px;
    box-sizing: border-box;
    border-left: 1px solid #303841;
}
footer .link-tree .group a{color: #919399;}
footer .link-tree .contacts{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-right: 24px;
    box-sizing: border-box;
}
footer .link-tree .contacts a{
    margin-top: 7px;
    width: 240px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    box-sizing: border-box;
    border: 1px solid #303841;
    border-radius: 4px;
    color: #fff;
}
footer .link-tree .contacts a i{color: #fff;}
footer .group .header{
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    padding-bottom: 10px;
    font-weight: 500;
}
footer .theend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 18px 0;
    border-top: 1px solid #303841;
}
footer .theend  span{color: #92999f;}
footer .theend  a{color: var(--color-blue-link);}
@media screen and (max-width: 1024px){
    footer .link-tree{grid-template-columns: 1fr 1fr 1fr;}
}
@media screen and (max-width: 767px){
    footer .link-tree{grid-template-columns: 1fr; gap: 16px}
    footer .link-tree .contacts{padding: 0;}
    footer .link-tree .contacts a{width: 100%;}
}
/* ========== END FOOTER STYLES ========== */





/* ========== PRODUCT LIST STYLES ========== */
.produts-list-inner{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 15px;
    justify-content: space-between;
    place-items: center;
}
@media screen and (max-width: 480px){
    .produts-list-inner{
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 5px;
    }
}
/* ========== END PRODUCT LIST STYLES ========== */





/* ========== PRODUCT CARD STYLES ========== */
.product-card{
    width: 100%;
    height: 100%;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    padding-top: 45px;
    box-sizing: border-box;
    border-radius: 10px;
    background-color: #fff;
    /* border: 1px solid var(--color-border); */
    box-shadow: 0 0 20px rgb(95 125 149 / 5%);
    position: relative;
}
.product-card .tags{
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 5px;
}
.product-card .tags .tag{
    padding: 8px 12px;
    border-radius: 5px;
    background-color: #eaeaea;
    font-size: 12px;
}
.product-card .tags .tag.new{background-color: #FFD043; color: #131313;}
.product-card .tags .tag.discount{
    background-color: var(--color-light-red);
    color: #fff;
    font-weight: 600;
}
.product-card .image{
    width: 100%;
    height: 160px;
    padding: 0 12px;
    box-sizing: border-box;
    border-radius: 4px;
    object-fit: contain;
}
.product-card .title-wrap{
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 4px;
}
.product-card .title{
    height: 60px;
    font-size: 17px;
    color: #131313;
    font-weight: 500;
    
    color: #131313;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.product-card .sub-title{
    font-size: 14px;
    color: var(--color-main);
}
.product-card .card-info{
    height: 45px;
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    justify-content: space-between;
    gap: 12px;
}
.product-card .price-wrap{
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.product-card .price{
    display: flex;
    align-items: end;
    gap: 1px;
    font-size: 22px;
    font-weight: 600;
    color: #000;
}
.product-card .price .t-sym{
    font-size: 18px;
    color: var(--color-text-secondary)
}
.product-card .price-old{
    text-decoration: line-through;
    color: var(--color-light-red);
    font-size: 14px;
    font-weight: 500;
}
.product-card .action{
    display: flex;
    align-items: flex-end;
}
.product-card .addtocart{
    width: 100%;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-sizing: border-box;
    background: var(--color-main);
    border: none;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    outline: none;
    font-size: 15px;
    font-family: var(--font-primary);
    font-weight: 600;
    transition: .3s;
}
.product-card .addtocart:hover{
    opacity: .80;
}
@media screen and (max-width: 480px){
    .product-card{
        padding: 14px;
        gap: 8px;
    }
    .product-card .block{
        display: flex;
        flex-direction: column;
        height: unset;
    }
    .product-card .title-wrap{gap: 3px;}
    .product-card .title{font-size: 16px;}
    .product-card .price-wrap{
        flex-direction: row;
        align-items: center;
        gap: 8px;
    }
    .product-card .price{font-size: 19px;}
}
/* ========== END PRODUCT CARD STYLES ========== */





/* ========== MODAL STYLES ========== */
.modal-wrap{
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 490px;
    min-height: 200px;
    max-height: 90%;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 22px;
    background-color: #fff;
    overflow: hidden;
    position: relative;
}
.modal-wrap .header{
    display: flex;
    gap: 16px;
    width: 100%;
    height: 35px !important;
    padding-right: 40px;
    box-sizing: border-box;
    position: relative;
}
.modal-wrap .header .name{
    height: 35px;
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 20px;
    color: var(--color-black);
}
.modal-wrap .header .close-item{
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    border-radius: 50%;
    border: 1px solid var(--color-border);
}
.modal-wrap .header .close-item i{color: #000}
.modal-wrap .content{
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
    padding-top: 0;
    box-sizing: border-box;
    overflow-y: auto;
}
.modal-wrap .content .title{
    width: 100%;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    color: var(--color-black);
}
.modal-wrap .content .text-fill{
    width: 100%;
    padding: 12px 0 22px 0;
    font-size: 14px;
    text-align: center;
}

@media screen and (max-width: 480px){
    .modal-wrap{
        width: 100%;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: 22px 22px 0 0;
    }
}

/*  AUTH MODAL */
#modal-auth .unsign-continue{
    display: flex;
    flex-direction: column;
    gap: 12px;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 20px;
    box-sizing: border-box;
}
#modal-auth .unsign-continue .title{
    font-size: 17px;
    color: var(--color-black);
    font-weight: 500;
    text-align: center;
}

#modal-auth .auth-form{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
}
#modal-auth .auth-form .input-group{margin-bottom: 8px;}
#modal-auth .auth-form .alert-area{padding: 12px 0;}
#modal-auth .auth-form .button{width: 100%;}
#modal-auth .auth-form .switch-wrap{
    width: 100%;
    margin-top: 18px;
    padding: 12px 0;
    text-align: center;
    cursor: pointer;
}
#modal-auth .auth-form .switch-wrap .switch{color: var(--color-blue-link);}
#modal-auth .auth-form .switch-wrap:hover .switch{opacity: .85;}

/*  CHANGE EMAIL */
#change-email-modal .change-email-form{
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#change-email-modal .sendcode{
    color: var(--color-blue-link);
    position: absolute;
    right: 0;
    font-size: 14px;
}
#change-email-modal .info{
    width: 100%;
    text-align: center;
    padding: 0 5%;
    box-sizing: border-box;
    color: #40c057;
    font-size: 14px;
}
#change-email-modal .info i{color: #40c057;}

/*  CHANGE PASSWORD */
#change-password-modal .change-password-form{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/*  SELECT ADDRESS */
#select-address-modal .add-button{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    background-color: var(--color-blue-link-alpha);
    color: var(--color-blue-link);
    font-size: 14px;
    font-weight: 500;
    padding: 16px;
    margin-bottom: 22px;
    box-sizing: border-box;
    border-radius: 8px;
    cursor: pointer;
}
#select-address-modal .add-button i{color: var(--color-blue-link);}
#select-address-modal .add-button:hover{opacity: .85;}
#select-address-modal .address-list{
    display: flex;
    flex-direction: column;
}
#select-address-modal .address-list .radio-wrap{
    width: 100%;
    gap: 15px;
    flex-direction: column;
}
#select-address-modal .address-list .radio-item{height: 55px;}
#select-address-modal .address-list .button{margin-top: 20px;}

/*  NEW ADRESS ADDRESS */
#new-address-modal .new-address{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#new-address-modal .new-address .new-address-form{
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/*  CATEGORY MODAL */
#category-modal .category-list{
    display: flex;
    flex-direction: column;
}
#category-modal .category-family{
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}
#category-modal .category-family .head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 500;
    padding: 16px 0;
    border-bottom: 1px solid var(--color-border);
    cursor: pointer;
}
#category-modal .category-family .head:hover{
    color: var(--color-main);
}
#category-modal .category-family .head::after{
    content: '\f054';
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-family: var(--font-awesome-free);
    font-weight: 600;
    transition: .3s all;
}
#category-modal .category-family .body{
    /* height: 0; */
    display: flex;
    flex-direction: column;
    padding-left: 28px;
    box-sizing: border-box;
    transition: .3s all;
}
#category-modal .category-family .body .link{
    display: flex;
    padding: 14px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--color-border);
    cursor: pointer;
    background-color: #fff;
    position: relative;
}
#category-modal .category-family .body .link::before{
    content: '\f3bf';
    width: 15px;
    height: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(90deg);
    font-size: 13px;
    font-family: var(--font-awesome-free);
    font-weight: 600;
    position: absolute;
    right: calc(100% + 7px);
    opacity: .3;
    color: #121212;
    pointer-events: none;
}
#category-modal .category-family.active .head{color: var(--color-main);}
#category-modal .category-family.active .head::after{
    color: var(--color-main);
    transform: rotate(90deg);
}
/* ========== END MODAL STYLES ========== */





/* ========== RADIO-WRAP STYLES ========== */
.radio-wrap {
	display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.radio-wrap input[type=radio] {display: none;}
.radio-wrap label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    padding: 16px;
    box-sizing: border-box;
    border-radius: 8px;
    border: 1.5px solid var(--color-border-6);
    font-size: 14px;
    font-weight: 500;
    font-family: var(--font-primary);
	cursor: pointer;
	user-select: none;
}
.radio-wrap label::before{
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border-radius: 14px;
    background-color: #ccc;
}
 
/* Checked */
.radio-wrap input[type=radio]:checked + label {
    background-color: #fff;
    border-color: var(--color-light-green);
}
.radio-wrap input[type=radio]:checked + label::before{
    content: '\f00c';
    background-color: var(--color-light-green);
    color: #fff;
    font-size: 9px;
    font-weight: 600;
    font-family: var(--font-awesome-free);
}
 
/* Disabled */
.radio-wrap input[type=radio]:disabled + label {
	opacity: 0.5;
    cursor: not-allowed;
}
@media screen and (max-width: 767px){
    .radio-wrap{
        width: 100%;
        flex-direction: column;
    }
}
/* ========== END RADIO-WRAP STYLES ========== */





/* ========== COSTOM RADIO-WRAP STYLES ========== */
.custom-radio label{
    display: flex;
    flex-direction: column;
    align-items: start;
    position: relative;
}
.custom-radio label::before{
    position: absolute;
    top: 16px;
    left: 15px;
}
.custom-radio label span.text{
    font-weight: 600;
    color: var(--color-black);
    padding-left: 20px;
    box-sizing: border-box;
}
.custom-radio label span.desc{
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 14px;
}
.custom-radio label .price{
    font-weight: 600;
    font-size: 18px;
    color: var(--color-black);
    height: 21px;
}

.custom-radio.iconed label{
    padding-right: 70px;
}
.custom-radio.iconed label .icon{
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.custom-radio.iconed label .icon.i1{background: url("/assets/icons/hatchback.png");}
.custom-radio.iconed label .icon.i2{background: url("/assets/icons/small-plane.png");}
/* ========== END COSTOM RADIO-WRAP STYLES ========== */





/* ===== CHECKBOX STYLES ===== */
.checkbox-wrap{
    display: flex;
    align-items: center;
}
.checkbox-wrap label{
    display: flex;
    gap: 10px;
}
.checkbox-wrap .checkmark{
	width: 20px;
	height: 20px;
	border-radius: 4px;
	background-color: #fff;
	box-sizing: border-box;
	line-height: 1.6;
	text-align: center;
	cursor: pointer;
	border: 1px solid var(--color-border-6);
}
.checkbox-wrap .checkmark:before{
	content: "\f00c";
    font-family: var(--font-awesome-free);
    font-size: 12px;
	font-weight: 600;
	color: var(--color-light-green);
	display: none;
}
.checkbox-wrap input{display: none;}
.checkbox-wrap input:checked ~ .checkmark:before{display: block;}
.checkbox-wrap label{
	box-sizing: border-box;
	line-height: 20px;
	font-family: var(--font-primary);
	font-size: 14px;
	cursor: pointer;
}
.checkbox-wrap label:hover{color: #000;}
/* ===== END CHECKBOX STYLES ===== */