/*FONT*/
@font-face {
   font-family: 'Proxima Nova';
   src: url('../fonts/ProximaNova-Light.woff2') format('woff2'),
        url('../fonts/ProximaNova-Light.ttf') format('truetype');
   font-weight: 300;
   font-style: normal;
   font-display: swap;
}

@font-face {
   font-family: 'Proxima Nova';
   src: url('../fonts/ProximaNova-Regular.woff2') format('woff2'),
        url('../fonts/ProximaNova-Regular.ttf') format('truetype');
   font-weight: 400;
   font-style: normal;
   font-display: swap;
}

@font-face {
   font-family: 'Proxima Nova';
   src: url('../fonts/ProximaNova-Semibold.woff2') format('woff2'),
        url('../fonts/ProximaNova-Semibold.ttf') format('truetype');
   font-weight: 500;
   font-style: normal;
   font-display: swap;
}

@font-face {
   font-family: 'Proxima Nova';
   src: url('../fonts/ProximaNova-Semibold.woff2') format('woff2'),
        url('../fonts/ProximaNova-Semibold.ttf') format('truetype');
   font-weight: 600;
   font-style: normal;
   font-display: swap;
}

@font-face {
   font-family: 'Proxima Nova';
   src: url('../fonts/ProximaNova-Bold.woff2') format('woff2'),
        url('../fonts/ProximaNova-Bold.ttf') format('truetype');
   font-weight: 700;
   font-style: normal;
   font-display: swap;
}

@font-face {
   font-family: 'Proxima Nova';
   src: url('../fonts/ProximaNova-Bold.woff2') format('woff2'),
        url('../fonts/ProximaNova-Bold.ttf') format('truetype');
   font-weight: 800;
   font-style: normal;
   font-display: swap;
}

@font-face {
   font-family: 'Proxima Nova';
   src: url('../fonts/ProximaNova-Bold.woff2') format('woff2'),
        url('../fonts/ProximaNova-Bold.ttf') format('truetype');
   font-weight: 900;
   font-style: normal;
   font-display: swap;
}

/*focus*/
.sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   border: 0;
}

:focus {
   outline: none !important;
   -moz-outline: 3px solid #fff !important;
}

button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"]>input[type="button"]::-moz-focus-inner {
   border: none;
}

input[type="radio"]:focus {
   -moz-outline-radius: 12px !important;
   -moz-outline-offset: 0px !important;
}

input[type="checkbox"]:focus {
   -moz-outline-offset: -1px !important;
   -moz-outline: 1px solid #000 !important;
}

:focus::-webkit-input-placeholder {
   color: transparent;
}

:focus::-moz-placeholder {
   color: transparent;
}

:focus:-moz-placeholder {
   color: transparent;
}

:focus:-ms-input-placeholder {
   color: transparent;
}

input:not([type=checkbox]):not([type=radio]),
textarea,
select {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}

* {
   margin: 0;
   box-sizing: border-box;
   box-shadow: none;
   -webkit-tap-highlight-color: transparent;
}

html {
   width: 100%;
   max-width: 100%;
   overflow-x: hidden;
}

html,
body {
   height: 100%;
}

body {
   display: flex;
   flex-direction: column;
   font-family: 'Proxima Nova', sans-serif !important;
   min-width: 360px;
   width: 100%;
   max-width: 100%;
   overflow-x: hidden;
   position: relative;
   margin: 0 auto;
   color: #232323;
   padding-top: 80px;
}

*,
*::before,
*::after,
html,
body,
input,
button,
select,
textarea,
optgroup,
option,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
div,
li,
ul,
ol,
label,
b,
strong,
i,
em,
small,
s,
del,
table,
tr,
th,
td,
blockquote,
header,
footer,
nav,
section,
article,
aside,
main {
   font-family: 'Proxima Nova', sans-serif !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
   font-family: swiper-icons !important;
}

.container {
   max-width: 1170px;
   width: 100%;
   margin-left: auto;
   margin-right: auto;
   position: relative;
   box-sizing: border-box;
}

/* Ensure all slider modules and swiper wrappers clip horizontal overflow globally */
.swiper,
.swiper-container,
.module .swiper,
.module-popular .swiper,
.module-special .swiper,
.module-bestseller .swiper,
.module-latest .swiper,
.module-related .swiper,
.module-brands .swiper,
.module-reviews .swiper,
#product .swiper {
   overflow: hidden !important;
   max-width: 100% !important;
   box-sizing: border-box !important;
}

/* Pre-initialization reserved widths for Swiper slides (Prevents shift/jump on page load) */
.swiper-wrapper {
   display: flex !important;
   flex-wrap: nowrap !important;
}

.module-popular .swiper .swiper-slide,
.module-special .swiper .swiper-slide,
.module-bestseller .swiper .swiper-slide,
.module-latest .swiper .swiper-slide,
.module-related .swiper .swiper-slide,
.module-sertificat .swiper .swiper-slide,
.course-sertificat .swiper .swiper-slide,
.module-course-bl2 .swiper .swiper-slide,
#product .module-special .swiper .swiper-slide,
#product .module .swiper .swiper-slide {
   width: calc((100% - 90px) / 4);
   margin-right: 30px;
   flex-shrink: 0;
   box-sizing: border-box;
}

.module-reviews .swiper .swiper-slide,
.study-review .swiper .swiper-slide {
   width: calc((100% - 60px) / 3);
   margin-right: 30px;
   flex-shrink: 0;
   box-sizing: border-box;
}

.module-brands .swiper .swiper-slide {
   width: 220px;
   height: 110px;
   margin-right: 24px;
   flex-shrink: 0;
   box-sizing: border-box;
}

.product-thumb .swiper-slide,
#product .images .product-thumb .swiper-slide {
   width: calc((100% - 50px) / 6);
   margin-right: 10px;
   flex-shrink: 0;
   box-sizing: border-box;
}

.product-image .swiper-slide,
#product .images .product-image .swiper-slide {
   width: 100%;
   flex-shrink: 0;
   box-sizing: border-box;
}

/* Responsive pre-initialization reserved widths */
@media (max-width: 1024px) {

   .module-popular .swiper .swiper-slide,
   .module-special .swiper .swiper-slide,
   .module-bestseller .swiper .swiper-slide,
   .module-latest .swiper .swiper-slide,
   .module-related .swiper .swiper-slide,
   .module-sertificat .swiper .swiper-slide,
   .course-sertificat .swiper .swiper-slide,
   .module-course-bl2 .swiper .swiper-slide,
   #product .module-special .swiper .swiper-slide,
   #product .module .swiper .swiper-slide {
      width: calc((100% - 60px) / 3);
      margin-right: 30px;
   }

   .module-reviews .swiper .swiper-slide,
   .study-review .swiper .swiper-slide {
      width: calc((100% - 30px) / 2);
      margin-right: 30px;
   }
}

@media (max-width: 768px) {

   .module-popular .swiper .swiper-slide,
   .module-special .swiper .swiper-slide,
   .module-bestseller .swiper .swiper-slide,
   .module-latest .swiper .swiper-slide,
   .module-related .swiper .swiper-slide,
   .module-sertificat .swiper .swiper-slide,
   .course-sertificat .swiper .swiper-slide,
   .module-course-bl2 .swiper .swiper-slide,
   #product .module-special .swiper .swiper-slide,
   #product .module .swiper .swiper-slide {
      width: calc((100% - 30px) / 2);
      margin-right: 30px;
   }
}

@media (max-width: 460px) {

   .module-popular .swiper .swiper-slide,
   .module-special .swiper .swiper-slide,
   .module-bestseller .swiper .swiper-slide,
   .module-latest .swiper .swiper-slide,
   .module-related .swiper .swiper-slide,
   .module-sertificat .swiper .swiper-slide,
   #product .module-special .swiper .swiper-slide,
   #product .module .swiper .swiper-slide {
      width: calc((100% - 10px) / 2);
      margin-right: 10px;
   }

   .course-sertificat .swiper .swiper-slide {
      width: calc((100% - 15px) / 2);
      margin-right: 15px;
   }

   .module-reviews .swiper .swiper-slide,
   .study-review .swiper .swiper-slide {
      width: 100%;
      margin-right: 0;
   }
}

.module,
.module-brands,
.module-popular,
.module-special,
.module-bestseller,
.module-latest,
.module-related,
.module-reviews {
   overflow: hidden;
   max-width: 100%;
   box-sizing: border-box;
}

.page,
#content {
   overflow: visible;
   max-width: 100%;
   box-sizing: border-box;
}

#content {
   flex: 1 0 auto;
}

footer {
   flex: 0 0 auto;
}

#bg {
   position: fixed;
   top: 0;
   right: 0;
   left: 0;
   bottom: 0;
   z-index: 990;
   background: #232323;
   opacity: 0.8;
   display: none;
}

img {
   max-width: 100%;
}

.btn {
   font-family: 'Proxima Nova';
   font-weight: 600;
   font-size: 14px;
   line-height: 17px;
   color: #FFFFFF;
   padding: 17px 30px;
   background: #179280;
   border: 1px solid #179280;
   border-radius: 5px;
   text-decoration: none;
   display: inline-block;
   cursor: pointer;
   text-align: center;
   transition: all 0.5s ease-in-out;
}

.btn:hover {
   background: #0F685B;
   border-color: #0F685B;
   color: #fff;
}

.btn2 {
   background: #fff;
   color: #179280;
   border: 1px solid #fff;
}

.btn3 {
   color: #179280;
   background: rgba(23, 146, 128, 0.1);
   border: 1px solid #179280;
   border-radius: 5px;
   padding: 10px 25px;
}

.btn4 {
   border: 1px solid #FFFFFF;
   background: none;
}

.btn5 {
   background: #fff;
   color: #179280;
   border: 1px solid rgba(23, 146, 128, 0.3);
}

.btn-link {
   border-bottom: 1px dashed #179280;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   color: #179280;
   padding-bottom: 2px;
   text-decoration: none;
   transition: all 0.5s ease-in-out;
}

.btn-link:hover {
   border-bottom: 1px dashed transparent;
}

.btn-cart {
   display: flex;
   align-items: center;
}

.btn-cart:before {
   content: url('../image/btn-buy.svg');
   margin-right: 10px;
   height: 17px;
}

.btn-arrow:after {
   content: url('../image/btn-arrow.svg');
   margin-left: 20px;
}

.btn-close {
   display: none;
   position: fixed;
   top: 16px;
   right: 10px;
   z-index: 13;
}

.btn-filter {
   display: none;
   border: 1px solid rgba(23, 146, 128, 0.3);
   padding: 6px;
   margin-right: auto;
   border-radius: 5px;
   height: 100%;
}

.btn-filter svg {
   display: block;
}

/**swiper**/
.swiper-scrollbar {
   background: #E9F1F0;
}

.swiper-scrollbar-drag {
   background: #179280;
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
   width: 2px;
}

.swiper-button-next,
.swiper-button-prev {
   background: #E8F4F2;
   border: 1px solid #84C5BC;
   border-radius: 50%;
   box-shadow: none;
   transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
   background: #D5EBE6;
   border-color: #179280;
}


.swiper-button-next:after,
.swiper-button-prev:after {
   content: '';
   background: url('../image/swiper-button.svg') no-repeat center;
   background-size: 22px 14px;
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
}

.swiper-button-next:before,
.swiper-button-prev:before {
   display: none;
}

.swiper-button-next,
.swiper-button-prev {
   width: 35px;
   height: 35px;
   top: calc(50% - 17px);
   margin: 0;
}

.swiper-button-next {
   right: -17px;
}

.swiper-button-prev {
   left: -17px;
}

.swiper-button-prev {
   transform: rotate(180deg);
}

/*select*/
select {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   font-weight: 400;
   font-size: 13px;
   line-height: 16px;
   color: #9AA0A1;
   padding: 8px 34px 8px 14px;
   background: #fff url('../image/arrow.svg') no-repeat calc(100% - 14px) center;
   width: 100%;
   cursor: pointer;
}

.select-box {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   font-weight: 400;
   font-size: 13px;
   line-height: 16px;
   color: #9AA0A1;
   padding: 8px 14px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   cursor: pointer;
   position: relative;
}

.select-box>span {
   margin-right: 10px;
   width: 100%;
}

.select-box svg {
   transition: all 0.3s ease-in-out;
}

.select-box ul {
   position: absolute;
   top: 100%;
   right: -1px;
   padding: 4px 0;
   margin: 0;
   background: #fff;
   list-style: none;
   max-height: 200px;
   overflow: hidden;
   border: 1px solid #F4F4F4;
   z-index: 15;
   min-width: calc(100% + 2px);
   pointer-events: none;
   opacity: 0;
}

.select-box .mCustomScrollBox {
   max-height: 200px !important;
}

.select-box.open svg {
   transform: rotate(180deg);
}

.select-box.open {
   border-color: rgba(23, 146, 128, 0.3);
   border-radius: 5px 5px 0 0;
   z-index: 20;
}

.select-box.open ul {
   opacity: 1;
   pointer-events: auto;
   transition: all 0.3s ease-in-out;
   border-color: rgba(23, 146, 128, 0.3);
   border-radius: 0 0 5px 5px;
}

.select-box ul li {
   transition: all 0.3s ease-in-out;
   /*white-space: nowrap;*/
}

.select-box ul li label {
   padding: 8px 14px;
   display: block;
   cursor: pointer;
}

.select-box ul li:hover {
   color: #179280;
}

.select-box ul li input {
   display: none;
}

.select-box ul li span {
   cursor: pointer;
}

.form-box .select-box {
   font-size: 14px;
   line-height: 21px;
   padding: 15px;
   margin-bottom: 15px;
}

.address-box .select-box>span input {
   height: 100%;
   width: 100%;
   padding: 15px;
   border: none;
}

.address-box .select-box {
   padding: 0 15px 0 0;
}

/**scroll*/
.mCSB_scrollTools {
   width: 6px;
}

.mCSB_scrollTools .mCSB_draggerContainer {
   background: #E9F1F0;
   width: 2px;
   margin: 0 !important;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
   width: 2px;
   background: #179280 !important;
   border-radius: 2px;
}

.mCSB_scrollTools .mCSB_draggerRail {
   display: none;
}

.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
   display: none !important;
}

.mCSB_scrollTools a+.mCSB_draggerContainer {
   margin: 0 !important;
}

.mCSB_inside>.mCSB_container {
   margin-right: 10px;
}

.success {
   font-size: 12px;
   color: #179280;
   margin-bottom: 5px;
   text-align: left;
}

.alert-success {
   color: #179280;
   margin-bottom: 15px;
}

/**HEADER**/
header {
   height: 80px;
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   background: #fff;
   z-index: 1000;
}

header .container {
   display: grid;
   grid-template-columns: 130px 1fr auto auto auto auto auto;
   gap: 20px;
   align-items: center;
   height: 100%;
}

header .container>div svg {
   display: block;
   margin-left: auto;
}

header .login .enter {
   padding: 4px 8px;
   background: rgba(23, 146, 128, 0.1);
   border-radius: 4px;
   font-weight: 600;
   font-size: 13px;
   line-height: 16px;
   color: #179280;
   display: grid;
   gap: 7px;
   grid-template-columns: auto auto;
   text-align: center;
   align-items: center;
   text-decoration: none;
   transition: all 0.5s ease-in-out;
}

header .login .enter:hover {
   background: rgba(23, 146, 128, 0.2);
}

header .cart {
   position: relative;
   padding-right: 8px;
}

header .search,
header .cart,
header .like {
   cursor: pointer;
   position: relative;
}

header .cart svg path,
header .search svg path,
header .like svg path {
   transition: all 0.5s ease-in-out;
}

header .cart:hover svg path,
header .search:hover svg path,
header .like:hover svg path {
   fill: #179280;
}

header .cart>span,
header #wishlist {
   position: absolute;
   top: -4px;
   right: 0;
   display: flex;
   width: 16px;
   height: 16px;
   background: #179280;
   border: 2px solid #FFFFFF;
   border-radius: 50%;
   font-weight: 700;
   font-size: 10px;
   align-items: center;
   justify-content: center;
   color: #FFFFFF;
   border: 2px solid #fff;
}

header .phone a {
   font-weight: 600;
   font-size: 17px;
   line-height: 21px;
   color: #232323;
   text-decoration: none;
}

header nav {
   height: 100%;
}

header nav ul {
   padding: 0;
   margin: 0;
   list-style: none;
}

header nav ul li>svg {
   display: block;
   cursor: pointer;
}

header nav>ul {
   display: flex;
   margin: 0 -10px;
   height: 100%;
   align-items: center;
}

header nav>ul>li {
   padding: 0 10px;
   position: relative;
   height: 100%;
   display: flex;
   align-items: center;
}

header nav>ul>li:hover>.submenu {
   opacity: 1;
   pointer-events: auto;
   transition: all 0.3s ease-in-out;
}

header nav .menu-catalog-link {
   display: flex;
   align-items: center;
   gap: 6px;
   text-decoration: none;
}

header nav .menu-catalog-label {
   display: flex;
   align-items: center;
   gap: 8px;
}

header nav .menu-catalog-icon {
   display: none;
}

header nav .submenu {
   position: absolute;
   padding: 19px 5px 20px 20px;
   right: 0;
   top: 70px;
   background: #FFFFFF;
   border-top: 2px solid #179280;
   display: grid;
   gap: 15px;
   min-width: 195px;
   z-index: 2;
   opacity: 0;
   pointer-events: none;
   border-radius: 0 0 5px 5px;
}

/* Desktop Bars Submenu */
header nav>ul>li.bars-menu {
   position: relative;
   cursor: pointer;
}

header nav>ul>li.bars-menu>.desktop-bars-submenu {
   position: absolute;
   top: 100%;
   right: 0;
   background: #FFFFFF;
   border-top: 2px solid #179280;
   padding: 16px 20px;
   min-width: 220px;
   display: flex;
   flex-direction: column;
   gap: 12px;
   z-index: 999;
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   border-radius: 0 0 5px 5px;
   transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

header nav>ul>li.bars-menu>.desktop-bars-submenu::before {
   content: '';
   position: absolute;
   top: -15px;
   left: 0;
   right: 0;
   height: 15px;
}

header nav>ul>li.bars-menu:hover>.desktop-bars-submenu,
header nav>ul>li.bars-menu>.desktop-bars-submenu:hover {
   opacity: 1 !important;
   visibility: visible !important;
   pointer-events: auto !important;
}

header nav>ul>li.bars-menu>.desktop-bars-submenu li {
   list-style: none;
   margin: 0;
   padding: 0;
}

header nav>ul>li.bars-menu>.desktop-bars-submenu li a {
   font-size: 14px;
   font-weight: 500;
   color: #232323;
   text-decoration: none;
   display: block;
   padding: 3px 0;
   white-space: nowrap;
   transition: color 0.2s ease;
}

header nav>ul>li.bars-menu>.desktop-bars-submenu li a:hover {
   color: #179280;
}

@media (min-width: 761px) {
   .mobile-drawer-wrapper {
      display: none !important;
      visibility: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
   }
}

@media (max-width: 760px) {

   header nav>ul>li.bars-menu>.desktop-bars-submenu,
   .desktop-bars-submenu {
      display: none !important;
      visibility: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
   }
}

header nav .menu-catalog .submenu.mega-menu-wrapper {
   position: absolute;
   top: 70px;
   left: 0;
   right: auto;
   width: 960px;
   max-width: 85vw;
   max-height: none !important;
   background: #FFFFFF;
   border-top: 2px solid #179280;
   border-radius: 0 0 5px 5px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
   padding: 0 !important;
   margin: 0;
   z-index: 1000;
   display: block;
   opacity: 0;
   pointer-events: none;
   visibility: hidden;
   transition: opacity 0.25s ease, visibility 0.25s ease;
}

header nav .menu-catalog:hover .submenu.mega-menu-wrapper {
   opacity: 1;
   pointer-events: auto;
   visibility: visible;
}

/* Mega Menu Layout */
.elixir-mega-menu {
   display: flex;
   height: 440px;
   width: 100%;
   background: #FFFFFF;
   border-radius: 0 0 5px 5px;
   overflow: hidden;
}

.elixir-mega-menu-left {
   flex: 0 0 290px;
   background: #FFFFFF;
   height: 100%;
   box-sizing: border-box;
   position: relative;
   overflow: hidden;
}

/* Always-visible divider line between left list and right panel on desktop */
.elixir-mega-menu-left::after {
   content: '';
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   width: 1px;
   background: #E2E8F0;
   z-index: 1;
   pointer-events: none;
}

.elixir-mega-menu-left::-webkit-scrollbar {
   width: 2px;
}

.elixir-mega-menu-left::-webkit-scrollbar-track {
   background: #E2E8F0;
}

.elixir-mega-menu-left::-webkit-scrollbar-thumb {
   background: #179280;
}

.elixir-mega-menu-left .mCSB_inside>.mCSB_container {
   margin-right: 0;
}

.elixir-mega-menu-left .mCSB_scrollTools {
   width: 2px;
   right: 0;
   top: 0;
   bottom: 0;
   height: 100%;
   z-index: 2;
   opacity: 1 !important;
   filter: none !important;
}

.elixir-mega-menu-left .mCSB_scrollTools .mCSB_draggerContainer {
   background: #E2E8F0 !important;
   width: 1px !important;
   margin: 0 0 0 1px !important;
   height: 100% !important;
}

.elixir-mega-menu-left .mCSB_scrollTools .mCSB_dragger {
   width: 2px !important;
}

.elixir-mega-menu-left .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
   width: 2px !important;
   background: #179280 !important;
   border-radius: 0 !important;
   margin: 0 !important;
}

