:root {
  --bs-border-radius: 0;
  --bs-border-radius-sm: 0;

  --bs-primary: #151515; 
  --bs-primary-focus: #000000; 
  --bs-primary-text-emphasis: #151515;
  --bs-primary-rgb: 111, 66, 193;
  --bs-primary-bg: #c2c2c2;
  --bs-primary-bg-subtle: #ececec;
  --bs-primary-border-subtle: #ececec;

  --bs-success: #59b15e;
  --bs-success-text-emphasis: #093310;
  --bs-success-rgb: 113, 197, 93;
  --bs-success-bg-subtle: #DBE7DD;
  --bs-success-border-subtle: #DBE7DD;

  --bs-danger: #eb5261;
  --bs-danger-text-emphasis: #330509; 
  --bs-danger-rgb: 235, 82, 97;
  --bs-danger-bg-subtle: #F9D7DA; 
  --bs-danger-border-subtle: #F9D7DA;

  --bs-warning: #eeca5e;
  --bs-warning-text-emphasis: #413308;
  --bs-warning-rgb: 238, 202, 94;
  --bs-warning-bg-subtle: #FFF3CD;
  --bs-warning-border-subtle: #FFF3CD;
}
.text-bg-success {
  color: var(--bs-success-text-emphasis) !important;
  background-color: var(--bs-success-bg-subtle) !important;
}
.text-bg-danger {
  color: var(--bs-danger-text-emphasis) !important;
  background-color: var(--bs-danger-bg-subtle) !important;
}
.text-bg-warning {
  color: var(--bs-warning-text-emphasis) !important;
  background-color: var(--bs-warning-bg-subtle) !important;
}
.btn-success {
  --bs-btn-color: var(--bs-success-text-emphasis);
  --bs-btn-bg:  var(--bs-success-bg-subtle);
  --bs-btn-border-color:  var(--bs-success-bg-subtle);
  --bs-btn-hover-color: var(--bs-success-text-emphasis);
  --bs-btn-hover-bg: var(--bs-success);
  --bs-btn-hover-border-color:  var(--bs-success);
  --bs-btn-active-bg:  var(--bs-success);
  --bs-btn-active-border-color:  var(--bs-success);
  --bs-btn-disabled-color: var(--bs-success-text-emphasis);
  --bs-btn-disabled-bg:  var(--bs-success-bg-subtle);
  --bs-btn-disabled-border-color:  var(--bs-success-bg-subtle);
}
.btn-danger {
  --bs-btn-color: var(--bs-danger-text-emphasis);
  --bs-btn-bg: var(--bs-danger-bg-subtle);
  --bs-btn-border-color: var(--bs-danger-bg-subtle);
  --bs-btn-hover-color: var(--bs-danger-text-emphasis);
  --bs-btn-hover-bg: var(--bs-danger);
  --bs-btn-hover-border-color: var(--bs-danger);
  --bs-btn-active-bg: var(--bs-danger);
  --bs-btn-active-border-color: var(--bs-danger);
  --bs-btn-disabled-color: var(--bs-danger-text-emphasis);
  --bs-btn-disabled-bg: var(--bs-danger-bg-subtle);
  --bs-btn-disabled-border-color: var(--bs-danger-bg-subtle);
}
.btn-outline-primary{
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}
@font-face {
  font-family: 'Avenir';
  src: url('../fonts/Avenir-Heavy.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Avenir';
  src: url('../fonts/Avenir-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Avenir';
  src: url('../fonts/Avenir-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
.btn-primary {color: #fff;background-color: var(--bs-primary);border-color: var(--bs-primary);}
.btn-primary:hover,
.btn-primary:focus {background-color: var(--bs-primary-bg);border-color: var(--bs-primary-bg);color: #fff;}
.btn-primary:active,
.btn-primary.active {background-color: #000 !important;border-color: #000 !important;color: #fff;}
.btn-primary:disabled,
.btn-primary.disabled {background-color: var(--bs-primary);border-color: var(--bs-primary);color: #fff;}
*{margin: 0; padding: 0; box-sizing: border-box;}
body{font-family: 'Avenir', sans-serif;overflow-x: hidden;}
a, a:hover{text-decoration: none; color: inherit;}
button, button:active, button:focus{border:none;  outline:none; background-color:inherit; text-decoration: none;}
html{scroll-behavior: smooth;  -webkit-overflow-scrolling: touch;}
.transition-5{transition: .5s ease-in-out;}
.transition-3{transition: .3s ease-in-out;}
.transition-2{transition: .2s ease-in-out;}
.transition-1{transition: .1s ease-in-out;}
.pointer{cursor: pointer;}
.bg-image{background-position: center; background-repeat: no-repeat; background-size: cover;}
.fs-91{font-size: clamp(40px, 10vw, 91px);}
.fs-30{font-size: clamp(20px, 10vw, 30px);}
.fs-18{font-size: 18px;}
.fs-16{font-size: 16px;}
.fs-15{font-size: 15px;}
.bg-grey{ background-color: #EAEBEB; }
.color-grey{color: #898989;}
.hr-grey{color: #D6D6D6;}
.text-justify{text-align: justify;}
.validation-error{font-size: 12px; color: red;}
input.validation-error,textarea.validation-error,select.validation-error{border: solid 1px red;font-size: inherit;color: inherit;}
.subtitle{font-weight: 800; font-size: clamp(20px, 2vw, 35px);}
.header__btn,.menu__item--desktop,.menu__item--mobile { color: #FFFFFF; transition: .3s ease-in-out;}
.header__btn:hover,.menu__item--desktop:hover,.menu__item--mobile:hover { color: rgb(255 255 255 / 75%) !important; }
/* HEADER */
.header.desktop{ display: flex; align-items: center; padding: 25px 15px; justify-content: space-between; background: #000000;}
.header.desktop.transparent{background-color: transparent;}
.header__btn {display:flex;gap:15px; font-size: 15px;padding-right: 20px;padding-left: 20px;}
.header.desktop.scroll {background-color: #000000;padding: 8px 15px;}
.header__btn_box{border-right: 1px solid rgb(255 255 255 / 43%);}
.header__buttons{border-left: 1px solid rgb(255 255 255 / 43%);}
.menu__item_has_child::after{
  content: '\F282';
  font-family: bootstrap-icons !important;
  margin-left: 6px;
  position: relative;
  top: 3px;
}
.header.desktop.transparent-black:not(.scroll){background-color: transparent;}
.header.desktop.transparent-black:not(.scroll) .header__btn_box,.header.desktop.transparent-black:not(.scroll) .header__buttons{border-color: #000;}
.header.desktop.transparent-black:not(.scroll) .header__btn,.header.desktop.transparent-black:not(.scroll) .menu__list > li > .menu__item--desktop {color: #000;}
/* Menu */
.menu__list{ align-items: center; gap: clamp(18px, 2vw, 30px); }
@media (max-width: 1057px) and (min-width: 992px) {.menu__list {gap: 10px;}}
.menu__item--desktop {display: block;border-bottom: 1px solid transparent;padding: 8px 6px;font-size: 15px;}
.menu__item--desktop.active{ border-color: #FFFFFF; }
.menu__item--desktop > .menu-logo{ width: 55px; }
.header.scroll .menu__item--desktop > .menu-logo{ width: 40px; }
/* Menu mobile */
.header.mobile {
  position: fixed;
  right: 10px;
  bottom: 25px;
  left: 10px;
  z-index: 1030;
  background-color: #040404;
  padding: 8px 15px;
  border-radius: 15px;
}
.menu--mobile{justify-content: space-around;}
.menu__item--mobile > .menu-logo{ width: 40px; }
.menu__item--mobile{font-size: clamp(11px, 2vw, 13px);text-align: center;}
.menu__item--mobile-icon{display: block;font-size: clamp(20px, 3vw, 35px);line-height: 0;}
.submenu-desktop {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.95);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
  padding: 25px 40px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1000;
}
.submenu-desktop.active {max-height: 600px;opacity: 1;visibility: visible;}
.submenu-desktop .menu__item--desktop {
  color: #fff;
  padding: 5px 0;
  font-size: 14px;
  transition: color 0.2s ease;
}
.submenu-desktop .menu__item--desktop:hover {color: #ccc;}
.menu__item_has_child {position: relative;}
.menu__item_has_child::after {
  display: inline-block;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}
.menu__item_has_child.active::after {transform: rotate(180deg);}
/* FOOTER */
.footer {background-color: #151515;}
.footer a, .footer p{font-size: 15px; opacity: 0.8;}
.footer_social{
  display: inline-flex;
  align-items: center;
  justify-content: center; 
  background-color: #fff; 
  margin: 0px 3px; 
  border-radius: 50%; 
  padding: 4px 8px 0px;
  opacity: 1 !important;
  transform: translateY(0px);  
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.footer_social:hover{ opacity: 0.8 !important; transform: translateY(-5px);}
.footer_social i{color: #000;font-size: 24px;}
/* HOME */
.home_banner {height: 70vh;overflow: hidden;position: relative;
  /* top: -50px; */
}
.home_banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.home_banner__text{z-index: 2;}
.home_banner__text h1{line-height: 85px;}
.video-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56%;
  overflow: hidden;
}

.video-container iframe {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
@media (min-width: 992px) {
  .video-container iframe {
    display: block;
  }
}
.category-card {position: relative;overflow: hidden;border-radius: 25px;height: 350px;}
.category-card__image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.4s ease;
}
.category-card__overlay {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.3) 10%, transparent 100%);
  transition: background 0.4s ease;
  padding: 20px;
}
.category-card__title {
  position: absolute;
  bottom: 20px;
  left: 30px;
  font-size: 26px;
  font-weight: 600;
  margin: 0;
  transition: transform 0.4s ease;
}
.category-card__hover {
  position: absolute;
  bottom: 10px;
  padding-left: 30px;
  padding-right: 30px;
  opacity: 0;
  transform: translateY(15px);
  transition: all 0.4s ease;
  width: 100%;
}
.category-card__hover p {color: #fff;font-weight: 500;margin: 0px 0;}
.category-card:hover .category-card__image {transform: scale(1.05);}
.category-card:hover .category-card__hover {opacity: 1;transform: translateY(0);}
.category-card:hover .category-card__overlay {background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 20%, transparent 100%);}
.category-card:hover .category-card__title {transform: translateY(-80px);transition: transform 0.4s ease;}
@media (max-width: 1600px) {#slide_new {width: 100vw;padding-left: calc(50% - 50vw);}}
/* PREVIEW PRODUCT */
.pvw__product__img_box {width: 100%;height: 250px;overflow: hidden;}
.pvw__product_img {width: 100%;aspect-ratio: 1 / 1;object-fit: cover;transition: transform .3s ease-in-out;border-radius: 20px;}
.pvw__product_box:hover .pvw__product_img {transform: scale(1.01);}
.pvw__product_name {transition: font-weight .3s ease;}
.pvw__product_box:hover .pvw__product_name {font-weight: 800;}
.pvw__product__img_box--loading {width: 100%;height: 250px;border-radius: 20px;background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);background-size: 200% 100%;animation: loadingShimmer 1.5s infinite;}
@keyframes loadingShimmer {0% {background-position: 200% 0;}100% {background-position: -200% 0;}}