.elixir-mega-menu-left .mCSB_scrollTools .mCSB_draggerRail,
.elixir-mega-menu-left .mCSB_scrollTools .mCSB_buttonUp,
.elixir-mega-menu-left .mCSB_scrollTools .mCSB_buttonDown {
   display: none !important;
}

.mega-left-list {
   list-style: none;
   margin: 0;
   padding: 10px 0;
}

.mega-left-item {
   border-bottom: 1px solid #F8FAFC;
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   transition: background-color 0.15s ease, color 0.15s ease;
}

.mega-left-item:last-child {
   border-bottom: none;
}

.mega-left-link {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 10px 15px 10px 20px;
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   line-height: 1.35;
   font-weight: 400;
   color: #232323 !important;
   text-decoration: none;
   width: 100%;
   box-sizing: border-box;
   transition: color 0.15s ease;
}

.mega-left-title {
   flex: 1;
   margin-right: 8px;
}

.mega-left-chevron {
   margin-left: auto;
   flex-shrink: 0;
   color: #CCCCCC;
   transition: color 0.15s ease;
}

/* Left Item Hover / Active state */
.mega-left-item.active,
.mega-left-item:hover {
   background-color: #179280 !important;
   cursor: pointer;
}

.mega-left-item.active .mega-left-link,
.mega-left-item:hover .mega-left-link {
   color: #FFFFFF !important;
}

.mega-left-item.active .mega-left-chevron,
.mega-left-item:hover .mega-left-chevron {
   color: #FFFFFF !important;
}

.elixir-mega-menu-right {
   flex: 1;
   padding: 25px 30px;
   background: #FFFFFF;
   height: 100%;
   box-sizing: border-box;
   overflow: hidden;
}

.mega-right-panel {
   display: none;
   width: 100%;
   height: 100%;
}

.mega-right-panel.active {
   display: block;
   animation: megaFadeIn 0.2s ease-in-out;
}

@keyframes megaFadeIn {
   from {
      opacity: 0;
      transform: translateY(3px);
   }

   to {
      opacity: 1;
      transform: translateY(0);
   }
}

.mega-right-grid {
   column-count: 3;
   column-gap: 30px;
   column-fill: auto;
   -moz-column-fill: auto;
   -webkit-column-fill: auto;
   height: 385px;
   max-height: 385px;
   width: 100%;
   box-sizing: border-box;
}

.mega-grid-item {
   break-inside: avoid-column;
   page-break-inside: avoid;
   -webkit-column-break-inside: avoid;
   margin-bottom: 12px;
   display: block;
   width: 100%;
}

.mega-child-title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   font-weight: 400;
   color: #232323 !important;
   text-decoration: none;
   line-height: 1.4;
   display: block;
   transition: color 0.15s ease;
}

.mega-child-title:hover {
   color: #179280 !important;
}

.mega-grandchild-list {
   list-style: none;
   margin: 6px 0 0 0;
   padding: 0;
}

.mega-grandchild-link {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-weight: 400;
   color: #555555 !important;
   text-decoration: none;
   line-height: 1.4;
   display: block;
   padding: 3px 0;
   transition: color 0.15s ease;
}

.mega-grandchild-link:hover {
   color: #179280 !important;
}

.mobile-cat-item.mobile-all-item {
   border-bottom: 1px solid #E8F3F1;
   background: #F7FBFA;
}

.mobile-cat-link.mobile-all-link {
   font-weight: 600 !important;
   color: #179280 !important;
}

header nav ul.submenu .mCSB_container {
   display: grid;
   gap: 15px;
}

header nav>ul>li:first-child ul.submenu {
   right: inherit;
   left: 0;
   max-height: 240px;
   /*min-width: 100px;*/
}

header nav ul.submenu a {
   font-weight: 400;
   font-size: 14px;
   line-height: 17px;
}

header nav a {
   font-weight: 600;
   font-size: 14px;
   line-height: 17px;
   color: #232323;
   text-decoration: none;
}

header nav a.sale {
   color: #179280;
   font-weight: 700;
}

header nav li>a:hover,
header nav li>a.active,
header nav li.active>a {
   color: #179280;
   transition: all 0.3s ease-in-out;
}

header nav .menu-catalog ul li {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
}

header nav .menu-catalog li svg,
header nav .menu-catalog li svg path {
   transition: all 0.5s ease-in-out;
   cursor: pointer;
}

header nav .menu-catalog li.active svg path {
   fill: #179280;
}

header nav .menu-catalog li.active svg {
   transform: rotate(180deg);
}

header nav .menu-catalog li ul.submenu2 {
   padding: 0 0 0 10px;
   display: none;
}

header nav .menu-catalog li.active ul.submenu2 {
   display: block;
}

header nav .menu-catalog li.active ul.submenu2 li {
   margin-top: 10px;
}

header nav ul.submenu2 {
   font-weight: 400;
   font-size: 14px;
   line-height: 17px;
}

/**FOOTER**/
footer {
   background: #f8f8f8;
   margin-top: 30px;
}

footer .copyright {
   background: #f1f1f1;
   font-weight: 300;
   font-size: 13px;
   line-height: 26px;
   height: 40px;
}

footer .copyright .container {
   display: grid;
   grid-template-columns: 1fr auto;
   height: 100%;
   align-items: center;
}

footer .copyright .container>div:last-child {
   text-align: right;
}

footer .copyright a {
   color: #179280;
   text-decoration: none;
}

footer ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

footer>.container {
   display: grid;
   grid-template-columns: 1fr auto 1fr auto;
   gap: 64px;
   align-items: flex-start;
   font-weight: 300;
   font-size: 14px;
   line-height: 26px;
   padding: 28px 0;
}

footer>.container a {
   font-weight: 300;
   font-size: 14px;
   line-height: 26px;
   color: #232323;
   text-decoration: none;
   transition: all 0.5s ease-in-out;
}

footer>.container a:hover,
footer>.container a.active {
   color: #179280;
}

footer>.container .heading {
   display: block;
   font-weight: 600;
   font-size: 18px;
   line-height: 22px;
   margin-bottom: 15px;
}

footer>.container a.sale {
   font-weight: 700;
}

footer .social {
   display: grid;
   grid-template-columns: repeat(4, 40px);
   gap: 10px;
   margin-bottom: 25px;
}

footer .social img {
   border: 1px solid rgba(23, 146, 128, 0.2);
   border-radius: 50%;
}

footer .logo p {
   margin: 10px 0px;
}

/**MAIN**/
.page {
   border-top: 1px solid #F4F4F4;
}

.main {
   border: none;
}

.main-slider {
   position: relative;
   width: 100%;
   padding: 15px 0 25px;
   min-height: 460px;
   margin-bottom: 40px;
}

.main-slider .container {
   overflow: visible;
   position: relative;
}



.main-slider {
   user-select: none;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
}

.main-slider .swiper {
   overflow: hidden !important;
   width: 100%;
   min-height: 420px;
   background: transparent;
   padding: 0;
   border-radius: 10px !important;
   position: relative;
   z-index: 1;
   opacity: 0;
   transition: opacity 0.3s ease;
   user-select: none;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
}

.main-slider .swiper.swiper-initialized {
   opacity: 1;
}

.main-slider .swiper-wrapper {
   display: flex;
   align-items: center;
   user-select: none;
   -webkit-user-select: none;
}

.main-slider .swiper-slide {
   width: 660px;
   height: 420px;
   aspect-ratio: 11 / 7;
   flex-shrink: 0;
   border-radius: 10px;
   overflow: hidden;
   position: relative;
   box-shadow: none !important;
   cursor: pointer;
   transform-origin: center center;
   will-change: transform, opacity;
   user-select: none;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   -webkit-user-drag: none;
}

.main-slider .swiper-slide a {
   display: block;
   width: 100%;
   height: 100%;
   position: relative;
   pointer-events: none;
   /* Block link clicks on non-active slides */
   cursor: pointer;
   user-select: none;
   -webkit-user-select: none;
   -webkit-user-drag: none;
}

.main-slider .swiper-slide-active a {
   pointer-events: auto;
   /* Enable link only on the active center slide */
}

.main-slider .slide-img {
   width: 100%;
   height: 100%;
   display: block;
   border-radius: 10px;
   object-fit: cover;
   aspect-ratio: 11 / 7;
   user-select: none;
   -webkit-user-select: none;
   -webkit-user-drag: none;
   pointer-events: none;
}

/* Link arrow badge in bottom right corner on hover */
.main-slider .slide-link-btn {
   display: flex;
   align-items: center;
   justify-content: center;
   position: absolute;
   right: 20px;
   bottom: 20px;
   width: 48px;
   height: 48px;
   background: #FFFFFF;
   border: 1.5px solid rgba(23, 146, 128, 0.35);
   border-radius: 50%;
   box-shadow: none;
   color: #179280;
   opacity: 0;
   transform: scale(0.85);
   transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
   pointer-events: none;
   z-index: 10;
}

.main-slider .slide-link-btn svg {
   display: block;
   width: 22px;
   height: 22px;
   transition: transform 0.2s ease;
}

.main-slider .swiper-slide-active .slide-link-btn {
   pointer-events: auto !important;
   cursor: pointer !important;
}

.main-slider .swiper-slide-active:hover .slide-link-btn {
   opacity: 1;
   transform: scale(1);
}

.main-slider .swiper-slide-active a:hover .slide-link-btn {
   background: #E8F4F2;
   border-color: #179280;
   color: #179280;
}

.main-slider .swiper-slide-active .slide-link-btn:hover {
   background: #179280 !important;
   border-color: #179280 !important;
   color: #FFFFFF !important;
}

.main-slider .swiper-slide-active .slide-link-btn:hover svg {
   transform: scale(1.08);
}

@media (max-width: 768px) {
   .main-slider .slide-link-btn {
      display: none !important;
   }
}

.main-slider .swiper-button-next,
.main-slider .swiper-button-prev {
   width: 48px;
   height: 48px;
   background: #FFFFFF;
   border: 1.5px solid rgba(23, 146, 128, 0.35);
   border-radius: 50%;
   top: 50%;
   margin: 0;
   z-index: 10;
   box-shadow: none;
   cursor: pointer;
   transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.main-slider .swiper-button-next:hover,
.main-slider .swiper-button-prev:hover {
   background: #E8F4F2;
   border-color: #179280;
}

.main-slider .swiper-button-prev {
   left: 0;
   right: auto;
   transform: translate(-50%, -50%) rotate(180deg);
}

.main-slider .swiper-button-prev:hover {
   transform: translate(-50%, -50%) rotate(180deg) scale(1.06);
}

.main-slider .swiper-button-next {
   right: 0;
   left: auto;
   transform: translate(50%, -50%);
}

.main-slider .swiper-button-next:hover {
   transform: translate(50%, -50%) scale(1.06);
}

.main-slider .swiper-button-disabled {
   opacity: 0.35;
   pointer-events: none;
}

.main-category .container {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   grid-template-rows: repeat(2, 300px);
   grid-template-areas:
      'cat2 cat4 cat3 cat3'
      'cat1 cat4 cat5 text';
   gap: 25px;
   position: relative;
   z-index: 1;
   margin-bottom: 60px;
}

.main-category a {
   display: block;
   position: relative;
   overflow: hidden;
   height: 100%;
   width: 100%;
   border-radius: 8px;
}

.main-category a img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: all 0.5s ease-in-out;
   display: block;
}

.main-category a:hover img {
   transform: scale(1.05);
}

.main-category a:before {
   content: '';
   position: absolute;
   right: 0;
   bottom: 0;
   left: 0;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
   height: 50%;
   transition: all 0.5s ease-in-out;
   z-index: 1;
}

.main-category a:hover:before {
   height: 85%;
}

.main-category a span {
   position: absolute;
   bottom: 20px;
   left: 22px;
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 18px;
   line-height: 1.2;
   color: #FFFFFF;
   z-index: 2;
}

.main-category .category-1 {
   grid-area: cat1;
}

.main-category .category-2 {
   grid-area: cat2;
}

.main-category .category-3 {
   grid-area: cat3;
}

.main-category .category-4 {
   grid-area: cat4;
}

.main-category .category-5 {
   grid-area: cat5;
}

.main-category .text {
   grid-area: text;
   font-weight: 300;
   font-size: 15px;
   line-height: 22px;
   background: #fff;
   padding: 20px;
   border-radius: 8px;
   overflow-y: auto;
}

.main-category .text p {
   margin-bottom: 15px;
   margin-top: 0;
}

.main-category .text p:last-child {
   margin-bottom: 0;
}

.mCustomScrollbar {
   scrollbar-width: thin;
   scrollbar-color: #888 #f1f1f1;
}

@media (max-width: 768px) {
   .main-category .container {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto;
      grid-template-areas:
         'cat3 cat3'
         'cat2 cat4'
         'cat1 cat4'
         'cat5 text';
   }

   .main-category .container>a,
   .main-category .text {
      min-height: 200px;
   }
}

@media (max-width: 480px) {
   .main-category .container {
      grid-template-columns: 1fr;
      grid-template-areas:
         'cat3'
         'cat2'
         'cat4'
         'cat1'
         'cat5'
         'text';
   }
}

.main-bl3 {
   padding-top: 60px;
}

.main-bl3 .container>div {
   background: #F5F7F9 url('../image/main-bl3-bg.png') no-repeat right bottom;
   border-radius: 10px;
   display: grid;
   grid-template-columns: 564px 1fr;
   margin-bottom: 60px;
}

.main-bl3 .container>div>div {
   display: flex;
   align-items: center;
}

.main-bl3 .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 600;
   font-size: 42px;
   line-height: 56px;
   margin-bottom: 10px;
}

.main-bl3 .text {
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
   margin-bottom: 25px;
}

.main-bl3 img {
   margin-top: -60px;
}

.module {
   margin-bottom: 60px;
}

.module .heading,
h2.heading,
h3.heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 600;
   font-size: 42px;
   line-height: 56px;
   margin-bottom: 30px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-top: 0;
}

.module-special .list {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 30px;
}

.item-product {
   background: #FFFFFF;
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   padding: 15px;
   cursor: pointer;
   position: relative;
   display: flex;
   flex-direction: column;
   height: 100%;
   box-sizing: border-box;
}

.item-product .box {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   min-height: 48px;
   position: relative;
   z-index: 5;
}

.item-product .box svg {
   display: block;
}

.item-product .box .stikers,
#product .images .stikers {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 5px;
   position: relative;
   z-index: 5;
}

.item-product .box .stikers .stikers-row,
#product .images .stikers .stikers-row {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 5px;
}

.item-product .box .stikers span:not(.badge-gift-tooltip),
#product .images .stikers span:not(.badge-gift-tooltip) {
   font-weight: 700;
   font-size: 11px;
   line-height: 13px;
   color: #FFFFFF;
   border-radius: 100px;
   padding: 5px 10px;
   display: inline-block;
   margin-right: 0;
   margin-bottom: 0;
}

.item-product .box .stikers span.action,
#product .images .stikers span.action {
   background: #FF3030;
}

.item-product .box .stikers span.new,
#product .images .stikers span.new {
   background: #FF9A23;
}

.item-product .box .stikers span.sale,
#product .images .stikers span.sale {
   background: #D355FF;
}

.item-product .box .stikers .badge-gift-wrapper,
#product .images .stikers .badge-gift-wrapper {
   position: relative;
   top: auto;
   left: auto;
   display: inline-flex;
   align-items: center;
}

.price-cashback-block {
   display: flex;
   flex-direction: column;
   gap: 4px;
   margin-top: 0;
   margin-bottom: 12px;
}

.item-cashback-badge {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   margin-top: 2px;
}

.item-cashback-badge .cashback-badge-icon {
   width: 15px;
   height: 15px;
}

.item-cashback-badge .cashback-badge-text {
   font-size: 13px;
   font-weight: 700;
   color: #AD378A;
   line-height: 1;
}

.item-product .box .like {
   background: transparent;
   border: none;
   padding: 0;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   line-height: 1;
}

.item-product .box .like path:first-child {
   fill: #179280;
}

.item-product .box .like.active path {
   fill: #179280;
}

.item-product .box .like:hover path:last-child {
   fill: rgba(23, 146, 128, 0.1);
}

.item-product .title-h3 {
   margin: 0;
   padding: 0;
}

.item-product .title,
.item-product .title-h3 a {
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   height: 42px;
   margin-bottom: 12px;
   color: #232323;
   text-decoration: none;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
   text-overflow: ellipsis;
   word-break: break-word;
}

.item-product .price {
   font-weight: 700;
   font-size: 16px;
   line-height: 20px;
   color: #222222;
}

.item-product .price s {
   font-weight: 400;
   font-size: 14px;
   line-height: 20px;
   text-decoration-line: line-through;
   color: #9AA0A1;
   margin-left: 10px;
}

.item-product .price-buy-block {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   position: relative;
   width: 100%;
   margin-top: auto;
   gap: 8px;
}

.item-product .price-buy-block .price-cashback-block {
   margin-bottom: 0;
   flex: 1 1 auto;
   min-width: 0;
}

.item-product .buy {
   position: absolute;
   bottom: 15px;
   right: 15px;
   display: block;
   width: 35px;
   height: 35px;
   background: #179280 url('../image/buy.svg') no-repeat center;
   border-radius: 50%;
   border: none;
   padding: 0;
   cursor: pointer;
   opacity: 0;
   transition: all 0.3s ease-in-out;
}

.item-product .price-buy-block .buy {
   position: static;
   flex-shrink: 0;
   margin-bottom: 2px;
}

.item-product .buy:hover,
.item-product .price-buy-block .buy:hover {
   background: #0F685B url('../image/buy.svg') no-repeat center;
}

/* Fallback if .buy is direct child and card has .timer */
.item-product:has(.timer) > .buy {
   bottom: 56px;
}

.timer {
   padding: 6px 12px;
   background: #EAF6F4;
   border-radius: 5px;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-weight: 600;
   font-size: 14px;
   color: #179280;
   margin-top: 5px;
   width: fit-content;
}

.timer .timer-icon {
   width: 16px;
   height: 16px;
}

.item-product .timer.timer-off {
   background: rgba(255, 48, 48, 0.05);
   color: #FF3030;
}

.item-product .timer.timer-off path {
   fill: #FF3030;
}

.item-product .image {
   text-align: center;
   height: 180px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 15px;
   position: relative;
   z-index: 1;
}

.item-product .image a {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   height: 100%;
}

.item-product .image img {
   max-height: 100%;
   max-width: 100%;
   object-fit: contain;
   aspect-ratio: 1 / 1;
}

.item-product:hover {
   box-shadow: 0px 0px 25px rgba(209, 209, 209, 0.25);
   transition: all 0.3s ease-in-out;
}

.item-product:hover .buy {
   opacity: 1;
   transition: all 0.5s ease-in-out;
}

.main-bl5 {
   position: relative;
   margin-bottom: 60px;
}

.main-bl5 .info {
   position: absolute;
   top: 50px;
   left: 0;
   right: 0;
   text-align: center;
}

.main-bl5 .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 400;
   font-size: 42px;
   line-height: 56px;
   color: #FFFFFF;
   margin-bottom: 25px;
}

.swiper-button {
   display: grid;
   grid-template-columns: 1fr 1fr;
   width: 100px;
   gap: 10px;
}

.swiper-button .swiper-button-next,
.swiper-button .swiper-button-prev {
   position: relative;
   left: 0;
   top: 0;
   right: 0;
   bottom: 0;
   margin: 0;
   padding: 0;
   width: 45px;
   height: 45px;
}

.swiper-button .swiper-button-prev {
   transform: rotate(180deg);
}

.module-brands {
   width: 100%;
   max-width: 100%;
   overflow: hidden;
}

.module-brands .swiper {
   width: 100%;
   max-width: 100%;
   overflow: hidden;
}

.module-brands .heading {
   font-size: 36px;
   line-height: 48px;
   justify-content: center;
   text-align: center;
}

.module-brands .subheading {
   font-weight: 400;
   font-size: 16px;
   line-height: 26px;
   text-align: center;
   margin-bottom: 30px;
}

.module-brands .swiper-slide {
   width: 220px;
   height: 110px;
   border: 1px solid #EDEDED;
   border-radius: 5px;
   box-shadow: none !important;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   background: #FFFFFF;
   transition: all 0.3s ease-in-out;
}

.module-brands .swiper-slide a {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   height: 100%;
   padding: 15px 25px;
   box-sizing: border-box;
   overflow: hidden;
   border-radius: 5px;
}

.module-brands .swiper-slide img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
   border-radius: 0;
}

.module-brands .swiper-slide:hover {
   border-color: #179280;
}

.module-text {
   font-weight: 300;
   font-size: 15px;
   line-height: 28px;
   color: #9AA0A1;
}

.module-text p {
   margin-bottom: 15px;
}

.module-text .box-scroll {
   max-height: 150px;
}

.box-scroll .mCSB_inside>.mCSB_container {
   margin-right: 20px;
}

/**PAGE**/
.breadcrumbs {
   font-weight: 400;
   font-size: 12px;
   line-height: 15px;
   color: #9AA0A1;
   margin: 30px 0;
   padding: 0;
   list-style: none;
   display: flex;
}

.breadcrumbs li {
   display: flex;
}

.breadcrumbs a {
   color: #179280;
   text-decoration: none;
   display: -webkit-box;
   -webkit-line-clamp: 1;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.breadcrumbs li:after {
   content: '/';
   margin: 0 15px;
}

.breadcrumbs li:last-child:after {
   display: none;
}

.breadcrumbs span {
   display: -webkit-box;
   -webkit-line-clamp: 1;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.heading-h {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 42px;
   line-height: 56px;
   margin-bottom: 45px;
}

.description {
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
   margin-bottom: 50px;
}

.description p {
   margin-bottom: 10px;
}

.description a {
   text-decoration: none;
   color: #179280;
   font-weight: 700;
}

.description blockquote {
   background: rgba(23, 146, 128, 0.1);
   border-left: 2px solid #179280;
   border-radius: 0px 5px 5px 0px;
   padding: 20px;
   margin: 20px 0 20px 20px;
   max-width: 70%;
}

.popup-video {
   text-decoration: none;
}

/**ABOUT**/
.about .main-bl5 .heading {
   font-size: 36px;
   line-height: 48px;
   margin-bottom: 40px;
}

.about .main-bl5 .info {
   top: 50%;
   transform: translate(0, -50%);
}

.module-bl-about .container {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 50px;
   margin-bottom: 60px;
}

.module-bl-about .text {
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
}

.module-bl-about .text p {
   margin-bottom: 25px;
}

.module-bl-about .info {
   padding: 0 50px;
   background: #F5F7F9 url('../image/module-bl-about-bg.png') no-repeat right bottom;
   height: 235px;
   display: flex;
   align-items: center;
}

.module-bl-about .info .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 32px;
   line-height: 43px;
   margin-bottom: 7px;
}

.module-bl-about .info .subheading {
   font-weight: 400;
   font-size: 15px;
   line-height: 22px;
   margin-bottom: 25px;
}

/**BRANDS**/
.list-brands {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 25px 25px;
   margin-bottom: 70px;
}

.list-brands .item {
   display: flex;
   flex-direction: column;
   width: 100%;
   background: none;
   border: none;
   text-decoration: none;
   transition: transform 0.3s ease;
}

.list-brands .brand-logo-box {
   width: 100%;
   height: 150px;
   background: #FFFFFF;
   border: 1px solid #EDEDED;
   border-radius: 5px;
   box-shadow: none !important;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 20px 30px;
   box-sizing: border-box;
   transition: border-color 0.3s ease;
}

.list-brands .item:hover .brand-logo-box {
   border-color: #179280;
}

.list-brands .brand-logo-box img {
   max-width: 85%;
   max-height: 80px;
   object-fit: contain;
   display: block;
   transition: transform 0.3s ease;
}

.list-brands .item:hover .brand-logo-box img {
   transform: scale(1.03);
}

.list-brands .brand-desc {
   margin-top: 14px;
   font-size: 13px;
   line-height: 20px;
   color: #9AA0A1;
   font-weight: 400;
   display: -webkit-box;
   -webkit-line-clamp: 3;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

/**CATEGORIES**/
.categories {
   display: grid;
   grid-template-columns: 270px 1fr;
   gap: 30px;
}

.main-bl5.module-bl-sale {
   margin-bottom: 20px;
}

.module-bl-sale .info {
   padding: 60px;
   text-align: left;
   top: 0;
}

.module-bl-sale .heading {
   font-weight: 600;
   font-size: 36px;
   line-height: 48px;
   margin-bottom: 12px;
}

.box-view-sort {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 30px;
}

.box-view-sort .view {
   display: grid;
   align-items: center;
   grid-template-columns: 33px 33px;
   gap: 10px;
}

.box-view-sort .view>div svg {
   cursor: pointer;
   display: block;
}

.box-view-sort .view>div.active path,
.box-view-sort .view>div:hover path {
   fill: #fff;
}

.box-view-sort .view>div.active rect:first-child,
.box-view-sort .view>div:hover rect:first-child {
   fill: #179280;
}

.categories .products {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
   margin-bottom: 50px;
}

.pagination {
   text-align: center;
   margin-bottom: 70px;
}

.pagination .btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   min-width: 180px;
   transition: all 0.3s ease;
}

.pagination .btn.is-loading {
   pointer-events: none;
   opacity: 0.85;
}

.pagination-spinner {
   width: 16px;
   height: 16px;
   border: 2px solid rgba(255, 255, 255, 0.3);
   border-top-color: #ffffff;
   border-radius: 50%;
   animation: pagination-spin 0.8s linear infinite;
   display: inline-block;
}

@keyframes pagination-spin {
   0% {
      transform: rotate(0deg);
   }

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

.main-bl5.module-bl-home {
   margin-bottom: 60px;
}

.main-bl5.module-bl-home .banner-box {
   background: #FBF5F3 url('../image/background-home.webp') no-repeat right center;
   background-size: cover;
   border-radius: 5px;
   overflow: hidden;
   position: relative;
   min-height: 380px;
   display: flex;
   align-items: center;
}

.main-bl5.module-bl-home .info {
   position: relative;
   top: 0;
   text-align: left;
   padding: 40px 0 40px 75px;
   max-width: 520px;
}

.main-bl5.module-bl-home .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 38px;
   line-height: 1.15;
   color: #222222;
   margin-bottom: 8px;
}

.main-bl5.module-bl-home .subheading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 400;
   font-size: 23px;
   line-height: 1.25;
   color: #2C3539;
   margin-bottom: 26px;
}

.main-bl5.module-bl-home .btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: #179280;
   color: #FFFFFF;
   border-radius: 5px;
   padding: 10px 24px;
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 600;
   font-size: 13px;
   line-height: 16px;
   text-decoration: none;
   transition: background 0.2s ease;
   border: none;
   cursor: pointer;
}

.main-bl5.module-bl-home .btn:hover {
   background: #137a6b;
}

.main-bl5.module-bl-catalog {
   margin-bottom: 25px;
}

.main-bl5.module-bl-catalog .banner-box {
   background: #F8FAFA url('../image/background-catalog.jpg') no-repeat right center;
   background-size: cover;
   padding: 42px 48px;
   border-radius: 5px;
   box-shadow: none !important;
   overflow: hidden;
   min-height: 180px;
   display: flex;
   align-items: center;
}

.main-bl5.module-bl-catalog .banner-box.banner-box-steps {
   background: #F5F7F9 url('../image/special-steps-bg.svg') no-repeat right bottom;
   background-size: cover;
   min-height: 312px;
   padding: 45px 55px;
}

.main-bl5.module-bl-catalog .info {
   position: relative;
   top: 0;
   text-align: left;
   max-width: 100%;
}

.main-bl5.module-bl-catalog .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 34px;
   line-height: 1.2;
   color: #222222;
   margin-bottom: 22px;
   display: flex;
   align-items: baseline;
   flex-wrap: wrap;
   gap: 6px;
}

.main-bl5.module-bl-catalog .discount-accent {
   font-family: 'Proxima Nova', sans-serif;
   font-style: normal;
   font-weight: 700;
   font-size: 38px;
   color: #179280;
   line-height: 1;
   margin: 0 2px;
}

.main-bl5.module-bl-catalog .btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: #179280;
   color: #FFFFFF;
   border-radius: 5px;
   padding: 10px 24px;
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 600;
   font-size: 13px;
   line-height: 16px;
   text-decoration: none;
   transition: background 0.2s ease;
   border: none;
   cursor: pointer;
}

.main-bl5.module-bl-catalog .btn:hover {
   background: #137a6b;
}

.box-content.mfilter-content {
   border: none;
   border-radius: 0;
}

/* Sidebar Drawer Header */
.sidebar-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 18px 20px;
   border-bottom: 1px solid #F1F5F9;
   background: #ffffff;
   flex-shrink: 0;
   width: 100%;
   box-sizing: border-box;
}

.sidebar-title {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 18px;
   line-height: 24px;
   color: #222222;
}

.sidebar-close {
   background: transparent;
   border: none;
   padding: 4px;
   margin: 0;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #94A3B8;
   transition: color 0.2s ease;
}

.sidebar-close:hover {
   color: #179280;
}

.sidebar:not(.open) .sidebar-header {
   display: none;
}

/* Sidebar Left Drawer Positioning when Open */
.sidebar.open {
   position: fixed !important;
   top: 0 !important;
   bottom: 0 !important;
   left: 0 !important;
   right: auto !important;
   width: 340px !important;
   max-width: 85vw !important;
   height: 100vh !important;
   z-index: 99999 !important;
   background: #ffffff !important;
   box-shadow: none !important;
   display: flex !important;
   flex-direction: column !important;
   padding: 0 !important;
   transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
   overflow: hidden !important;
}

/* Hide native scrollbars to prevent double scrollbar issue with mCustomScrollbar */
.sidebar,
.sidebar *,
.sidebar .mCustomScrollBox,
.sidebar .mCSB_container,
.sidebar .box-content {
   -ms-overflow-style: none !important;
   scrollbar-width: none !important;
}

.sidebar::-webkit-scrollbar,
.sidebar *::-webkit-scrollbar,
.sidebar .mCustomScrollBox::-webkit-scrollbar,
.sidebar .mCSB_container::-webkit-scrollbar,
.sidebar .box-content::-webkit-scrollbar {
   display: none !important;
   width: 0 !important;
   height: 0 !important;
}

.sidebar.open .mCustomScrollBox {
   flex: 1;
   height: 100% !important;
   overflow: hidden !important;
}

.sidebar.open .mCSB_container {
   overflow: hidden !important;
   padding: 10px 20px 30px 20px;
}

.sidebar.open>.box-content {
   flex: 1;
   overflow-y: auto;
   padding: 10px 20px 30px 20px;
}

.mfilter-box .mfilter-heading-content {
   padding: 0;
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.mfilter-box .mfilter-heading .mfilter-head-icon {
   margin-right: 0;
   margin-top: 0;
   background: none !important;
   width: 10px;
   height: 10px;
   float: none;
   position: relative;
   display: inline-block;
   transition: transform 0.25s ease;
   transform: rotate(180deg);
}

.mfilter-box .mfilter-heading .mfilter-head-icon:after {
   content: '';
   display: block;
   width: 6px;
   height: 6px;
   border-right: 2px solid #94A3B8;
   border-bottom: 2px solid #94A3B8;
   transform: rotate(45deg);
   position: absolute;
   top: 0;
   left: 1px;
}

.mfilter-box .mfilter-heading.mfilter-collapsed .mfilter-head-icon {
   transform: rotate(0deg);
}

.mfilter-box .mfilter-opts-container {
   border: none;
}

/* Ensure categories filter is 1st, price filter is 2nd, other filters follow */
.sidebar,
#column-left,
.mfilter-box .mfilter-content>ul {
   display: flex;
   flex-direction: column;
}

.module-box-category,
.mfilter-box .mfilter-filter-item.mfilter-categories,
.mfilter-box .mfilter-filter-item[data-base-type="categories"],
.mfilter-box .mfilter-filter-item.mfilter-tree,
.mfilter-box .mfilter-filter-item.mfilter-cat_checkbox {
   order: 1 !important;
}

.mfilter-box .mfilter-filter-item.mfilter-price,
.mfilter-box .mfilter-filter-item[data-base-type="price"] {
   order: 2 !important;
}

.mfilter-box .mfilter-filter-item:not(.mfilter-categories):not(.mfilter-price):not(.mfilter-tree):not(.mfilter-cat_checkbox) {
   order: 3;
}

.module-box-category,
.box-filter,
.mfilter-box .mfilter-content>ul>li {
   background: #F4F4F4;
   border-radius: 5px;
   padding: 12px 15px 12px 20px;
   margin-bottom: 20px;
   border: none;
   box-shadow: none !important;
}

.sidebar.open .module-box-category,
.sidebar.open .box-filter,
.sidebar.open .mfilter-box .mfilter-content>ul>li {
   background: #ffffff !important;
   border-bottom: 1px solid #F1F5F9 !important;
   border-radius: 0 !important;
   padding: 14px 0 !important;
   margin-bottom: 0 !important;
}

.mfilter-box .mfilter-filter-item .mfilter-iscroll .mfilter-options,
.mfilter-box .mfilter-filter-item .mfilter-options {
   padding: 0;
}

.mfilter-box .mfilter-tb-as-td {
   border: none;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   color: #222222;
}

.mfilter-box label.mfilter-tb-as-td {
   position: relative;
   left: -30px;
   padding-left: 30px;
   z-index: 1;
}

.mfilter-box .mfilter-col-input {
   padding-right: 10px;
}

.mfilter-box .mfilter-col-input:before {
   content: '';
   display: block;
   width: 18px;
   height: 18px;
   background: #FFFFFF;
   border: 1px solid #CBD5E1;
   border-radius: 5px;
   transition: background 0.2s ease, border-color 0.2s ease;
}

.mfilter-box .mfilter-col-input.mfilter-input-active:before {
   background: #179280 url('../image/checked.svg') no-repeat center center;
   border-color: #179280;
}

.mfilter-box .mfilter-col-input input {
   opacity: 0;
   position: absolute;
   top: 2px;
   left: 0;
   height: 20px;
   width: 20px;
   cursor: pointer;
}


.module-box-category ul {
   padding: 0;
   margin: 0;
   list-style: none;
}

.module-box-category ul li {
   padding: 8px 0;
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
}

.module-box-category a {
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   text-decoration: none;
   color: #232323;
}

.module-box-category li:hover>a,
.module-box-category .active>a {
   color: #179280;
   text-decoration: underline;
}

.module-box-category li.active>a {
   text-decoration: none;
}

.module-box-category li svg,
.module-box-category li svg path {
   transition: all 0.5s ease-in-out;
   cursor: pointer;
}

.module-box-category li.active svg path {
   fill: #179280;
}

.module-box-category li.active svg {
   transform: rotate(180deg);
}

.module-box-category li ul {
   padding: 8px 0 8px 20px;
   display: none;
}

.module-box-category li.active ul {
   display: block;
}


.box-filter .heading,
.mfilter-box .mfilter-heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 15px;
   line-height: 21px;
   color: #222222;
   background: none;
   border: none;
   padding-right: 0;
}

.box-filter .heading,
.mfilter-box .mfilter-heading,
.mfilter-box .mfilter-heading-text,
.mfilter-box .mfilter-heading-text span,
.mfilter-box .mfilter-gheader,
.module-box-category a {
   text-transform: lowercase;
}

.mfilter-box .mfilter-heading-text span,
.module-box-category a {
   display: inline-block;
}

.box-filter .heading::first-letter,
.mfilter-box .mfilter-heading::first-letter,
.mfilter-box .mfilter-heading-text::first-letter,
.mfilter-box .mfilter-heading-text span::first-letter,
.mfilter-box .mfilter-gheader::first-letter,
.module-box-category a::first-letter {
   text-transform: uppercase;
}

.mfilter-options-container {
   padding-right: 0;
}

.mfilter-search-input-wrapper {
   margin-bottom: 10px;
}

.mfilter-live-search-input {
   width: 100%;
   height: 34px;
   padding: 6px 12px 6px 32px;
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   color: #222222;
   background: #FFFFFF url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%2394A3B8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>') no-repeat 10px center;
   border: 1px solid #CBD5E1;
   border-radius: 5px !important;
   box-shadow: none !important;
   outline: none;
   transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mfilter-live-search-input:focus {
   border-color: #179280 !important;
   box-shadow: 0 0 0 2px rgba(23, 146, 128, 0.15) !important;
}

.mfilter-live-search-input::placeholder {
   color: #94A3B8;
   font-size: 13px;
}

.mfilter-box .mfilter-content-wrapper,
.mfilter-box .mfilter-iscroll,
.mfilter-box .scroll-content,
.mfilter-box .scroll-wrapper,
.mfilter-box .mCustomScrollBox,
.mfilter-box .mCSB_container {
   max-height: none !important;
   height: auto !important;
   overflow: visible !important;
   overflow-y: visible !important;
}

.mfilter-box .mCSB_scrollTools {
   display: none !important;
}

.mfilter-item-hidden {
   display: none !important;
}

.mfilter-show-all-btn {
   background: none;
   border: none;
   padding: 6px 0;
   margin-top: 6px;
   color: #179280;
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-weight: 600;
   cursor: pointer;
   text-decoration: underline;
   display: inline-block;
   transition: color 0.15s ease;
}

.mfilter-show-all-btn:hover {
   color: #116b5d;
}

.box-filter .heading svg {
   transform: rotate(180deg);
   transition: all 0.3s ease-in-out;
}

.box-filter.hide .heading svg {
   transform: rotate(0deg);
}

.box-filter.hide .box-values {
   display: none;
}

.box-filter .box-values label {
   display: block;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   cursor: pointer;
   margin: 10px 0 8px 0;
}

.box-filter .box-values label input {
   display: none;
}

.box-filter .box-values label span {
   display: grid;
   grid-template-columns: 20px 1fr;
   gap: 10px;
   align-items: center;
}

.box-filter .box-values label span:before {
   content: '';
   display: block;
   width: 18px;
   height: 18px;
   background: #FFFFFF;
   border: 1px solid #CBD5E1;
   border-radius: 5px;
}

.box-filter .box-values label input:checked~span:before {
   background: #179280 url('../image/checked.svg') no-repeat center center;
   border-color: #179280;
}

.box-filter .rang-price {
   margin: 10px 0 7px 0;
}

.mfilter-box .mfilter-price {
   display: flex;
   flex-direction: column;
}

.mfilter-box .mfilter-price .mfilter-price-inputs,
.box-filter .input-price {
   display: flex;
   justify-content: space-between;
   gap: 10px;
   margin-top: 10px;
   margin-bottom: 8px;
   order: 1;
}

.mfilter-box .mfilter-slider-slider .ui-slider-handle,
.mfilter-box #mfilter-price-slider .ui-slider-handle {
   width: 16px !important;
   height: 16px !important;
   background: #179280 !important;
   border-radius: 50% !important;
   margin-left: 0 !important;
   margin-top: 4px;
   border: 2px solid #fff !important;
   transform: translate(-50%, -5px);
   box-shadow: none !important;
   cursor: pointer !important;
}

.mfilter-box .mfilter-slider-slider .ui-slider-range,
.mfilter-box #mfilter-price-slider .ui-slider-range {
   background: #179280 !important;
   border-radius: 100px !important;
}

.mfilter-box .mfilter-slider-slider,
.mfilter-box #mfilter-price-slider {
   background: #CED9D7 !important;
   border-radius: 100px !important;
   height: 4px !important;
   margin: 0 !important;
   border: none !important;
}

.mfilter-box .mfilter-price-slider {
   padding: 0 6px !important;
   margin-right: 0 !important;
   background: none !important;
   margin: 12px 0 15px 0;
}

.mfilter-box .mfilter-price .mfilter-price-inputs input,
.mfilter-box #mfilter-opts-price-min,
.mfilter-box #mfilter-opts-price-max,
.box-filter .input-price input {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   background: #FFFFFF;
   border-radius: 5px !important;
   border: 1px solid #E2E8F0;
   width: calc(50% - 5px);
   min-width: 70px;
   height: 38px;
   text-align: center;
   padding: 5px;
   color: #222222;
   box-sizing: border-box;
}

/**REVIEW**/
.box-heading {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.reviews .sort {
   display: grid;
   grid-template-columns: auto auto;
   gap: 15px;
   margin-bottom: 45px;
}

.reviews .sort .select-box,
.reviews .sort .btn {
   padding-top: 12px;
   padding-bottom: 12px;
   font-size: 14px;
   line-height: 17px;
}

.reviews .list {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
   margin-bottom: 40px;
}

.reviews .list .col {
   display: grid;
   grid-auto-rows: max-content;
   gap: 30px;
}

.item-review {
   padding: 20px;
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
}

.item-review>div.column {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 15px;
   align-items: center;
   margin-bottom: 15px;
}

.item-review .name {
   font-weight: 600;
   font-size: 14px;
   line-height: 21px;
}

.item-review .rating {
   text-align: right;
}

/**CONTACTS**/
.contact .heading-h {
   margin-bottom: 20px;
}

.box-contact {
   display: grid;
   grid-template-columns: auto 1fr auto 410px;
   gap: 80px;
   align-items: center;
   position: relative;
   padding: 25px 0 20px 0;
   margin-bottom: 20px;
}

.box-contact .social {
   padding: 0;
   margin: 0;
   list-style: none;
   display: grid;
   grid-template-columns: repeat(2, 35px);
   gap: 20px;
}

.box-contact .social a {
   display: block;
   height: 35px;
   width: 35px;
}

.box-contact .social img {
   border: 1px solid rgba(23, 146, 128, 0.2);
   border-radius: 5px;
}

.box-contact .work {
   font-weight: 300;
   font-size: 16px;
   line-height: 21px;
}

.box-contact .phone {
   font-weight: 400;
   font-size: 18px;
   line-height: 21px;
   display: grid;
   grid-template-columns: auto 1fr;
   align-items: center;
   gap: 15px;
   color: #232323;
   text-decoration: none;
}

.box-contact .form-box {
   position: absolute;
   top: 0;
   right: 60px;
   z-index: 1;
   width: 360px;
   background: #FFFFFF;
   box-shadow: 0px 4px 25px rgba(0, 0, 0, 0.08);
   border-radius: 5px;
   padding: 40px;
}

.form-box .heading {
   font-weight: 600;
   font-size: 18px;
   line-height: 21px;
   margin-bottom: 17px;
}

.form-box .input-box,
.form-box .radio-box,
.form-box .rating-box {
   margin-bottom: 15px;
   position: relative;
}

.form-box .input-box .error {
   font-size: 12px;
   margin: 5px 0 5px 5px;
   color: red;
   display: none;
   text-align: left;
}

.form-box .input-box.has-error .error {
   display: block;
}

.form-box .input-box input,
.form-box .input-box textarea {
   border: 1px solid #EEEFF4;
   border-radius: 5px;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   padding: 15px;
   width: 100%;
}

.form-box .input-box textarea {
   resize: none;
   height: 120px;
}

.form-box .placeholder-box input,
.placeholder-box textarea {
   padding: 25px 15px 5px 15px;
   transition: all 0.5s ease-in-out;
}

.form-box input:focus,
.form-box textarea:focus {
   border-color: rgba(23, 146, 128, 0.3);
}

.placeholder-box input::-moz-placeholder {
   color: transparent;
}

.placeholder-box input::-webkit-input-placeholder {
   color: transparent;
}

.placeholder-box textarea::-moz-placeholder {
   color: transparent;
}

.placeholder-box textarea::-webkit-input-placeholder {
   color: transparent;
}

.placeholder-box label {
   position: absolute;
   top: 5px;
   left: 15px;
   transition: all .2s;
   pointer-events: none;
   font-weight: 400;
   font-size: 14px;
   color: #DEE0E0;
}

.placeholder-box input:placeholder-shown:not(:focus)+label,
.placeholder-box textarea:placeholder-shown:not(:focus)+label {
   color: #9AA0A1;
   top: 20px;
}

.placeholder-box label span {
   color: red;
   margin-right: 5px;
}

.form-box .group-box {
   margin-bottom: 40px;
}

.form-box .group-box>label {
   display: block;
   font-weight: 600;
   font-size: 18px;
   line-height: 21px;
   margin-bottom: 15px;
}

.form-box .address-box {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   padding: 20px;
   margin-bottom: 15px;
}

.form-box .address-box .col {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 15px;
   align-items: stretch;
   margin-bottom: 15px;
}

.form-box .radio-box.type-radio {
   height: 100%;
}

.form-box .radio-box.type-radio label {
   height: 100%;
   display: flex;
   flex-direction: column;
}

.form-box .radio-box.type-radio label>div {
   border: 1px solid #EEEFF4;
   border-radius: 5px;
   padding: 15px;
   height: 100%;
   display: flex;
   align-items: center;
   box-sizing: border-box;
}

.form-box .radio-box.type-radio label span {
   width: 100%;
}

.form-box .radio-box.type-radio label span:before {
   border: 1px solid #9AA0A1;
   border-radius: 50%;
}

.form-box .radio-box.type-radio label input:checked~div {
   border: 1px solid #179280;
}

.form-box .radio-box.type-radio label input:checked~div span:before {
   background: #fff url('../image/checked-radio.svg') no-repeat center center;
   border: 1px solid rgba(23, 146, 128, 0.3);
}

.form-box .radio-box label {
   display: block;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   cursor: pointer;
}

.form-box .radio-box label input {
   display: none;
}

.form-box .radio-box label span {
   display: grid;
   grid-template-columns: 20px 1fr;
   gap: 10px;
   align-items: center;
}

.form-box .radio-box label span:before {
   content: '';
   display: block;
   width: 18px;
   height: 18px;
   background: #FFFFFF;
   border: 1px solid rgba(23, 146, 128, 0.3);
   border-radius: 2px;
}

.form-box .radio-box label input:checked~span:before {
   background: #179280 url('../image/checked.svg') no-repeat center center;
}

.form-box .rating-box,
.form-box .rating-box label {
   cursor: pointer;
}

.form-box .rating-box svg path {
   transition: all 0.5s ease-in-out;
}

.form-box .rating-box input {
   display: none;
}

.form-box .rating-box:hover svg path,
.form-box .rating-box label input:checked+svg path,
.form-box .rating-box label.active svg path {
   fill-opacity: 1;
}

.form-box .rating-box label:hover~label svg path {
   fill-opacity: 0.1;
}

.form-box .btn-link {
   font-weight: 600;
   font-size: 13px;
   line-height: 21px;
   text-decoration-line: underline;
   color: #179280;
   border: none;
}

input::-moz-placeholder {
   font-family: 'Proxima Nova';
   color: #9AA0A1;
}

input::-webkit-input-placeholder {
   font-family: 'Proxima Nova';
   color: #9AA0A1;
}

textarea::-moz-placeholder {
   font-family: 'Proxima Nova';
   color: #9AA0A1;
}

textarea::-webkit-input-placeholder {
   font-family: 'Proxima Nova';
   color: #9AA0A1;
}

.form-box .btn {
   width: 100%;
   padding: 17px;
}

#map {
   margin-bottom: 70px;
}

/**PRODUCT**/
#product {
   display: grid;
   grid-template-columns: 470px 1fr;
   gap: 30px;
   margin-bottom: 40px;
}

#product .images .swiper-slide {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   cursor: pointer;
   text-align: center;
   overflow: hidden;
}

#product .images .product-image {
   margin-bottom: 10px;
   position: relative;
   border-radius: 5px;
}

#product .images .product-image:before {
   content: '';
   position: absolute;
   inset: 0;
   background: rgba(35, 35, 35, 0.35);
   opacity: 0;
   transition: opacity 0.3s ease;
   z-index: 10;
   pointer-events: none;
   border-radius: 5px;
}

#product .images .product-image:after {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   width: 42px;
   height: 42px;
   transform: translate(-50%, -50%);
   background: url('../image/zoom.svg') no-repeat center center;
   opacity: 0;
   transition: opacity 0.3s ease;
   z-index: 11;
   pointer-events: none;
}

#product .images .product-image:hover:before,
#product .images .product-image:hover:after,
#product .images .product-image.overlay-active:before,
#product .images .product-image.overlay-active:after {
   opacity: 1;
}

#product .images .product-image.no-overlay:before,
#product .images .product-image.no-overlay:after,
#product .images .product-image:has(.stikers:hover):before,
#product .images .product-image:has(.stikers:hover):after,
#product .images .product-image:has(.product-badges:hover):before,
#product .images .product-image:has(.product-badges:hover):after,
#product .images .product-image:has(.stikers-row:hover):before,
#product .images .product-image:has(.stikers-row:hover):after,
#product .images .product-image:has(.badge-gift-wrapper:hover):before,
#product .images .product-image:has(.badge-gift-wrapper:hover):after,
#product .images .product-image:has(.badge-gift-tooltip:hover):before,
#product .images .product-image:has(.badge-gift-tooltip:hover):after,
#product .images .product-image:has(.action:hover):before,
#product .images .product-image:has(.action:hover):after {
   opacity: 0 !important;
}

#product .images .product-image .product-image-link {
   position: relative;
   display: block;
}

#product .images .product-image .product-image-link:before,
#product .images .product-image .product-image-link:after {
   display: none !important;
}

#product .images .product-image img {
   display: block;
   width: 100%;
}

#product .images .product-thumb .swiper-slide {
   max-height: 65px;
   opacity: 0.6;
   border-radius: 2px;
}

#product .images .product-thumb .swiper-slide-thumb-active {
   border: 1px solid #179280;
   opacity: 1;
}

#product .quantity-block {
   margin-top: 15px;
   margin-bottom: 20px;
}

#product .stock {
   font-size: 15px;
   font-weight: 500;
   margin-bottom: 12px;
   display: flex;
   align-items: center;
   gap: 6px;
}

#product .stock .stock-icon {
   width: 16px;
   height: 16px;
}

#product .stock_status_5 {
   color: #FF4D4D;
}

#product .stock_status_7 {
   color: #179280;
}

#product .model {
   font-weight: 600;
   font-size: 12px;
   line-height: 15px;
   color: #9AA0A1;
   margin-bottom: 10px;
}

#product .attributes {
   padding: 0;
   margin: 0;
   list-style: none;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   display: grid;
   gap: 10px;
   max-width: 300px;
   margin-bottom: 22px;
}

#product .attributes li {
   display: grid;
   grid-template-columns: 160px auto;
   gap: 40px;
}

#product .attributes span:last-child {
   color: #9AA0A1;
}

#product hr {
   background: #F4F4F4;
   height: 1px;
   border: none;
}

#product .quantity {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 0;
   margin-bottom: 0;
}

#product .quantity input {
   width: 70px;
   height: 36px;
   font-weight: 500;
   font-size: 16px;
   line-height: 21px;
   border: 1px solid #EFEFEF;
   border-radius: 5px;
   text-align: center;
   color: #222222;
}

#product .quantity .minus,
#product .quantity .plus {
   display: flex;
   border-radius: 50%;
   width: 36px;
   height: 36px;
   border: 1px solid #C3E5DF;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: all 0.2s ease-in-out;
   background-color: #EAF6F4;
}

#product .quantity .minus:hover,
#product .quantity .plus:hover {
   background-color: #D6EDE8;
   border-color: #179280;
}

#product .price {
   font-weight: 700;
   font-size: 32px;
   line-height: 1.2;
   margin-bottom: 0;
}

.product-price-group {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   width: 100%;
   max-width: 440px;
   gap: 8px;
   margin-bottom: 16px;
}

#product .stock {
   font-size: 15px;
   font-weight: 500;
   margin-bottom: 8px;
   display: flex;
   align-items: center;
   gap: 6px;
}

#product .stock .stock-icon {
   width: 16px;
   height: 16px;
}

#product .stock_status_5 {
   color: #FF4D4D;
}

#product .stock_status_7 {
   color: #179280;
}

#product .quantity {
   display: flex;
   align-items: center;
   gap: 6px;
   padding: 0;
   margin-bottom: 12px;
}

#product .quantity input {
   width: 50px;
   height: 38px;
   font-weight: 600;
   font-size: 16px;
   line-height: 21px;
   border: 1px solid #EFEFEF;
   border-radius: 5px;
   text-align: center;
   color: #222222;
}

#product .quantity .minus,
#product .quantity .plus {
   display: flex;
   border-radius: 50%;
   width: 38px;
   height: 38px;
   border: 1px solid #C3E5DF;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: all 0.2s ease-in-out;
   background-color: #EAF6F4;
}

#product .quantity .minus:hover,
#product .quantity .plus:hover {
   background-color: #D6EDE8;
   border-color: #179280;
}

.product-badges-row {
   display: flex;
   flex-direction: row;
   align-items: center;
   flex-wrap: wrap;
   gap: 8px;
   width: 100%;
}

.product-badges-row .timer {
   margin-top: 0;
   padding: 5px 10px;
   border-radius: 5px;
   font-size: 13px;
   line-height: 1.2;
}

.product-badges-row .product-cashback-badge {
   padding: 5px 10px;
   border-radius: 5px;
   font-size: 13px;
   line-height: 1.2;
}

.product-cashback-badge {
   display: inline-flex;
   width: fit-content;
   max-width: 100%;
   box-sizing: border-box;
   align-items: center;
   gap: 8px;
   padding: 6px 14px;
   background: #F8EDF5;
   border: 1px solid #E8CBE2;
   border-radius: 5px;
}

.product-cashback-badge .cashback-badge-icon {
   width: 18px;
   height: 18px;
}

.product-cashback-badge .cashback-badge-text {
   font-size: 14px;
   font-weight: 400;
   color: #55284B;
   line-height: 1;
}

.product-cashback-badge .cashback-amount {
   font-weight: 700;
   color: #3C1734;
}

#product .price::selection,
#product .price s::selection {
   background: transparent;
}

#product .price::-moz-selection,
#product .price s::-moz-selection {
   background: transparent;
}

#product .price s {
   font-weight: 300;
   font-size: 26px;
   line-height: 21px;
   text-decoration-line: line-through;
   color: #9AA0A1;
   margin-left: 14px;
}

#product .product-buy-block {
   display: flex;
   flex-direction: column;
   align-items: center;
   width: fit-content;
   max-width: 100%;
   gap: 10px;
   margin-bottom: 12px;
}

#product .product-buy-block .btn-cart {
   width: fit-content;
   height: 48px;
   min-height: 48px;
   padding: 0 24px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   white-space: nowrap;
   border-radius: 5px !important;
   font-size: 16px;
   font-weight: 600;
   box-sizing: border-box;
   box-shadow: none !important;
}

#product .product-buy-block .btn-link {
   text-align: center;
   display: inline-block;
   margin-top: 2px;
}

.product-tabs {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 50px;
   margin-top: 40px;
   margin-bottom: 50px;
}

.product-tabs .tab-desc {
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
}

.product-tabs .tab-desc p {
   margin-bottom: 25px;
}

.product-tabs .tab-review {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
}

.product-tabs .tab-review .heading {
   font-weight: 600;
   font-size: 18px;
   line-height: 21px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 20px;
}

.product-tabs .tab-review .heading span {
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   color: #9AA0A1;
}

.product-tabs .tab-review .item-review {
   border: none;
   border-top: 1px solid #F4F4F4;
   border-radius: 0;
}

.product-tabs .tab-review .button {
   text-align: right;
   padding: 20px;
}

.box-empty {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   font-weight: 400;
   font-size: 15px;
   line-height: 21px;
   text-align: center;
   color: #9AA0A1;
}

.box-empty img {
   margin: 20px auto;
}

/**MASTERS**/
.box-masters {
   background: #179280;
   border-radius: 10px;
   display: grid;
   grid-template-columns: 1fr 470px;
   color: #fff;
   margin-bottom: 60px;
}

.box-masters>div {
   display: flex;
   align-items: center;
}

.box-masters>div:first-child {
   background: url('../image/masters-left-bg.svg') no-repeat top left;
}

.box-masters>div:last-child {
   background: url('../image/masters-right-bg.svg') no-repeat top right;
}

.box-masters .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 42px;
   line-height: 56px;
   margin-bottom: 15px;
}

.box-masters .subheading {
   font-weight: 400;
   font-size: 17px;
   line-height: 26px;
   margin-bottom: 25px;
}

.box-masters .info {
   padding-left: 95px;
}

.module-benefits {
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
}

.module-benefits .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 36px;
   line-height: 48px;
   margin-bottom: 25px;
}

.module-benefits .list {
   display: grid;
   grid-template-columns: 1fr 430px;
   gap: 40px;
}

.module-benefits .col:first-child {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 35px;
   grid-auto-rows: max-content;
}

.module-benefits .item {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 20px;
   align-items: flex-start;
}

.module-benefits ul {
   padding: 0;
   margin: 0;
   background: #F5F7F9 url('../image/benefits-bg.svg') no-repeat bottom right;
   border-radius: 10px;
   padding: 30px 20px 30px 30px;
   list-style: none;
   display: grid;
   gap: 10px;
}

.module-benefits ul li {
   display: flex;
   align-items: center;
}

.module-benefits ul li::before {
   content: url('../image/checked-li.svg');
   margin-right: 10px;
}

.module-contact .form-box {
   max-width: 660px;
   margin: 0 auto 90px auto;
}

.module-contact .form-box .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 36px;
   line-height: 48px;
   justify-content: center;
   text-align: center;
   margin-bottom: 30px;
}

.module-contact .form-box .col {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
}

.module-contact .form-box .input-box {
   margin-bottom: 20px;
}

.module-contact .form-box .button {
   text-align: center;
}

.module-contact .form-box .btn {
   max-width: 280px;
}

/**COURSES**/
.courses .box-sort {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 15px;
   flex-wrap: wrap;
}

.courses .box-sort .sort {
   display: flex;
   margin: 0 -13px 15px -13px;
}

.courses .box-sort .sort>div {
   margin: 0 13px;
   padding-top: 17px;
   padding-bottom: 17px;
   font-size: 14px;
   line-height: 17px;
   min-width: 275px;
}

.courses .box-sort .radio-box {
   font-weight: 600;
   font-size: 14px;
   line-height: 17px;
   color: #85A6A1;
   display: grid;
   grid-template-columns: 1fr 1fr;
   background: rgba(23, 146, 128, 0.1);
   border-radius: 5px;
   outline: none;
   margin-bottom: 15px;
}

.courses .box-sort .radio-box label span {
   display: block;
   width: 110px;
   padding: 17px;
   cursor: pointer;
   text-align: center;
}

.courses .box-sort .radio-box label input {
   display: none;
}

.courses .box-sort .radio-box input:checked~span {
   background: #179280;
   color: #fff;
   transition: all 0.3s ease-in-out;
}

.courses .box-sort .radio-box label:first-child input:checked~span {
   border-radius: 5px 0 0 5px;
}

.courses .box-sort .radio-box label:last-child input:checked~span {
   border-radius: 0 5px 5px 0;
}

.list-courses {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
   margin-bottom: 90px;
}

.item-course {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   padding: 15px;
}

.item-course .image {
   margin-bottom: 15px;
}

.item-course .image img {
   width: 100%;
}

.item-course .title {
   font-weight: 700;
   font-size: 15px;
   line-height: 21px;
   margin-bottom: 15px;
}

.item-course ul {
   margin: 0;
   padding: 0;
   list-style: none;
   display: grid;
   gap: 6px;
   margin-bottom: 15px;
}

.item-course ul li {
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   color: #9AA0A1;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   align-items: center;
}

.item-course ul li span:last-child {
   color: #232323;
   text-align: right;
}

.item-course .button-price {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
}

.item-course .button-price .btn {
   margin-bottom: 10px;
}

.item-course .price {
   font-weight: 600;
   font-size: 19px;
   line-height: 21px;
   margin-bottom: 10px;
}

/**STUDY**/
.module-study .box {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 1;
   display: flex;
   align-items: center;
   padding-left: 90px;
   color: #fff;
}

.module-study .heading {
   font-weight: 600;
   font-size: 42px;
   line-height: 56px;
   margin-bottom: 15px;
}

.module-study .text {
   font-weight: 400;
   font-size: 17px;
   line-height: 26px;
   margin-bottom: 25px;
}

.module-study-specification {
   margin-bottom: 60px;
}

.module-study-specification .list {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
}

.module-study-specification .item {
   background: #F5F7F9;
   border-radius: 10px;
   padding: 20px 40px 20px 20px;
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
   display: grid;
   align-items: center;
   gap: 20px;
   grid-template-columns: auto 1fr;
}

.module-study-specification .item>div:first-child {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 42px;
   line-height: 56px;
   color: #179280;
   margin-top: -15px;
}

.benefits-study {
   margin-bottom: 100px;
}

.benefits-study .list {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
}

.benefits-study .list .item {
   display: block;
   padding-right: 10px;
}

.benefits-study .list .item>div {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 20px;
   align-items: center;
   margin-bottom: 20px;
   font-weight: 700;
   font-size: 15px;
   line-height: 21px;
}

.benefits-study ul {
   padding: 0;
   margin: 0;
   background: none;
   border-radius: 0;
}

.module-benefits ul li {
   display: flex;
   align-items: flex-start;
}

.benefits-study ul li::before {
   content: url(../image/checked2-li.svg);
   margin-right: 10px;
}

.module-list-courses,
.benefits2-study,
.module-video {
   margin-bottom: 70px;
}

.module-list-courses .item {
   padding: 20px 30px;
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   margin-bottom: 20px;
   display: grid;
   grid-template-columns: auto 1fr auto auto;
   gap: 65px;
   width: 100%;
}

.module-list-courses .item .date {
   font-weight: 600;
   font-size: 18px;
   line-height: 21px;
   min-width: 150px;
}

.module-list-courses .item .title {
   font-weight: 400;
   font-size: 16px;
   line-height: 21px;
}

.module-list-courses .item .title div {
   font-style: italic;
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
   margin-top: 10px;
}

.module-list-courses .item .title div span {
   font-weight: 300;
}

.module-list-courses .item .period {
   font-weight: 700;
   font-size: 15px;
   line-height: 21px;
}

.module-list-courses .item .period span {
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   display: block;
}

.module-list-courses .item .price {
   font-weight: 900;
   font-size: 24px;
   line-height: 29px;
}

.module-list-courses .item .price span {
   display: block;
   margin-bottom: 10px;
}

.module-list-courses .button {
   text-align: center;
}

.module-list-courses .button .btn {
   padding: 20px 45px;
}

.benefits2-study .heading {
   margin-bottom: 35px;
}

.benefits2-study .list {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 35px;
}

.benefits2-study .list .item {
   align-items: flex-start;
   grid-auto-rows: max-content;
}

.benefits2-study .list .item span {
   display: flex;
   align-items: center;
   height: 100%;
}

.module-video .box {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   display: flex;
   align-items: center;
   justify-content: center;
}

.module-video .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-style: normal;
   font-weight: 700;
   font-size: 36px;
   line-height: 48px;
   color: #FFFFFF;
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 40px;
   max-width: 590px;
}

.module-video .heading .play {
   width: 80px;
   height: 80px;
   background: #FFFFFF url('../image/play.svg') no-repeat center center;
   display: block;
   border-radius: 50%;
}

.module-study-review .heading {
   font-weight: 600;
   font-size: 36px;
   line-height: 48px;
   justify-content: center;
}

.module-study-review .study-review {
   position: relative;
}

.module-study-review .item-review .image {
   display: block;
   height: 50px;
   width: 50px;
   border-radius: 50%;
}

.module-study-review .item-review .name {
   font-weight: 700;
   font-size: 15px;
   line-height: 21px;
}

.module-study-reg .box {
   position: absolute;
   top: 36px;
   right: 0;
   bottom: 0;
   left: 0;
   background: #F5F7F9 url('../image/study-bl-bg.svg') no-repeat right bottom;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: flex-end;
}

.module-study-reg .box>div {
   max-width: 590px;
   width: 100%;
}

.module-study-reg img {
   position: relative;
   display: block;
   pointer-events: none;
}

.module-study-reg .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 42px;
   line-height: 56px;
   margin-bottom: 10px;
}

.module-study-reg .text {
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
   margin-bottom: 25px;
}

.module-study-reg .info {
   font-weight: 400;
   font-size: 13px;
   line-height: 22px;
   color: #9AA0A1;
}

.module-study-reg .btn {
   width: 200px;
   margin-bottom: 5px;
   text-align: center;
}

.module-sertificat {
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
}

.module-sertificat .heading {
   font-weight: 600;
   font-size: 36px;
   line-height: 48px;
   margin-bottom: 25px;
}

.module-sertificat img {
   width: 100%;
}

.accordion {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
   margin-bottom: 70px;
}

.accordion .col {
   display: grid;
   gap: 20px;
   grid-auto-rows: max-content;
}

.accordion .item-accordion {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
}

.accordion .item-accordion .title {
   font-weight: 600;
   font-size: 14px;
   line-height: 21px;
   padding: 20px;
   display: grid;
   grid-template-columns: 1fr 14px;
   gap: 10px;
   align-items: center;
   cursor: pointer;
}

.accordion .item-accordion input:checked+.title {
   background: #179280;
   color: #fff;
   border-radius: 5px 5px 0 0;
}

.accordion .item-accordion .text {
   display: none;
   font-style: normal;
   font-weight: 400;
   font-size: 14px;
   line-height: 22px;
   padding: 10px 20px;
}

.accordion input {
   display: none;
}

.accordion .item-accordion .icon {
   position: relative;
   height: 14px;
   width: 14px;
}

.accordion .item-accordion .icon span {
   display: block;
   height: 2px;
   width: 14px;
   background: #179280;
   position: absolute;
   top: calc(50% - 1px);
   left: 0;
   transition: all 0.5s ease-in-out;
}

.accordion .item-accordion .icon span:last-child {
   left: calc(50% - 1px);
   height: 14px;
   width: 2px;
   top: 0px;
}

.accordion .item-accordion input:checked+.title .icon span {
   background: #fff;
}

.accordion .item-accordion input:checked+.title .icon span:last-child {
   transform: rotate(90deg);
}

.accordion .item-accordion.open .text {
   display: block;
}

/**COURSE**/
.box-course {
   position: relative;
   color: #fff;
   margin-bottom: 60px;
}

.box-course .box {
   position: absolute;
   top: 0;
   left: 95px;
   right: 0;
   bottom: 0;
   display: flex;
   align-items: center;
}

.box-course .heading {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 42px;
   line-height: 56px;
   margin-bottom: 34px;
}

.box-course .close {
   display: inline-block;
   background: rgba(255, 48, 48, 0.25);
   border: 1px solid #FF3030;
   border-radius: 5px;
   padding: 20px;
   font-weight: 400;
   font-size: 16px;
   line-height: 22px;
   color: #FF3030;
}

.box-course .price {
   font-weight: 800;
   font-size: 42px;
   line-height: 51px;
   margin-left: 20px;
}

.box-course .date {
   font-weight: 400;
   font-size: 17px;
   line-height: 26px;
   margin-bottom: 30px;
}

.box-course .date span {
   display: inline-block;
   padding: 0 20px;
   opacity: 0.3;
}

.box-course .button-price {
   display: flex;
   align-items: center;
}

.box-course .btn {
   width: 200px;
   text-align: center;
}

.box-course-author {
   display: grid;
   grid-template-columns: 370px minmax(200px, 754px);
   gap: 50px;
   margin-bottom: 60px;
}

.box-course-author .image {
   position: relative;
}

.box-course-author .video {
   position: absolute;
   bottom: -10px;
   right: -10px;
}

.box-course-author .video .title {
   font-weight: 400;
   font-size: 14px;
   line-height: 17px;
   text-align: center;
   color: #FFFFFF;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   display: flex;
   align-items: center;
   justify-content: center;
}

.box-course-author .video .play {
   display: block;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: #fff url('../image/play.svg') no-repeat center;
   background-size: 8px 15px;
   margin: 0 auto 5px auto;
   cursor: pointer;
}

.box-course-author .author {
   /*overflow: hidden;*/
}

.box-course-author .author .name {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 36px;
   line-height: 48px;
   margin-bottom: 15px;
}

.box-course-author .author .label {
   font-weight: 400;
   font-size: 16px;
   line-height: 21px;
   color: #9AA0A1;
   margin-bottom: 5px;
}

.box-course-author .author .text {
   font-weight: 400;
   font-size: 14px;
   line-height: 26px;
   margin-bottom: 25px;
   /* max-height: 240px; */
}

.box-course-author .author .course-sertificat .label {
   font-weight: 600;
   font-size: 18px;
   line-height: 21px;
   margin-bottom: 10px;
   color: #232323;
}

.box-course-author .author .course-sertificat .swiper-sertificate {
   position: relative;
}

.box-course-author .author .course-sertificat .swiper-button-next,
.box-course-author .author .course-sertificat .swiper-button-prev {
   width: 45px;
   height: 45px;
   top: calc(50% - 22px);
}

.box-course-author .author .course-sertificat .swiper-button-next {
   right: -20px;
}

.box-course-author .author .course-sertificat .swiper-button-prev {
   left: -20px;
}

.module-course-bl1 {
   margin-bottom: 50px;
}

.module-course-bl1 .box {
   position: absolute;
   top: 40px;
   left: 60px;
   bottom: 0;
   right: 0;
   display: flex;
   align-items: center;
   max-width: 750px;
}

.module-course-bl1 .box .heading {
   margin-bottom: 50px;
}

.module-course-bl1 .box ul {
   margin: 0 0 30px 0;
   padding: 0;
   display: grid;
   gap: 12px;
   list-style: none;
}

.module-course-bl1 .box ul li {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 17px;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
}

.module-course-bl1 .box ul li:before {
   content: url('../image/checked2-li.svg');
}

.module-course-bl1 .box .btn {
   width: 200px;
   text-align: center;
}

.module-course-program {
   margin-bottom: 70px;
}

.module-course-program .heading {
   font-weight: 600;
   font-size: 36px;
   line-height: 48px;
   margin-bottom: 24px;
}

.module-course-program .list {
   padding: 0px 30px;
   border: 1px solid #F4F4F4;
   border-radius: 5px;
}

.module-course-program .item {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 80px;
   padding: 20px 0;
   border-bottom: 1px solid #F4F4F4;
}

.module-course-program .item:last-child {
   border: none;
}

.module-course-program .item .date {
   font-weight: 600;
   font-size: 18px;
   line-height: 21px;
}

.module-course-program .item .title {
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
}

.module-course-bl2 .price {
   font-weight: 800;
   font-size: 42px;
   line-height: 51px;
   color: #179280;
   margin-bottom: 14px;
   display: flex;
   align-items: center;
}

.module-course-bl2 .price svg {
   display: block;
   margin-left: 17px;
}

.module-course-bl2 .date {
   font-weight: 400;
   font-size: 17px;
   line-height: 26px;
   margin-bottom: 30px;
}

.module-course-bl2 .date span {
   display: inline-block;
   padding: 0 20px;
   opacity: 0.3;
}

.module-course-bl2 .box {
   background: #F5F7F9 url('../image/course-bl-bg2.svg') no-repeat top left;
   padding: 30px;
   border-radius: 10px;
   display: grid;
   grid-template-columns: 1fr 360px;
   gap: 80px;
}

.module-course-bl2 .box>div {
   display: flex;
   align-items: center;
}

.module-course-bl2 .box>div>div {
   padding-left: 80px;
}

.module-course-bl2 .box .form-box {
   padding: 40px;
   text-align: center;
   background: #FFFFFF;
   border-radius: 5px;
}

.module-course-bl2 .box .form-box .heading {
   font-family: 'Proxima Nova';
   font-weight: 600;
   font-size: 24px;
   line-height: 21px;
   margin-bottom: 10px;
   justify-content: center;
}

.module-course-bl2 .box .form-box .text {
   font-weight: 400;
   font-size: 14px;
   line-height: 17px;
   margin-bottom: 17px;
}

/**MODAL**/
.modal-like {
   background: #F5F7F9;
   border-radius: 5px;
   padding: 20px;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   position: absolute;
   top: 65px;
   left: 50%;
   transform: translate(-50%, 0);
   width: 100%;
   max-width: 250px;
   z-index: 1;
   display: none;
}

.modal-like a {
   color: #179280;
}

.modal-right {
   position: fixed;
   right: -572px;
   top: 0;
   bottom: 0;
   z-index: 1050;
   width: 572px;
   background: #fff;
   transition: all 0.7s ease-in-out;
   display: flex;
   flex-direction: column;
}

.modal-heading {
   height: 80px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   font-weight: 600;
   font-size: 26px;
   line-height: 37px;
   padding: 0 30px;
   border-bottom: 1px solid #F4F4F4;
   flex: 0 0 auto;
}

.modal-close {
   cursor: pointer;
   height: 24px;
}

.modal-body {
   display: flex;
   align-items: center;
   justify-content: center;
   flex: 1 0 auto;
}

.modal-body .form-box {
   width: 100%;
}

#modal-write .title {
   font-weight: 600;
   font-size: 18px;
   line-height: 21px;
   margin-bottom: 15px;
}

#modal-login .modal-body .form-box,
#modal-write .modal-body .form-box,
#modal-register .modal-body .form-box,
#modal-forgotten .modal-body .form-box,
.form-reset {
   max-width: 280px;
}

#modal-cabinet .modal-body .form-box {
   max-width: 340px;
}

#modal-cabinet .modal-body .form-box .input-box {
   background: #e7f4f2;
   padding: 30px;
   margin-bottom: 50px;
}

#modal-cabinet .modal-body .form-box button+button {
   margin-top: 15px;
}

#modal-cabinet .modal-body .form-box .cabinet-title {
   display: block;
   text-align: center;
   margin: 5px 0 15px;
}

#modal-search .modal-body {
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   align-items: stretch;
   padding: 25px 30px;
   overflow-y: auto;
   box-sizing: border-box;
}

#modal-search .modal-body .form-box {
   width: 100%;
   max-width: 100%;
   margin: 0;
   flex-shrink: 0;
}

#modal-search .modal-body .form-box .input-box {
   margin-bottom: 12px;
   width: 100%;
}

#modal-search .modal-body .form-box .input-box input {
   width: 100%;
   box-sizing: border-box;
   border-radius: 5px;
   font-family: 'Proxima Nova', sans-serif;
}

#modal-search .modal-body .form-box .btn {
   width: 100%;
   box-sizing: border-box;
   border-radius: 5px;
   font-family: 'Proxima Nova', sans-serif;
   background: #179280;
   color: #ffffff;
   font-weight: 600;
   height: 48px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.search-live-results {
   width: 100%;
   max-width: 100%;
   margin-top: 15px;
   max-height: none;
   flex: 1 1 auto;
   overflow-y: auto;
   display: none;
   box-sizing: border-box;
}

.search-live-loading,
.search-live-empty {
   padding: 15px;
   text-align: center;
   font-size: 14px;
   color: #666;
   background: #f8fafc;
   border-radius: 5px;
   border: 1px solid #e2e8f0;
   box-shadow: none !important;
}

.search-live-spinner {
   display: inline-block;
   width: 14px;
   height: 14px;
   border: 2px solid #ccc;
   border-top-color: #179280;
   border-radius: 50%;
   animation: searchSpinner 0.7s linear infinite;
   vertical-align: middle;
   margin-right: 6px;
}

@keyframes searchSpinner {
   to {
      transform: rotate(360deg);
   }
}

.search-live-list {
   display: flex;
   flex-direction: column;
   gap: 8px;
}

.search-live-item {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 10px;
   background: #ffffff;
   border: 1px solid #e2e8f0;
   border-radius: 5px;
   text-decoration: none;
   box-shadow: none !important;
   transition: border-color 0.2s, background-color 0.2s;
}

.search-live-item:hover {
   background-color: #f8fafc;
   border-color: #179280;
}

.search-live-img {
   width: 55px;
   height: 55px;
   min-width: 55px;
   border-radius: 5px;
   overflow: hidden;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #fafafa;
   border: 1px solid #f0f0f0;
}

.search-live-img img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
}

.search-live-content {
   flex: 1;
   min-width: 0;
}

.search-live-brand {
   font-size: 11px;
   font-weight: 700;
   color: #179280;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   margin-bottom: 2px;
}

.search-live-name {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-weight: 600;
   color: #222;
   line-height: 1.35;
   margin-bottom: 3px;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.search-live-meta {
   font-size: 11px;
   color: #888;
   margin-bottom: 4px;
}

.search-live-price {
   font-size: 14px;
   font-weight: 700;
   color: #179280;
   display: flex;
   align-items: center;
   gap: 6px;
}

.search-live-price-old {
   font-size: 12px;
   font-weight: 400;
   color: #999;
   text-decoration: line-through;
}

.search-live-price-new {
   color: #e53e3e;
}

.search-live-all {
   display: block;
   width: 100%;
   text-align: center;
   padding: 11px;
   margin-top: 10px;
   background: #E8F3F1;
   color: #179280;
   font-weight: 600;
   font-size: 13px;
   border-radius: 5px;
   border: 1.5px solid #179280;
   text-decoration: none;
   box-shadow: none !important;
   transition: background 0.2s, color 0.2s;
}

.search-live-all:hover {
   background: #179280;
   color: #ffffff;
}

#modal-login .form-box .col,
#modal-write .form-box .col {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 15px;
}

#modal-review .modal-body,
#modal-review-product .modal-body,
#modal-login-cosmetician .modal-body {
   padding: 15px 30px;
   align-items: flex-start;
}

#modal-login-cosmetician .modal-body {
   flex-direction: column;
   justify-content: flex-start;
}

#modal-review .modal-body textarea,
#modal-review-product .modal-body textarea {
   height: 160px;
}

#modal-review-product .product {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 20px;
   align-items: center;
   margin-bottom: 18px;
}

#modal-review-product .product .image img {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   max-height: 80px;
}

#modal-review-product .product .title {
   font-weight: 600;
   font-size: 14px;
   line-height: 21px;
}

#modal-login-cosmetician form {
   position: relative;
}

#modal-login-cosmetician .form-step {
   border: none;
   padding: 0;
   width: 100%;
}

#modal-login-cosmetician .form-step:not(:first-of-type) {
   display: none;
}

#modal-login-cosmetician .form-step .title {
   font-weight: 400;
   font-size: 18px;
   margin-bottom: 18px;
}

#modal-login-cosmetician .form-step .box-step .input-box:last-child {
   margin-bottom: 0;
}

#modal-login-cosmetician .form-step .box-step {
   max-height: calc(100vh - 270px);
   overflow: hidden;
}

#modal-login-cosmetician .modal-footer .buttons {
   padding: 10px 30px 30px;
   display: flex;
   justify-content: space-between;
}

#modal-login-cosmetician .modal-footer .buttons .blocked {
   opacity: 0;
   pointer-events: none;
}

.modal-body .bar {
   position: relative;
   height: 8px;
   margin-bottom: 20px;
   background: rgba(23, 146, 128, 0.1);
   border: 1px solid #179280;
   border-radius: 10px;
   width: 100%;
}

.modal-body .bar .step {
   position: absolute;
   border-radius: 10px;
   background: #179280;
   height: 4px;
   top: 1px;
   left: 1px;
   transition: all 0.5s;
}

.modal-body .bar .step-1 {
   width: 35%;
}

.modal-body .bar .step-2 {
   width: 70%;
}

.modal-body .bar .step-3 {
   width: calc(100% - 2px);
}

#modal-login-cosmetician .sertificate_img {
   background: #F4F4F4;
   border-radius: 5px;
   padding: 10px 15px;
   display: grid;
   grid-template-columns: 45px 1fr 20px;
   align-items: center;
   gap: 10px;
   font-weight: 400;
   font-size: 14px;
   margin-top: 13px;
}

.cart-box .image {
   grid-area: c_image;
   text-align: center;
}

.cart-box .title {
   grid-area: c_title;
   font-size: 14px;
   line-height: 21px;
   color: #232323;
   text-decoration: none;
   text-align: left;
}

.cart-box .title a {
   color: #232323;
   text-decoration: none;
}

.cart-box .quantity {
   grid-area: c_quantity;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   color: #9AA0A1;
}

.cart-box .total {
   grid-area: c_total;
   font-weight: 600;
   font-size: 14px;
   line-height: 21px;
   text-align: right;
}

.cart-box .remove {
   grid-area: c_remove;
   text-align: right;
}

.sertificate_img .remove svg,
.cart-box .remove svg {
   cursor: pointer;
}

.sertificate_img .remove svg path,
.cart-box .remove svg path {
   transition: all 0.5s ease-in-out;
}

.sertificate_img .remove svg:hover path,
.cart-box .remove svg:hover path {
   fill: #179280;
}

.cart-box .item {
   display: grid;
   grid-template-columns: 55px 1fr 80px;
   grid-template-areas:
      'c_image c_title c_remove'
      'c_image c_quantity c_total';
   gap: 0px 20px;
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   padding: 15px 20px;
   align-items: center;
   width: 100%;
}

#modal-cart .cart-box .item:not(.cart-set-item-card):not(.cart-standalone-item-card) {
   grid-template-columns: 55px 295px 80px;
}

#modal-cart .modal-body {
   padding: 30px 30px 0 30px;
   flex: 1 0 0;
   overflow: hidden;
}

.cart-box {
   display: grid;
   gap: 10px;
}

#modal-cart .modal-footer {
   flex: 0 0 auto;
   padding: 30px;
}

#modal-cart .modal-footer .btn {
   width: 100%;
}

.cart-totals .free-delivery {
   background: #F4F4F4;
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   font-weight: 400;
   font-size: 13px;
   line-height: 21px;
   display: grid;
   grid-template-columns: 24px 1fr;
   gap: 18px;
   padding: 15px;
   align-items: center;
   margin-bottom: 15px;
}

.cart-totals .free-delivery:before {
   content: url('../image/free-delivery.svg');
   height: 28px;
   width: 24px;
}

.cart-totals .totals {
   display: flex;
   justify-content: space-between;
   align-items: baseline;
   gap: 16px;
   font-weight: 400;
   font-size: 16px;
   line-height: 20px;
   margin-bottom: 12px;
}

.cart-totals .totals>div:first-child,
.cart-totals .totals .total-title {
   flex: 1 1 auto;
   min-width: 0;
   text-align: left;
}

.cart-totals .totals .total,
.cart-totals .totals>div:last-child {
   flex: 0 0 auto;
   white-space: nowrap !important;
   text-align: right;
   font-weight: 700;
   font-size: 18px;
   line-height: 20px;
   margin-left: auto;
}

.cart-totals .totals.min {
   font-size: 14px;
   line-height: 18px;
   margin-bottom: 8px;
}

.cart-totals .totals.min .total,
.cart-totals .totals.min>div:last-child {
   font-size: 15px;
   font-weight: 600;
   line-height: 18px;
}

/* Checkout payment & shipping method summary rows */
.cart-totals .totals.totals-method,
.order-box .cart-totals .totals.totals-method {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 12px;
   margin-bottom: 12px;
   font-size: 14px;
   line-height: 20px;
}

.cart-totals .totals.totals-method > div:first-child,
.cart-totals .totals.totals-method .total-title {
   flex: 0 0 auto;
   white-space: nowrap !important;
   font-size: 14px;
   line-height: 20px;
   color: #555555;
   text-align: left;
}

.cart-totals .totals.totals-method > div:last-child,
.cart-totals .totals.totals-method .total-value {
   flex: 1 1 auto;
   white-space: normal !important;
   text-align: right;
   font-weight: 600;
   font-size: 14px;
   line-height: 20px;
   color: #222222;
   word-break: normal;
   overflow-wrap: break-word;
   margin-left: auto;
}

/**ORDER**/
.order-box {
   display: grid;
   grid-template-columns: 1fr 460px;
   gap: 100px;
}

/* Unified right-side Checkout Cart Card */
.checkout-cart-card {
   background: #FFFFFF;
   border: 1px solid #E2E8F0;
   border-radius: 5px;
   box-shadow: none !important;
   overflow: hidden;
   margin-bottom: 20px;
}

.order-box .cart-totals {
   padding: 24px 28px;
   background: transparent;
}

/* Checkout Cashback Box */
.checkout-cashback-box {
   background: #FFFFFF;
   border: 1px solid #E2E8F0;
   border-radius: 5px;
   padding: 14px 18px;
   margin-bottom: 20px;
   box-shadow: none !important;
}

.checkout-cashback-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
}

.checkout-cashback-info {
   display: flex;
   align-items: center;
   gap: 10px;
}

.checkout-cashback-icon {
   width: 20px;
   height: 20px;
   flex-shrink: 0;
   object-fit: contain;
}

.checkout-cashback-text {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   line-height: 20px;
   color: #222222;
   font-weight: 400;
}

.checkout-cashback-amount {
   font-weight: 700;
   color: #222222;
}

.checkout-cashback-btn {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   font-weight: 500;
   color: #179280;
   text-decoration: underline;
   text-underline-offset: 3px;
   cursor: pointer;
   white-space: nowrap;
   transition: color 0.2s ease;
}

.checkout-cashback-btn:hover {
   color: #116f61;
}

.checkout-cashback-btn.is-disabled,
.checkout-cashback-btn.disabled,
.checkout-cashback-btn[disabled] {
   color: #9AA0A1 !important;
   text-decoration: underline;
   cursor: not-allowed !important;
   pointer-events: none !important;
   user-select: none;
}

.checkout-cashback-note {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-style: italic;
   color: #9AA0A1;
   margin-top: 6px;
   line-height: 18px;
}

.order-box .cart-totals .btn {
   width: 100%;
   height: 52px;
   background: #179280;
   border: none;
   border-radius: 5px;
   color: #FFFFFF;
   font-family: 'Proxima Nova', sans-serif;
   font-size: 16px;
   font-weight: 600;
   cursor: pointer;
   transition: background-color 0.2s ease;
   box-shadow: none !important;
   display: flex;
   align-items: center;
   justify-content: center;
}

.order-box .cart-totals .btn:hover {
   background: #137c6d;
}

.order-box .cart-box {
   background: transparent;
   border: none;
   border-radius: 0;
   margin-bottom: 0;
   gap: 0;
   box-shadow: none !important;
}

/* Promotional Sets & Promo Groups Container Reset in Checkout */
.order-box .cart-set-container,
.order-box .cart-set-container.has-joint-badge,
.order-box .cart-promo-group-container {
   border: none !important;
   border-radius: 0 !important;
   background: transparent !important;
   padding: 0 !important;
   margin: 0 !important;
   margin-top: 0 !important;
   box-shadow: none !important;
   width: 100% !important;
   max-width: 100% !important;
   min-width: 0 !important;
}

.order-box .cart-set-container .cart-set-items,
.order-box .cart-promo-group-container .cart-promo-items {
   display: block !important;
   gap: 0 !important;
   margin: 0 !important;
   padding: 0 !important;
}

.order-box .checkout-set-badge-row {
   padding: 16px 24px 2px 24px;
   display: flex;
   align-items: center;
   background: #ffffff;
}

@media (max-width: 767px) {
   .order-box .checkout-set-badge-row {
      padding: 12px 14px 2px 14px;
   }
}

.order-box .checkout-set-badge-row .set-badge-tag {
   position: static !important;
   display: inline-flex !important;
   align-items: center !important;
   border-radius: 5px !important;
   margin: 0 !important;
   box-shadow: none !important;
}

.order-box .checkout-item-badge-wrap {
   margin-top: 4px;
}

.order-box .checkout-item-badge-wrap .set-badge-tag {
   position: static !important;
   display: inline-flex !important;
   align-items: center !important;
   border-radius: 5px !important;
   margin: 0 !important;
   box-shadow: none !important;
}

.order-box .checkout-set-badge-row + .cart-set-items .item:first-child,
.order-box .checkout-set-badge-row + .item {
   padding-top: 10px;
}

.order-box .cart-box .cart-set-item-card {
   border: none !important;
   border-bottom: 1px solid #F1F5F9 !important;
   border-radius: 0 !important;
   margin: 0 !important;
   box-shadow: none !important;
   padding: 18px 24px !important;
}

.order-box .cart-box .item {
   display: grid;
   grid-template-columns: 60px 1fr auto;
   grid-template-areas:
      'c_image c_title c_remove'
      'c_image c_quantity c_total';
   gap: 6px 20px;
   border: none;
   border-bottom: 1px solid #F1F5F9;
   border-radius: 0;
   padding: 18px 24px;
   align-items: center;
   background: #ffffff;
}

.order-box .cart-box .item:last-child {
   border-bottom: 1px solid #F1F5F9;
}

.order-box .cart-box .image {
   grid-area: c_image;
   width: 60px;
   height: 60px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.order-box .cart-box .image img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
   border-radius: 4px;
}

.order-box .cart-box .title {
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 400;
   font-size: 15px;
   line-height: 20px;
   color: #222222;
   text-decoration: none;
   margin: 0;
}

.order-box .cart-box .item-title-col {
   grid-area: c_title;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 4px;
   min-width: 0;
}

.order-box .cart-box .title:not(.item-title-col .title) {
   grid-area: c_title;
}

.order-box .cart-box .title:hover {
   color: #179280;
}

.order-box .cart-box .quantity {
   grid-area: c_quantity;
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 400;
   font-size: 14px;
   line-height: 18px;
   color: #9AA0A1;
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 6px;
}

.order-box .cart-box .remove {
   grid-area: c_remove;
   display: flex;
   justify-content: flex-end;
   align-items: center;
   justify-self: end;
   width: 100%;
   color: #D3D8DF;
   cursor: pointer;
}

.order-box .cart-box .remove svg {
   display: block;
   margin-left: auto;
}

.order-box .cart-box .remove svg path {
   fill: #D3D8DF;
   transition: fill 0.2s ease;
}

.order-box .cart-box .remove:hover svg path {
   fill: #FF0000;
}

.order-box .cart-box .total {
   grid-area: c_total;
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 700;
   font-size: 16px;
   line-height: 20px;
   color: #222222;
   text-align: right;
   white-space: nowrap;
}

.order-box .cart-box .total s {
   display: block;
   font-weight: 400;
   font-size: 13px;
   color: #9AA0A1;
}

@media (max-width: 767px) {
   .order-box .cart-box {
      margin-bottom: 15px;
   }

   .order-box .cart-box .item {
      grid-template-columns: 50px 1fr auto;
      gap: 4px 12px;
      padding: 12px 14px;
   }

   .order-box .cart-box .image {
      width: 50px;
      height: 50px;
   }

   .order-box .cart-box .title {
      font-size: 14px;
      line-height: 18px;
   }

   .order-box .cart-box .quantity {
      font-size: 13px;
      line-height: 16px;
   }

   .order-box .cart-box .total {
      font-size: 15px;
      line-height: 18px;
   }

   .order-box .cart-box .remove {
      min-width: 24px;
      min-height: 24px;
   }

   .order-box .cart-box .remove svg {
      width: 16px;
      height: 17px;
   }
}

.order-box .cart-totals .totals {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 14px;
   font-size: 15px;
   line-height: 20px;
   color: #222222;
}

.order-box .cart-totals .totals > div:first-child,
.order-box .cart-totals .totals .total-title {
   font-size: 15px;
   line-height: 20px;
   color: #222222;
   font-weight: 400;
}

.order-box .cart-totals .totals .total,
.order-box .cart-totals .totals > div:last-child {
   font-size: 15px;
   line-height: 20px;
   color: #222222;
   font-weight: 400;
   text-align: right;
   margin-left: auto;
}

.order-box .cart-totals .totals.totals-final {
   margin-top: 14px;
   margin-bottom: 20px;
   align-items: baseline;
}

.order-box .cart-totals .totals.totals-final > div:first-child,
.order-box .cart-totals .totals.totals-final .total-title {
   font-size: 16px;
   line-height: 22px;
   font-weight: 400;
   color: #222222;
}

.order-box .cart-totals .totals.totals-final .total,
.order-box .cart-totals .totals.totals-final > div:last-child {
   font-size: 26px;
   line-height: 30px;
   font-weight: 700;
   color: #222222;
}

.order-box .cart-totals .free-delivery {
   background: #F4F5F7;
   border: none;
   border-radius: 5px;
   padding: 14px 18px;
   margin-top: 0;
   margin-bottom: 20px;
   box-shadow: none !important;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 12px;
}

.order-box .cart-totals .free-delivery:before {
   display: none;
}

.order-box .cart-totals .free-delivery .free-delivery-text,
.order-box .cart-totals .free-delivery span {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   line-height: 20px;
   color: #222222;
   font-weight: 400;
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
}

.order-box .cart-totals .free-delivery .free-delivery-value,
.order-box .cart-totals .free-delivery span b,
.order-box .cart-totals .free-delivery b {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   font-weight: 700;
   color: #222222;
   white-space: nowrap;
   margin-left: auto;
}

.order-box .info-pay {
   background: #FFF7F7;
   border: 1px solid #FFA3A3;
   border-radius: 5px;
   font-family: 'Proxima Nova', sans-serif;
   font-weight: 400;
   font-size: 14px;
   line-height: 20px;
   color: #FF3030;
   padding: 16px 20px;
   display: flex;
   align-items: center;
   gap: 16px;
   box-shadow: none !important;
   margin-top: 0;
   margin-bottom: 20px;
}

.order-box .info-pay:before {
   content: '';
   display: block;
   width: 32px;
   height: 32px;
   flex-shrink: 0;
   background: url('../image/info-pay.svg') no-repeat center / contain;
}

.order-box .info-pay span {
   flex: 1 1 auto;
   font-size: 14px;
   line-height: 20px;
   color: #FF3030;
}

.order-box .info-pay span b {
   font-weight: 700;
}

.order-box .input-box input {
   max-width: 330px;
}

.order-box .input-box input[name='address_2'] {
   max-width: 100%;
}

.order-box .address-box {
   max-width: 525px;
}

/**ACCOUNT**/
.heading-account {
   display: grid;
   grid-template-columns: 1fr auto;
   align-items: center;
}

.account-box {
   display: grid;
   grid-template-columns: 270px 1fr;
   gap: 30px;
}

.module-box-account {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   padding: 15px 10px;
}

.module-box-account ul {
   padding: 0;
   margin: 0;
   list-style: none;
   display: grid;
   gap: 10px;
}

.module-box-account ul a {
   display: block;
   font-weight: 500;
   font-size: 14px;
   line-height: 25px;
   color: #232323;
   text-decoration: none;
   padding: 5px 10px;
}

.module-box-account li.active {
   background: #179280;
   border-radius: 5px;
}

.module-box-account li.active a {
   color: #fff;
   font-weight: 400;
}

.account-box .type-account {
   margin-bottom: 40px;
}

.account-box .type-account .col {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 15px 20px;
}

.account-box .type-account .col-call {
   grid-area: call;
}

.account-box .type-account .col-buttons {
   grid-area: button;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 15px;
}

.account-box .type-account .col-buttons .btn {
   padding: 17px 0;
}

.account-box .type-account .call-box {
   background: #F4F4F4;
   border-radius: 5px;
   display: grid;
   grid-template-columns: 1fr 130px;
   gap: 10px;
   font-weight: 600;
   font-size: 14px;
   line-height: 21px;
   padding: 8px 10px 8px 20px;
   align-items: center;
   overflow: visible !important;
   position: relative;
}

.account-box .type-account .call-box .select-box {
   margin: 0;
   background: #FFFFFF;
   border: 1px solid #EEEFF4;
   border-radius: 5px;
   padding: 7px 15px;
   position: relative;
}

.account-box .type-account .call-box .select-box.open {
   border-color: rgba(23, 146, 128, 0.3);
   border-radius: 5px 5px 0 0;
   z-index: 20;
}

.account-box,
.account-box .content,
.account-box .type-account,
.account-box .type-account .col,
.account-box .type-account .col2,
.account-box .type-account .col-call {
   overflow: visible !important;
}

.account-box .type-account .col2 {
   grid-template-areas: 'call call button';
}

.account-box .sertificate-box {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
}

.account-box .sertificate-box .heading {
   font-weight: 600;
   font-size: 14px;
   line-height: 21px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   color: #FFFFFF;
   background: #179280;
   border: 1px solid rgba(23, 146, 128, 0.3);
   border-radius: 5px 5px 0px 0px;
   padding: 15px;
   cursor: pointer;
}

.account-box .sertificate-box .heading svg {
   transform: rotate(180deg);
   transition: all 0.3s ease-in-out;
}

.account-box .sertificate-box ul {
   margin: 0;
   padding: 15px;
   list-style: none;
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 15px;
   margin-bottom: 30px;
}

.account-box .sertificate-box.hide .heading {
   border-radius: 5px;
}

.account-box .sertificate-box.hide .heading svg {
   transform: rotate(0deg);
}

.account-box .sertificate-box.hide .body {
   display: none;
}

.account-box .sertificate-box ul li {
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
}

.account-box .sertificate-box ul li .image {
   position: relative;
   margin-bottom: 5px;
   border-radius: 5px;
}

.account-box .sertificate-box ul li .image img {
   width: 100%;
}

.account-box .sertificate-box ul li svg {
   position: absolute;
   top: 10px;
   right: 5px;
   opacity: 0;
   z-index: 2;
   cursor: pointer;
}

.account-box .sertificate-box ul li .bg {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   opacity: 0;
   z-index: 1;
   background: rgba(35, 35, 35, 0.6) url('../image/zoom.svg') no-repeat center center;
   border-radius: 5px;
   cursor: pointer;
}

.account-box .sertificate-box ul li:hover svg,
.account-box .sertificate-box ul li:hover .bg {
   opacity: 1;
   transition: opacity 0.5s ease-in-out;
}

.account-box .sertificate-box button {
   margin: 0 auto 30px auto;
}

.sertificate-box button {
   display: flex;
   align-items: center;
   justify-content: center;
}

.sertificate-box button svg {
   margin-right: 10px;
}

.orders-box .item-order {
   border: 1px solid #F4F4F4;
   border-radius: 5px;
   margin-bottom: 10px;
   background: #fff;
}

.orders-box .item-order .heading {
   display: grid;
   grid-template-columns: 1fr 150px 100px 100px 80px 10px;
   gap: 5px 10px;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   padding: 17px 20px;
   align-items: center;
   cursor: pointer;
   transition: background-color 0.3s ease-in-out;
}

.orders-box .item-order .date {
   color: #DEE0E0;
}

.orders-box .item-order .green {
   color: #179280;
}

.orders-box .item-order .red {
   color: #FF3030;
}

.orders-box .item-order .quantity {
   color: #9AA0A1;
}

.orders-box .item-order .item-order-product {
   display: grid;
   grid-template-columns: 32px 1fr 40px 110px;
   gap: 20px;
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   padding: 5px 20px;
   border-top: 1px solid #F4F4F4;
   align-items: center;
}

.orders-box .item-order .body,
.orders-box .item-order .footer {
   display: none;
}

.orders-box .item-order .footer>div {
   display: flex;
   justify-content: space-between;
   padding: 10px 20px;
   border-top: 1px solid #F4F4F4;
}

.orders-box .item-order .footer .btn-link {
   border: none;
   text-decoration: underline;
}

.orders-box .item-order.open {
   box-shadow: 0px 15px 25px rgba(0, 0, 0, 0.12);
}

.orders-box .item-order.open .heading {
   background: #F4F4F4;
}

.orders-box .item-order .heading svg {
   transition: all 0.3s ease-in-out;
}

.orders-box .item-order.open .heading svg {
   transform: rotate(180deg);
}

/**SEARCH**/
#box-search .col {
   display: grid;
   grid-template-columns: minmax(200px, 320px) 120px;
   gap: 15px;
}

/**404**/
.error-404 {
   text-align: center;
}

.error-404 img {
   margin: 100px 0 35px 0;
}

.error-404 .description {
   max-width: 800px;
   margin: 0 auto 35px auto;
}

.error-404 .btn {
   margin-bottom: 50px;
}

/**Customer Sale**/
.module-customer-sale .container {
   display: grid;
   grid-template-columns: 1fr 1fr;
   justify-content: space-between;
   gap: 25px;
}

.module-customer-sale .container>div {
   position: relative;
   background: #F5F7F9;
   border-radius: 5px;
   height: 290px;
   width: 560px;
}

.module-customer-sale .container>div img {
   display: block;
   border-radius: 5px;
}

.module-customer-sale .container>div>div {
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   z-index: 1;
   display: flex;
   align-items: center;
   padding: 0 60px;
}

.module-customer-sale .container p {
   font-weight: 600;
   font-size: 18px;
   line-height: 21px;
   margin-bottom: 15px;
}

.module-customer-sale .container ul {
   padding: 0;
   margin: 0;
   background: none;
   border-radius: 0;
}

.module-customer-sale .container ul li {
   display: flex;
   align-items: flex-start;
}

.module-customer-sale .container ul li::before {
   content: url(../image/checked2-li.svg);
   margin-right: 10px;
}

.module-customer-sale .container .bl1>div {
   background: url(../image/customer-sale-bg1.png) no-repeat right bottom;
}

.module-customer-sale .container .bl2>div {
   background: url(../image/customer-sale-bg2.png) no-repeat right bottom;
   justify-content: right;
}

.price-description {
   font-weight: 400;
   font-size: 14px;
   line-height: 21px;
   max-width: 170px;
}

.button-price .price-description {
   /* display: block; */
   vertical-align: middle;
   margin-left: 20px;
}

.module-course-bl2 .price {
   position: relative;
}

.module-course-bl2 .price .price-description {
   /* position: absolute; */
   /* bottom: -14px; */
   margin-left: 30px;
}

/**FILTER**/
.totals.min {
   font-size: 15px;
   line-height: 20px;
   margin-bottom: 10px;
}

.totals.min .total {
   font-size: 16px;
   white-space: nowrap !important;
}

.btn-course {
   margin: 0 auto;
   display: block;
   padding: 20px 37px;
}

.seminar-review.module-study-reg img {
   margin-left: 85px;
}

.module-reviews .heading {
   display: block;
   text-align: center;
}

.module-reviews .swiper-button {
   display: block;
   position: absolute;
   width: 100%;
   top: 50%;
}

.module-reviews .swiper-button .swiper-button-next {
   position: absolute;
   right: -20px;
   left: auto;
}

.module-reviews .swiper-button .swiper-button-prev {
   position: absolute;
   left: -20px;
}

#grid .grid-sizer,
#grid .item-review {
   width: 100%;
   max-width: 370px;
}

#grid .item-review {
   margin-bottom: 25px;
}

#grid .item-review .course-name a {
   color: #179280;
   text-decoration: none;
   margin-bottom: 15px;
   display: block;
}

#grid .item-review .course-name a:hover {
   color: #21b59f;
}

#grid .period-end {
   color: red;
}

.img-liqpay {
   max-width: 120px;
   margin-left: 10px;
   margin-bottom: -2px;
}


.child-replies {

   border-left: 2px solid #179280;
}

.child-review {
   margin-top: 10px;
   padding: 10px;
   background: #F9F9F9;
   border-radius: 5px;
}

.admin-reply {
   margin-top: 10px;
   padding: 10px;
   border-left: 3px solid #179280;
   background: #FFF8E6;
   border-radius: 5px;
}

.admin-reply-header {
   display: flex;
   align-items: center;
   font-weight: bold;
   color: #179280;
}

.admin-reply-header svg {
   margin-right: 5px;
}

.btn-reply {
   background-color: transparent;
   border: none;
   color: #179280;
   cursor: pointer;
   margin-top: 10px;
   font-weight: bold;
   font-size: 14px;
   text-decoration: underline;
}

.btn-reply:hover {
   color: #FF7400;
}

.btn-reply {
   background-color: transparent;
   border: none;
   color: #179280;
   cursor: pointer;
   margin-top: 10px;
   font-weight: bold;
   font-size: 14px;
   text-decoration: underline;
}

.btn-reply:hover {
   color: #FF7400;
}

.admin-reply {
   margin-top: 10px;
   padding: 10px;
   border-left: 3px solid #179280;
   background: rgba(23, 146, 128, 0.1);
   ;
   border-radius: 5px;
}

.admin-reply-header {
   display: flex;
   align-items: center;
   font-weight: bold;
   color: #179280;
}

.admin-reply-header svg {
   margin-right: 5px;
}

.admin-reply-text {
   margin-top: 5px;
   font-size: 14px;
   color: #555;
}


.badge-two-plus-one {
   position: relative;
   top: 28px;
   left: 8px;
   background: #e91e63;
   color: #fff;
   font-weight: 600;
   font-size: 12px;
   padding: 4px 8px;
   border-radius: 5px;
   z-index: 10;
   line-height: 1;
}

/* Allow tooltips in catalog product boxes and Brands swiper */
.module-brands .swiper,
.item-product,
.item-product .box,
.item-product .box .stikers,
.item-product .box .stikers .stikers-row,
#product .images .stikers,
#product .images .stikers .stikers-row {
   overflow: visible !important;
}

/* Elevate hover stacking context in swiper slides to prevent adjacent slide clipping */
.swiper-slide:hover,
.swiper-slide:focus-within,
.item-product:hover,
.item-product:focus-within {
   z-index: 50 !important;
   position: relative;
}

/* Ensure all other product carousels under the main slider clip outside content bounds */
.module-popular .swiper,
.module-special .swiper,
.module-featured .swiper,
.module-bestseller .swiper,
.module-latest .swiper,
.module-related .swiper,
.module-reviews .swiper {
   overflow: hidden !important;
}

#product .images {
   position: relative;
}

#product .images .product-badges,
#product .images .stikers {
   position: absolute;
   top: 10px;
   left: 10px;
   z-index: 5;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 5px;
   pointer-events: none;
}

#product .images .stikers .stikers-row {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 5px;
}

#product .images .product-badges>*,
#product .images .stikers>* {
   pointer-events: auto;
}

#product .images .product-badges .badge-two-plus-one {
   position: relative;
   top: auto !important;
   left: auto !important;
   margin: 0;
   border-radius: 5px;
}

#product .images .product-badges .badge-discount,
#product .images .product-badges .action {
   position: relative;
   top: auto !important;
   left: auto !important;
   margin: 0;
   background: #FF3030;
   color: #fff;
   font-weight: 700;
   font-size: 11px;
   line-height: 13px;
   padding: 5px 10px;
   border-radius: 100px !important;
   display: inline-block;
}

#product .images .product-badges .badge-gift-wrapper {
   position: relative !important;
   top: auto !important;
   left: auto !important;
   right: auto !important;
   bottom: auto !important;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 17px;
   height: 17px;
}

.badge-gift-wrapper {
   position: absolute;
   top: 10px;
   left: 10px;
   z-index: 5;
   display: inline-block;
   cursor: pointer;
}

.badge-gift-wrapper:hover {
   z-index: 100 !important;
}

#product .images>.badge-gift-wrapper {
   position: absolute;
   top: 10px;
   left: 10px;
   z-index: 20;
}

#product .images>.badge-gift-wrapper~.badge-gift-wrapper {
   top: 10px;
   left: 35px;
}

#product .images>.badge-gift-wrapper~.badge-gift-wrapper~.badge-gift-wrapper {
   top: 10px;
   left: 60px;
}

.item-product .box .stikers .badge-gift-wrapper {
   position: relative;
   top: auto;
   left: auto;
   z-index: 2;
}

.item-product .box .stikers .badge-gift-wrapper:hover {
   z-index: 10 !important;
}

.item-product .box .stikers .action.rozetka {
   position: relative;
   z-index: 2;
}

.badge-gift-wrapper .badge-gift-img {
   width: 17px;
   height: 17px;
   display: block;
   object-fit: contain;
   transition: transform 0.2s ease;
}

.badge-gift-wrapper:hover .badge-gift-img {
   transform: scale(1.1);
}

.badge-gift-wrapper .badge-gift-tooltip {
   visibility: hidden;
   opacity: 0;
   position: absolute;
   top: calc(100% + 8px);
   bottom: auto;
   left: 0;
   transform: translateY(-4px);
   background-color: #2C3539;
   color: #ffffff !important;
   font-size: 12px !important;
   font-weight: 500 !important;
   line-height: 1.4 !important;
   font-family: 'Proxima Nova', sans-serif !important;
   padding: 6px 12px !important;
   border-radius: 5px !important;
   z-index: 99999 !important;
   box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.25);
   transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
   pointer-events: none;
   max-width: 240px;
   min-width: 140px;
   white-space: normal;
   word-wrap: break-word;
   overflow-wrap: break-word;
   width: max-content;
}

.badge-gift-wrapper .badge-gift-tooltip.align-left {
   left: 0;
   right: auto;
}

.badge-gift-wrapper .badge-gift-tooltip.align-right {
   left: auto;
   right: 0;
}

.badge-gift-wrapper .badge-gift-tooltip::after {
   content: "";
   position: absolute;
   bottom: 100%;
   top: auto;
   left: 8px;
   border-width: 5px;
   border-style: solid;
   border-color: transparent transparent #2C3539 transparent;
}

.badge-gift-wrapper .badge-gift-tooltip.align-right::after {
   left: auto;
   right: 8px;
}

.badge-gift-wrapper:hover .badge-gift-tooltip {
   visibility: visible;
   opacity: 1;
   transform: translateY(0);
}


.badge-two-plus-one-list {

   background: #e91e63;
   color: #fff;
   font-weight: 600;
   font-size: 12px;
   padding: 4px 8px;
   border-radius: 3px;

}

/* Wholesale Discount Box (Single Discount) */
.wholesale-discount-box {
   display: inline-flex;
   align-items: center;
   gap: 12px;
   background-color: #FAF4FD;
   border: 1px solid #C779DC;
   border-radius: 5px !important;
   padding: 10px 14px;
   box-shadow: none !important;
   width: fit-content !important;
   max-width: 100%;
   box-sizing: border-box;
}

.wholesale-discount-icon-wrap {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.wholesale-discount-icon {
   width: 36px;
   height: 36px;
   display: block;
}

.wholesale-discount-content {
   display: flex;
   flex-direction: column;
}

.wholesale-discount-percent {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 26px;
   font-weight: 700;
   line-height: 1.1;
   color: #9E41C6;
}

.wholesale-discount-qty {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-weight: 400;
   line-height: 1.25;
   color: #2C3539;
   margin-top: 2px;
   white-space: nowrap;
}

.wholesale-discount-date {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 11px;
   color: #8C9296;
   margin-top: 2px;
}

/* Promo Tier Box & Tooltip (Multiple Discounts) */
.wholesale-discounts-wrapper {
   margin-top: 14px;
   display: block;
   width: fit-content;
   max-width: 100%;
   position: relative;
   z-index: 2;
}

.wholesale-discounts-wrapper:hover,
.wholesale-discounts-wrapper:focus-within {
   z-index: 999;
}

.promo-tier-box {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: space-between;
   background-color: #F4F5F7;
   border-radius: 5px !important;
   border: none;
   box-shadow: none !important;
   cursor: pointer;
   user-select: none;
   outline: none;
   box-sizing: border-box;
   padding: 14px 20px;
   min-width: 290px;
   max-width: 340px;
   transition: background-color 0.2s ease;
}

.promo-tier-box:hover,
.promo-tier-box.is-active {
   background-color: #EBEDF2;
}

.promo-tier-left {
   display: flex;
   align-items: center;
   gap: 12px;
}

.promo-tier-icon {
   width: 26px;
   height: 26px;
   display: block;
   flex-shrink: 0;
}

.promo-tier-title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 16px;
   font-weight: 500;
   line-height: 1.2;
   color: #222222;
   white-space: nowrap;
}

.promo-tier-info-btn {
   position: absolute;
   top: -11px;
   right: 20px;
   width: 24px;
   height: 24px;
   border-radius: 50%;
   background-color: #F4F5F7;
   border: 3px solid #FFFFFF;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   box-sizing: border-box;
   transition: background-color 0.2s ease;
}

.promo-tier-box:hover .promo-tier-info-btn,
.promo-tier-box.is-active .promo-tier-info-btn {
   background-color: #EBEDF2;
}

.promo-tier-info-icon {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-weight: 700;
   font-style: normal;
   color: #8C9296;
   line-height: 1;
}

/* Tooltip Popup on Hover (Image 1) */
.promo-tier-tooltip {
   position: absolute;
   bottom: calc(100% + 14px);
   left: 0;
   background: #FFFFFF !important;
   border-radius: 5px !important;
   border: 1px solid #E2E8F0;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
   padding: 18px 22px;
   min-width: 350px;
   box-sizing: border-box;
   z-index: 9999;
   opacity: 0;
   visibility: hidden;
   transform: translateY(6px);
   transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
   pointer-events: none;
   cursor: default;
}

/* Transparent hover bridge */
.promo-tier-tooltip::after {
   content: '';
   position: absolute;
   top: 100%;
   left: 0;
   width: 100%;
   height: 16px;
   background: transparent;
}

.promo-tier-box:hover .promo-tier-tooltip,
.promo-tier-box.is-active .promo-tier-tooltip {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
   pointer-events: auto;
}

.promo-tier-list {
   display: flex;
   flex-direction: column;
   gap: 12px;
}

.promo-tier-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   font-family: 'Proxima Nova', sans-serif;
   line-height: 1.3;
}

.promo-tier-label {
   display: flex;
   align-items: center;
   gap: 8px;
   white-space: nowrap;
}

.promo-tier-qty {
   font-size: 15px;
   font-weight: 500;
   color: #222222;
}

.promo-tier-percent {
   font-size: 15px;
   font-weight: 700;
   color: #179280;
}

.promo-tier-prices {
   display: flex;
   align-items: center;
   gap: 14px;
   white-space: nowrap;
}

.promo-tier-current-price {
   font-size: 16px;
   font-weight: 700;
   color: #222222;
}

.promo-tier-old-price {
   font-size: 15px;
   font-weight: 400;
   color: #717779;
}

.promo-gift-icon {
   width: 18px !important;
   height: 18px !important;
   display: block;
   flex-shrink: 0;
}

.gift-promotion-wrapper {
   margin-top: 10px;
}

.promo-gift-tooltip {
   min-width: 350px !important;
   max-width: 400px !important;
   padding: 18px 20px !important;
   background: #FFFFFF !important;
   border: 1px solid #E2E8F0 !important;
   border-radius: 5px !important;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
}

.promo-gift-percent {
   color: #179280 !important;
   font-weight: 700 !important;
   font-size: 15px !important;
}

.promo-gift-tag {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   font-weight: 700;
   color: #179280;
   white-space: nowrap;
}

.promo-gift-tag--sm {
   font-size: 13px;
   font-weight: 600;
}

.promo-tier-gift-crossed-price {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   font-weight: 500;
   color: #717779;
   text-decoration: line-through;
   white-space: nowrap;
}

.promo-tier-gift-crossed-price--sm {
   font-size: 13px;
}

.promo-gift-product-card {
   display: flex;
   align-items: center;
   gap: 12px;
   background: none;
   border: none;
   padding: 0;
   margin-top: 0;
}

.promo-gift-product-thumb {
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 48px;
   height: 48px;
   background: #FFFFFF;
   border-radius: 5px;
   border: 1px solid #E2E8F0;
   overflow: hidden;
}

.promo-gift-product-thumb img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
   display: block;
}

.promo-gift-product-details {
   display: flex;
   flex-direction: column;
   gap: 3px;
   min-width: 0;
   flex: 1;
}

.promo-gift-product-title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-weight: 600;
   color: #222222;
   line-height: 1.3;
   text-decoration: none;
   overflow: hidden;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   transition: color 0.15s ease;
}

.promo-gift-product-title:hover {
   color: #179280;
}

.promo-gift-product-meta {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 12px;
   font-weight: 400;
   color: #717779;
}

.promo-gift-divider {
   height: 1px;
   background: #E2E8F0;
   margin: 4px 0 0 0;
}

.promo-gift-extra-title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 11px;
   font-weight: 700;
   color: #717779;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   margin-bottom: 2px;
}

.promo-gift-subtiers-list {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.promo-gift-subtier-item {
   display: flex;
   flex-direction: column;
   gap: 2px;
}

.promo-gift-subtier-row {
   padding-top: 0;
}

.promo-gift-subtier-threshold {
   font-size: 12px;
   font-weight: 400;
   color: #717779;
   margin-left: 4px;
}

.promo-gift-subtier-link-wrap {
   margin-top: 0;
   margin-bottom: 0;
   line-height: 1.25;
}

.promo-gift-subtier-link {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 12px;
   font-weight: 600;
   color: #179280;
   text-decoration: none;
   display: block;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   transition: color 0.15s ease;
}

.promo-gift-subtier-link:hover {
   text-decoration: underline;
}

@media only screen and (max-width: 576px) {
   .promo-tier-tooltip {
      min-width: 290px;
      max-width: 90vw;
      padding: 14px 16px;
   }

   .promo-tier-box {
      min-width: unset;
      width: 100%;
      padding: 12px 16px;
   }

   .promo-tier-title {
      font-size: 14px;
   }

   .promo-tier-qty,
   .promo-tier-percent,
   .promo-tier-current-price,
   .promo-tier-old-price {
      font-size: 14px;
   }
}

/* Dynamic quantity-discount price display */
.info .price .product-discount-price {
   color: #179280;
   font-weight: 700;
   margin-right: 8px;
}

.info .price .product-original-price {
   color: #9b9b9b;
   font-size: 0.85em;
   text-decoration: line-through;
}

/* Cart Related Products Block ("Також купують") */
.cart-related-section {
   margin-top: 24px;
   margin-bottom: 20px;
}

.cart-related-heading {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 20px;
   font-weight: 700;
   color: #2C3539;
   margin: 0 0 14px 0;
   padding: 0;
   line-height: 1.2;
}

.cart-related-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 12px;
}

.cart-related-card {
   background: #ffffff;
   border: 1px solid #F0F0F0;
   border-radius: 5px;
   box-shadow: none;
   padding: 12px;
   display: flex;
   align-items: center;
   gap: 10px;
   position: relative;
   box-sizing: border-box;
}

.cart-related-img-wrap {
   width: 54px;
   height: 54px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
}

.cart-related-img-wrap img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
   border-radius: 5px;
}

.cart-related-info {
   flex-grow: 1;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   min-width: 0;
}

.cart-related-title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-weight: 600;
   color: #222222;
   text-decoration: none;
   line-height: 1.3;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
   margin-bottom: 6px;
}

.cart-related-title:hover {
   color: #179280;
}

.cart-related-bottom {
   display: flex;
   align-items: center;
   justify-content: space-between;
   width: 100%;
   gap: 6px;
}

.cart-related-price {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   font-weight: 700;
   color: #222222;
   white-space: nowrap;
}

.cart-related-special {
   color: #179280;
}

.cart-related-buy-btn {
   background: transparent;
   border: none;
   border-radius: 50%;
   width: 34px;
   height: 34px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   padding: 0;
   flex-shrink: 0;
   transition: background-color 0.2s ease, border-radius 0.2s ease;
}

.cart-related-buy-btn svg path {
   fill: #179280;
   transition: fill 0.2s ease;
}

.cart-related-buy-btn:hover {
   background: #179280;
   border-radius: 50%;
}

.cart-related-buy-btn:hover svg path {
   fill: #ffffff;
}

@media (max-width: 768px) {
   .cart-related-grid {
      grid-template-columns: 1fr;
   }
}

/* Set Badge Tag */
.set-badge-tag {
   position: absolute;
   top: -10px;
   left: 14px;
   z-index: 2;
   display: inline-flex;
   align-items: center;
   gap: 5px;
   padding: 3px 10px;
   border-radius: 5px;
   font-family: 'Proxima Nova', sans-serif;
   font-size: 11px;
   font-weight: 700;
   text-transform: uppercase;
   color: #ffffff;
   box-shadow: none !important;
   letter-spacing: 0.3px;
   white-space: nowrap;
   line-height: 1.2;
}

.set-badge-tag.joint-badge {
   /* left & transform removed per design spec */
}

@media (max-width: 991px) {
   .set-horizontal-box .set-item-price-box {
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 2px !important;
   }
}

.set-badge-icon {
   width: 13px;
   height: 13px;
   object-fit: contain;
   display: inline-block;
   vertical-align: middle;
}

/* Trash Remove Icon Hover Effect */
.remove {
   color: #a0aec0;
   transition: color 0.2s ease;
   cursor: pointer;
}

.remove .cart-remove-icon {
   width: 17px;
   height: 18px;
   display: block;
}

.remove .cart-remove-icon path {
   fill: currentColor;
   transition: fill 0.2s ease;
}

.remove:hover,
.remove:hover .cart-remove-icon {
   color: #ef4444 !important;
}

.remove:hover .cart-remove-icon path {
   fill: #ef4444 !important;
}

/* Cart Gift Progress Bar Component */
.cart-gift-progress-box {
   background: #F4F5F7;
   border: 1px solid #EAECEF !important;
   border-radius: 5px !important;
   padding: 16px 20px;
   margin-bottom: 20px;
   box-shadow: none !important;
   position: relative;
   overflow: visible !important;
   box-sizing: border-box;
   width: 100%;
}

.cart-gift-progress-header {
   display: flex;
   align-items: flex-start;
   gap: 14px;
   position: relative;
   padding-right: 18px;
}

.cart-gift-progress-icon {
   flex-shrink: 0;
   width: 26px;
   height: 26px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-top: 1px;
}

.cart-gift-progress-info {
   flex: 1 1 auto;
   min-width: 0;
}

.cart-gift-progress-title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   color: #222222;
   line-height: 1.4;
   font-weight: 400;
   margin: 0;
}

.cart-gift-progress-title strong {
   font-weight: 700;
   color: #222222;
}

.cart-promo-brand-link {
   color: #179280 !important;
   text-decoration: underline !important;
   font-weight: 600;
   transition: color 0.2s ease;
}

.cart-promo-brand-link:hover {
   color: #12796a !important;
}

.cart-gift-product-link {
   display: inline-block;
   margin-top: 6px;
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   color: #179280;
   text-decoration: underline;
   font-weight: 600;
   transition: color 0.2s ease;
   line-height: 1.35;
}

.cart-gift-product-link:hover {
   color: #12796a;
   text-decoration: underline;
}

/* Info Icon Button (i) at top right corner */
.cart-gift-progress-hint {
   position: absolute;
   top: -11px;
   right: 20px;
   z-index: 25;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   outline: none;
}

.cart-promo-info-btn {
   width: 24px;
   height: 24px;
   border-radius: 50%;
   background-color: #F4F5F7;
   border: 3px solid #FFFFFF;
   box-shadow: none !important;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   box-sizing: border-box;
   transition: background-color 0.2s ease;
}

.cart-gift-progress-hint:hover .cart-promo-info-btn,
.cart-gift-progress-hint:focus .cart-promo-info-btn,
.cart-gift-progress-hint.is-active .cart-promo-info-btn {
   background-color: #EBEDF2;
}

.cart-promo-info-icon {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   font-weight: 700;
   font-style: normal;
   color: #8C9296;
   line-height: 1;
}

/* Tooltip Popup on Hover (matching screenshot) */
.cart-promo-tooltip {
   position: absolute;
   top: calc(100% + 6px);
   right: 0;
   background: #FFFFFF !important;
   border: 1px solid #E2E8F0;
   border-radius: 5px !important;
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12) !important;
   padding: 16px 20px;
   min-width: 220px;
   box-sizing: border-box;
   z-index: 1000;
   opacity: 0;
   visibility: hidden;
   transform: translateY(4px);
   transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
   pointer-events: none;
   cursor: default;
}

/* Transparent hover bridge so mouse can move into tooltip without closing */
.cart-promo-tooltip::before {
   content: '';
   position: absolute;
   bottom: 100%;
   right: 0;
   width: 100%;
   height: 12px;
   background: transparent;
}

.cart-gift-progress-hint:hover .cart-promo-tooltip,
.cart-gift-progress-hint:focus-within .cart-promo-tooltip,
.cart-gift-progress-hint.is-active .cart-promo-tooltip {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
   pointer-events: auto;
}

.cart-promo-gift-tooltip {
   min-width: 320px;
   width: 340px;
   max-width: calc(100vw - 32px);
   padding: 16px 18px;
   text-align: left;
}

/* For footer-gift-progress, open tooltip upwards above the progress box */
.footer-gift-progress .cart-promo-tooltip {
   top: auto;
   bottom: calc(100% + 12px);
   transform: translateY(-4px);
}

.footer-gift-progress .cart-promo-tooltip::before {
   top: 100%;
   bottom: auto;
   height: 16px;
}

.footer-gift-progress .cart-gift-progress-hint:hover .cart-promo-tooltip,
.footer-gift-progress .cart-gift-progress-hint:focus-within .cart-promo-tooltip,
.footer-gift-progress .cart-gift-progress-hint.is-active .cart-promo-tooltip {
   transform: translateY(0);
}

@media only screen and (max-width: 576px) {
   .cart-promo-gift-tooltip {
      min-width: 280px;
      width: calc(100vw - 40px);
      right: -10px;
      padding: 14px 16px;
   }
}

.cart-promo-tooltip-list {
   display: flex;
   flex-direction: column;
   gap: 12px;
}

.cart-promo-tooltip-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   font-family: 'Proxima Nova', sans-serif;
   line-height: 1.3;
}

.cart-promo-tooltip-qty {
   font-size: 15px;
   font-weight: 500;
   color: #222222;
   white-space: nowrap;
}

.cart-promo-tooltip-percent {
   font-size: 15px;
   font-weight: 700;
   color: #179280;
   white-space: nowrap;
}

.cart-gift-progress-track-wrapper {
   margin-top: 16px;
   position: relative;
}

.cart-gift-progress-track {
   height: 6px;
   background: #e2e8f0;
   border-radius: 3px;
   position: relative;
   width: 100%;
   overflow: hidden;
}

.cart-gift-progress-fill {
   height: 100%;
   background: #179280;
   border-radius: 3px;
   transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cart-gift-progress-markers {
   position: relative;
   width: 100%;
   height: 20px;
   margin-top: 2px;
   transition: height 0.2s ease;
}

.cart-gift-progress-box.has-staggered .cart-gift-progress-markers {
   height: 38px;
}

.cart-gift-marker-item {
   position: absolute;
   transform: translateX(-50%);
   display: flex;
   flex-direction: column;
   align-items: center;
   top: -8px;
   z-index: 1;
}

.cart-gift-marker-item .marker-tick {
   width: 2px;
   height: 6px;
   background: #cbd5e1;
   margin-bottom: 4px;
   border-radius: 1px;
   transition: height 0.2s ease, background-color 0.2s ease;
}

.cart-gift-marker-item .marker-label {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 11.5px;
   color: #64748b;
   font-weight: 500;
   white-space: nowrap;
   line-height: 1.2;
}

.cart-gift-marker-item.marker-zero {
   transform: translateX(0);
   align-items: flex-start;
}

.cart-gift-marker-item:last-child {
   transform: translateX(-100%);
   align-items: flex-end;
}

.cart-gift-marker-item.marker-achieved .marker-tick {
   background: #179280;
}

.cart-gift-marker-item.marker-achieved .marker-label {
   color: #179280;
   font-weight: 700;
}

/* Staggered marker row when numbers are close to prevent overlap */
.cart-gift-marker-item.is-staggered {
   z-index: 2;
}

.cart-gift-marker-item.is-staggered .marker-tick {
   height: 20px;
}

.cart-gift-marker-item.is-staggered.marker-achieved .marker-tick {
   background: #179280;
}

/* Promotional Cart Set Bundle Styles */
.cart-set-container {
   border: 1px solid #dadada !important;
   border-radius: 5px;
   background: #ffffff;
   padding: 16px;
   margin-bottom: 15px;
   box-shadow: none !important;
   position: relative;
   box-sizing: border-box !important;
   width: 100% !important;
   max-width: 100% !important;
   min-width: 0 !important;
   overflow: visible !important;
}

.cart-set-container.has-joint-badge,
.cart-set-container:has(.set-badge-tag.joint-badge),
.cart-set-container:has(> .set-badge-tag) {
   margin-top: 14px !important;
}

/* Promotional Brand & Category Promo Group Container */
.cart-promo-group-container {
   border: 1px solid #dadada !important;
   border-radius: 5px !important;
   background: #ffffff !important;
   padding: 14px !important;
   margin-bottom: 15px !important;
   box-shadow: none !important;
   overflow: visible !important;
}

.cart-promo-group-container .cart-promo-items {
   display: flex;
   flex-direction: column;
   gap: 10px;
   margin-bottom: 12px;
}

.cart-promo-group-container .cart-promo-item-card {
   border: 1px solid #eef2f6 !important;
   border-radius: 5px !important;
   background: #ffffff !important;
   padding: 12px 14px !important;
   margin-bottom: 0 !important;
   box-shadow: none !important;
}

.cart-promo-group-container .inline-promo-progress {
   margin-bottom: 0 !important;
   background: #F4F5F7 !important;
   border: 1px solid #EAECEF !important;
   border-radius: 5px !important;
   padding: 14px 16px !important;
   box-shadow: none !important;
   overflow: visible !important;
}

.cart-set-item-card {
   background: #ffffff;
   border: 1px solid #F0F0F0;
   border-radius: 5px;
   padding: 14px;
   margin-bottom: 12px;
   position: relative;
   display: flex;
   gap: 14px;
   align-items: center;
   box-shadow: none;
   box-sizing: border-box;
   width: 100%;
   max-width: 100%;
}

.cart-set-item-card.has-badge,
.cart-set-item-card:has(.set-badge-tag) {
   margin-top: 15px !important;
}

#modal-cart .cart-box .cart-set-item-card,
.cart-set-item-card {
   display: flex !important;
   flex-direction: row !important;
   align-items: center !important;
   gap: 14px !important;
   grid-template-columns: none !important;
   grid-template-areas: none !important;
   background: #ffffff;
   border: 1px solid #F0F0F0;
   border-radius: 5px;
   padding: 14px;
   margin-bottom: 12px;
   position: relative;
   box-shadow: none !important;
   box-sizing: border-box !important;
   width: 100% !important;
   max-width: 100% !important;
   min-width: 0 !important;
}

#modal-cart .cart-box .cart-set-item-card .details,
.cart-set-item-card .details {
   min-width: 0 !important;
   flex: 1 1 auto !important;
}

.cart-set-timer-bar {
   background: #E8F3F1 !important;
   border-radius: 5px !important;
   padding: 10px 14px !important;
   display: flex !important;
   flex-direction: row !important;
   justify-content: space-between !important;
   align-items: center !important;
   flex-wrap: wrap !important;
   gap: 6px 10px !important;
   box-shadow: none !important;
   box-sizing: border-box !important;
   width: 100% !important;
   max-width: 100% !important;
}

.cart-set-timer-bar .timer-label {
   font-family: 'Proxima Nova', sans-serif !important;
   font-size: 13px !important;
   color: #2C3539 !important;
   font-weight: 500 !important;
   flex: 1 1 auto !important;
   min-width: 0 !important;
   line-height: 1.3 !important;
   word-break: break-word !important;
}

.cart-set-timer-bar .timer-clock {
   display: inline-flex !important;
   align-items: center !important;
   gap: 6px !important;
   color: #179280 !important;
   font-weight: 700 !important;
   font-size: 14px !important;
   flex: 0 0 auto !important;
   margin-left: auto !important;
   white-space: nowrap !important;
   max-width: 100% !important;
}

/* Standalone Product Cart Card */
#modal-cart .cart-box .cart-standalone-item-card,
.cart-standalone-item-card {
   display: flex;
   flex-direction: column;
   gap: 10px;
   background: #ffffff;
   border: 1px solid #F0F0F0;
   border-radius: 5px;
   padding: 14px;
   margin-bottom: 12px;
   position: relative;
   box-shadow: none;
   box-sizing: border-box;
   width: 100%;
   max-width: 100%;
   min-width: 0;
   grid-template-columns: none;
   grid-template-areas: none;
}

#modal-cart .cart-box .cart-standalone-item-card .cart-item-main,
.cart-standalone-item-card .cart-item-main {
   display: flex;
   flex-direction: row;
   align-items: center;
   gap: 14px;
   width: 100%;
}

#modal-cart .cart-box .cart-standalone-item-card .image,
.cart-standalone-item-card .image {
   width: 58px;
   height: 58px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
}

#modal-cart .cart-box .cart-standalone-item-card .image img,
.cart-standalone-item-card .image img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
   border-radius: 5px;
}

#modal-cart .cart-box .cart-standalone-item-card .details,
.cart-standalone-item-card .details {
   flex: 1 1 auto;
   min-width: 0;
   padding-right: 28px;
}

#modal-cart .cart-box .cart-standalone-item-card .details .title,
.cart-standalone-item-card .details .title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   color: #222222;
   font-weight: 600;
   text-decoration: none;
   display: block;
   margin-bottom: 10px;
   line-height: 1.35;
}

#modal-cart .cart-box .cart-standalone-item-card .info-row,
.cart-standalone-item-card .info-row {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
}

.cart-standalone-item-card .cart-qty-control,
.cart-set-item-card .cart-qty-control,
.cart-qty-control {
   display: inline-flex;
   align-items: center;
   gap: 6px;
}

.cart-standalone-item-card .cart-qty-btn,
.cart-set-item-card .cart-qty-btn,
.cart-qty-btn {
   background: none;
   border: none;
   font-size: 22px;
   color: #179280;
   font-weight: 400;
   cursor: pointer;
   padding: 0 4px;
   line-height: 1;
   box-shadow: none !important;
}

.cart-standalone-item-card .cart-qty-input,
.cart-set-item-card .cart-qty-input,
.cart-qty-input {
   width: 44px;
   height: 34px;
   border: 1px solid #E2E8F0;
   border-radius: 5px;
   text-align: center;
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   font-weight: 600;
   color: #222222;
   outline: none;
   background: #ffffff;
   padding: 0;
   box-sizing: border-box;
   box-shadow: none !important;
}

.cart-standalone-item-card .price-box,
.cart-set-item-card .price-box,
.price-box {
   text-align: right;
}

.cart-standalone-item-card .price-box s,
.cart-set-item-card .price-box s {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   color: #9b9b9b;
   display: block;
   line-height: 1.2;
}

.cart-standalone-item-card .price-box .total,
.cart-set-item-card .price-box .total {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 18px;
   font-weight: 700;
   color: #222222;
   display: inline-block;
   margin: 0;
   text-align: right;
}

.cart-standalone-item-card .price-box s+.total,
.cart-set-item-card .price-box s+.total {
   color: #179280;
}

.cart-standalone-item-card .cart-qty-discount-badge {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   background: #FAF4FD;
   border: 1px solid #C779DC;
   border-radius: 5px;
   padding: 6px 12px;
   box-shadow: none;
   margin-top: 10px;
}

.cart-standalone-item-card .cart-qty-discount-badge .badge-percentage {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 18px;
   font-weight: 700;
   color: #A64AC9;
   line-height: 1;
}

.cart-standalone-item-card .cart-qty-discount-badge .badge-text {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   color: #2C3539;
   line-height: 1;
}

.cart-standalone-item-card .cart-qty-discount-badge .badge-date {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 11px;
   color: #9b9b9b;
   margin-left: 2px;
}

.cart-standalone-item-card .remove {
   position: absolute;
   top: 14px;
   right: 14px;
   cursor: pointer;
}

.cart-standalone-item-card .alert-liqpay-warning {
   color: #e53e3e;
   text-align: center;
   font-size: 12px;
   margin-bottom: 6px;
}

/* Promotional Set Item Card Child Elements */
.cart-set-container .set-badge-tag.joint-badge {
   top: -11px;
   left: 14px;
   z-index: 5;
}

.cart-set-item-card .image {
   width: 58px;
   height: 58px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
}

.cart-set-item-card .image img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
   border-radius: 5px;
}

.cart-set-item-card .details {
   flex: 1 1 auto;
   min-width: 0;
   padding-right: 28px;
}

.cart-set-item-card .details .title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   color: #222222;
   font-weight: 600;
   text-decoration: none;
   display: block;
   margin-bottom: 8px;
   line-height: 1.35;
}

.cart-set-item-card .info-row {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   margin-top: 4px;
}

.cart-set-item-card .quantity {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 13px;
   color: #999999;
   display: inline-block;
   margin: 0;
}

.cart-set-item-card .total {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 17px;
   font-weight: 700;
   color: #222222;
   display: inline-block;
   margin: 0;
   text-align: right;
}

.cart-set-item-card .remove {
   position: absolute;
   top: 14px;
   right: 14px;
   cursor: pointer;
}

.cart-set-item-card .alert-liqpay-warning {
   color: #e53e3e;
   text-align: center;
   font-size: 12px;
   margin-bottom: 6px;
}

.cart-set-timer-bar .timer-clock img {
   width: 18px;
   height: 18px;
}

.checkout-payment-warning {
   color: #e53e3e;
   text-align: center;
   font-size: 12px;
   display: block;
   margin-bottom: 8px;
}

.btn:disabled,
.btn[disabled] {
   cursor: not-allowed;
   opacity: 0.6;
}

/* Product Packaging/Volume Switcher */
.product-packaging-switcher {
   margin-top: 20px;
   margin-bottom: 20px;
}

.product-packaging-title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   font-weight: 700;
   color: #222222;
   margin-bottom: 10px;
   text-transform: capitalize;
}

.product-packaging-options {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   align-items: center;
}

.product-packaging-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 8px 18px;
   font-family: 'Proxima Nova', sans-serif;
   font-size: 15px;
   font-weight: 400;
   color: #666666;
   background: #F4F4F4;
   border: 1px solid #E2E8F0;
   border-radius: 5px;
   text-decoration: none;
   cursor: pointer;
   transition: all 0.2s ease-in-out;
   box-shadow: none;
}

.product-packaging-btn:hover {
   background: #E8F3F1;
   border-color: #179280;
   color: #179280;
}

.product-packaging-btn.active {
   background: #E8F3F1;
   border: 1.5px solid #179280;
   color: #179280;
   font-weight: 600;
   cursor: default;
}

.item-product-static {
   background: #ffffff;
   border: 1px solid #f4f4f4;
   border-radius: 5px;
   padding: 18px 16px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   position: relative;
   box-shadow: none !important;
   transition: border-color 0.2s ease;
}

.item-product-static:hover {
   border-color: #179280;
}

.item-product-static .timer {
   background: #EAF6F4;
   color: #179280;
   border-radius: 5px;
   padding: 6px 12px;
   font-size: 14px;
   font-weight: 600;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   width: fit-content;
   margin-bottom: 5px;
}

.item-product-static .timer .timer-icon {
   width: 16px;
   height: 16px;
}

.item-product-static .btn-buy,
.item-product .btn-buy,
.item-product .btn {
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   background: #179280 !important;
   color: #ffffff !important;
   border: 1px solid #179280 !important;
   border-radius: 5px !important;
   padding: 10px 16px !important;
   font-family: 'Proxima Nova', sans-serif !important;
   font-size: 12px !important;
   font-weight: 700 !important;
   text-decoration: none !important;
   cursor: pointer !important;
   transition: all 0.2s ease-in-out !important;
   box-shadow: none !important;
   line-height: 1 !important;
   width: fit-content !important;
}

.item-product-static .btn-buy:hover,
.item-product .btn-buy:hover,
.item-product .btn:hover {
   background: #12796a !important;
   border-color: #12796a !important;
   color: #ffffff !important;
}

/* Global font enforcement */
*,
*::before,
*::after,
html,
body,
input,
button,
select,
textarea,
optgroup,
option,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
div,
li,
ul,
ol,
label,
b,
strong,
i,
em,
small,
s,
del,
table,
tr,
th,
td,
blockquote,
header,
footer,
nav,
section,
article,
aside,
main {
   font-family: 'Proxima Nova', sans-serif !important;
}

/* KeyCRM Chat Widget Button / Next container / Chat Window */
#__next,
.KeyCRM-toggleButtonContainer,
[class*="KeyCRM-toggleButtonContainer"] {
   z-index: 1 !important;
}

.KeyCRM-chatWindowContainer,
[class*="KeyCRM-chatWindowContainer"],
div[class*="KeyCRM-chatWindowContainer"] {
   z-index: 10 !important;
}

/* ==========================================================================
   Account Cashback & Bonus Page
   ========================================================================== */
.reward-page-wrapper {
   width: 100%;
}

.reward-summary-cards {
   display: flex;
   align-items: stretch;
   gap: 20px;
   flex-wrap: wrap;
   margin-bottom: 35px;
}

.reward-summary-card {
   display: flex;
   align-items: center;
   gap: 16px;
   padding: 18px 24px;
   border-radius: 5px;
   box-shadow: none !important;
   box-sizing: border-box;
   min-width: 250px;
   flex: 0 1 auto;
}

.reward-summary-card--available {
   background: #F8EDF5;
   border: 1.5px solid #E8CBE2;
}

.reward-summary-card--pending {
   background: #FFFFFF;
   border: 1.5px solid #E2E8F0;
}

.reward-summary-card__icon {
   width: 32px;
   height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.reward-summary-card__icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.reward-summary-card__content {
   display: flex;
   flex-direction: column;
}

.reward-summary-card__label {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 14px;
   line-height: 18px;
   color: #475569;
   font-weight: 400;
}

.reward-summary-card__value {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 22px;
   line-height: 28px;
   font-weight: 700;
   color: #222222;
   margin-top: 3px;
}

.reward-history-title {
   font-family: 'Proxima Nova', sans-serif;
   font-size: 26px;
   font-weight: 700;
   color: #222222;
   margin: 0 0 20px 0;
   line-height: 1.2;
}

.reward-history-container {
   background: #FFFFFF;
   border: 1px solid #E8ECF1;
   border-radius: 5px;
   box-shadow: none !important;
   overflow: hidden;
}

.reward-history-list {
   display: flex;
   flex-direction: column;
}

.reward-history-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 18px 24px;
   border-bottom: 1px solid #F1F5F9;
   font-family: 'Proxima Nova', sans-serif;
}

.reward-history-row:last-child {
   border-bottom: none;
}

.reward-col-date {
   flex: 1.2;
   font-size: 15px;
   color: #222222;
   font-weight: 400;
   text-align: left;
}

.reward-col-desc {
   flex: 1.6;
   font-size: 15px;
   color: #222222;
   font-weight: 400;
   text-align: center;
}

.reward-order-link {
   color: inherit;
   text-decoration: none;
   transition: color 0.2s ease;
}

.reward-order-link:hover {
   color: #179280;
}

.reward-col-points {
   flex: 1.2;
   font-size: 16px;
   font-weight: 600;
   text-align: right;
}

.reward-col-points.is-positive {
   color: #179280;
}

.reward-col-points.is-negative {
   color: #EF4444;
}

.reward-col-points.is-zero {
   color: #94A3B8;
}

.reward-history-empty {
   padding: 40px 24px;
   text-align: center;
   color: #94A3B8;
   font-size: 15px;
   font-family: 'Proxima Nova', sans-serif;
}

.reward-pagination-wrapper {
   padding: 16px 24px;
   border-top: 1px solid #F1F5F9;
}

@media (max-width: 767px) {
   .reward-summary-cards {
      flex-direction: column;
      gap: 12px;
   }

   .reward-summary-card {
      width: 100%;
      min-width: 100%;
   }

   .reward-history-row {
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      padding: 14px 16px;
   }

   .reward-col-date,
   .reward-col-desc,
   .reward-col-points {
      flex: unset;
      width: 100%;
      text-align: left;
   }
}

/* ==========================================================================
   Combo Promotion Box (Bulk Discount - Category Combo)
   Strict compliance with standards: border-radius: 5px, box-shadow: none !important
   ========================================================================== */
.combo-promotion-wrapper {
   background: #F4F4F4;
   border: none !important;
   border-radius: 5px !important;
   box-shadow: none !important;
   padding: 24px 28px;
   margin: 35px 0;
   position: relative;
   font-family: 'Proxima Nova', sans-serif;
}

.combo-promotion-header {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 20px;
   margin-bottom: 20px;
   flex-wrap: wrap;
}

.combo-promotion-title-box {
   max-width: 680px;
}

.combo-promotion-badge {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   background: #ffffff;
   border: none !important;
   color: #179280;
   font-size: 13px;
   font-weight: 700;
   padding: 4px 10px;
   border-radius: 5px !important;
   margin-bottom: 8px;
   box-shadow: none !important;
}

.combo-promotion-title {
   font-size: 20px;
   font-weight: 700;
   color: #2C3539;
   margin: 0 0 6px;
   line-height: 1.3;
}

.combo-promotion-desc {
   font-size: 14px;
   color: #555555;
   margin: 0;
   line-height: 1.4;
}

.combo-promotion-link {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   color: #179280;
   font-size: 14px;
   font-weight: 600;
   text-decoration: underline;
   text-underline-offset: 3px;
   align-self: center;
   white-space: nowrap;
   transition: color 0.2s;
}

.combo-promotion-link:hover {
   color: #11695c;
}

.combo-promotion-slider-wrap {
   position: relative;
   padding: 0 8px;
}

.combo-promotion-slider-wrap .swiper {
   width: 100%;
   padding: 8px 2px 14px;
}

.combo-promotion-slider-wrap .item-product {
   background: #ffffff;
   border: none !important;
   border-radius: 5px !important;
   box-shadow: none !important;
   padding: 12px;
   height: 100%;
   display: flex;
   flex-direction: column;
}

.combo-promotion-slider-wrap .item-product:hover {
   box-shadow: none !important;
}

.combo-promotion-slider-wrap .combo-prev,
.combo-promotion-slider-wrap .combo-next {
   width: 36px;
   height: 36px;
   border-radius: 5px !important;
   background: #ffffff;
   border: none !important;
   color: #179280;
   display: flex;
   align-items: center;
   justify-content: center;
   top: 50%;
   transform: translateY(-50%);
   box-shadow: none !important;
   cursor: pointer;
   z-index: 10;
}

.combo-promotion-slider-wrap .combo-prev {
   left: -14px;
}

.combo-promotion-slider-wrap .combo-prev:after {
   transform: rotate(180deg);
}

.combo-promotion-slider-wrap .combo-next {
   right: -14px;
}

.combo-promotion-slider-wrap .combo-prev:after,
.combo-promotion-slider-wrap .combo-next:after {
   font-size: 14px;
   font-weight: bold;
   color: #179280;
}

@media (max-width: 768px) {
   .combo-promotion-wrapper {
      padding: 16px;
      margin: 24px 0;
   }

   .combo-promotion-header {
      gap: 12px;
      margin-bottom: 14px;
   }

   .combo-promotion-title {
      font-size: 17px;
   }

   .combo-promotion-slider-wrap .combo-prev {
      left: -6px;
   }

   .combo-promotion-slider-wrap .combo-next {
      right: -6px;
   }
}