/*--------------------------------------------------------------
            ROOT VARIABLES with Bootstrap Classes
--------------------------------------------------------------*/

:root {
  --white:                          #fefefe;
  --black:                          #0e0e0e;
  --grey:                           #696969;
  --primary-color:                  #7bb1db;
  --secondary-color:                #dcd049;
  --accent-color:                   #1f242c;

  --bg-discount:                    #f91628;
  --product-title:                  #1f242c;
  --product-price:                  #dcd049;
  --product-del:                    #696969;
  
  --btn-rad:                         0.5rem;
  --btn-padd:               0.5rem 1rem;
  --btn-bg:                          #a6a598;
  --btn-color:                       #f7f7f7;
  --btn-bg-hover:                    #f7f7f7;
  --btn-color-hover:                 #dcd049;
  --btn-border:        1px solid transparent;
  --btn-border-hover:      1px solid #dcd049;
  
  --show-bg:                       #da6f2700;
  --show-color:                    #757575;
  --show-bg-hover:                 #d8a14300;
  --show-color-hover:              #dcd049;
  
  --remove-color:                  #660000;
  --remove-bg:                     #f7f5f3;
  --remove-border:                 #660000;
  --remove-hover-color:            #f7f5f3;
  --remove-hover-bg:               #660000;
  --remove-hover-border:           #f7f5f3;

  --quantity-btn-bg:               #252525;
  --quantity-btn-color:            #f7f7f7;
  --quantity-btn-bg-hover:         #f7f7f7;
  --quantity-btn-color-hover:      #252525;
  --quantity-btn-rad:              0.5rem;
  --quantity-btn-border:           1px solid transparent;
  --quantity-btn-border-hover:     1px solid #252525;
  
  --quantity-item-bg:              #fefefe;
  --quantity-item-color:           #6b7b74;
  --quantity-item-rad:             0.5rem;
  --quantity-item-border:          1px solid #757575;
  /*--quantity-item-bg-hover:       #d8a143;*/
  /*--quantity-item-color-hover:    #0e0e0e;*/
  
  --table-header-bg:               #a6a598;
  /*--bs-table-color:               #6b7b74;*/
  /*--bs-table-color-tr:            #ca984e;*/
  /*--bs-table-bg:                  #ca984e;*/
  /*--bs-table-bg-type:              #ca984e;*/
  /*--bs-table-border-color:        #6b7b74;*/
  /*--bs-table-accent-bg:       transparent;*/

  /* Aditional */
  /*--mustard: #ca984e;*/
  /*--brick: #954942;*/
  /*--olive: #6b7b74;*/
}

.pagination {
  --bs-pagination-active-bg: var(--primary-color);
  --bs-pagination-active-border-color: var(--primary-color);
}

.dir-ltr {
  direction: ltr;
}
.dir-rtl {
  direction: rtl;
}

/*----------------------------------------------
                SITE STRUCTURE 
----------------------------------------------*/

section{
    padding: 4rem 0;
}

.nav-svg{
    width: 20px;
    height: 20px;
    fill: var(--primary-color);
    margin: 0 5px;
}

.logo-profile{
    max-width: 100px;
    height: auto;
    margin-top: 1rem;
}

.modal-svg{
    width: 21px;
    height: 21px;
    fill: var(--white);
    margin: 0 5px;
    cursor: pointer;
}

.user-svg{
  width: 81px;
  height: 81px;
  fill: var(--primary-color);
  margin: 10px 5px;
}

.nav-tabs .nav-link.active{
    color: var(--primary-color) !important;
}

/* product tabs */
.product-tabs .nav-tabs {
  justify-content: flex-end;
  border: none;
}
.product-tabs .nav-tabs .nav-link.active,
.product-tabs .nav-tabs .nav-item.show .nav-link {
  border-bottom: 3px solid var(--bs-primary);
}

/* products-carousel */
.products-carousel .swiper,
.products-carousel .swiper-container {
  overflow: visible;
}

.product-item .button-area .quantity {
  padding: 0.5rem;
}
.product-item .button-area {
  display: none;
  position: absolute;
  text-align: center;
  background: #fff;
  width: 100%;
  left: 0;
  bottom: -55px;
  z-index: 1;
  box-shadow: 0px 20px 44px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease-out; 
}
.product-item {
  position: relative;
  padding: 0;
  background: #fefefe;
  border-radius: 0;
  margin-bottom: 15px;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0);
  /* transition: box-shadow 0.3s ease-out, margin 0.3s ease-out; */
}
.product-item:hover .button-area {
  display: block;
}
.product-item:hover {
  /* z-index: 1; */
  /* margin-bottom: -50px; */
  /* max-height: 500px; */
  box-shadow: 0px 0px 44px rgba(0, 0, 0, 0.08);
}
.product-item figure {
  text-align: center;
}
.product-item figure img {
  max-height: 210px;
  height: auto;
}
.product-item .product-qty {
  width: 85px;
}
.product-item .btn-link {
  text-decoration: none;
}
.product-item #quantity {
  height: auto;
  width: 28px;
  text-align: center;
  border: none;
  margin: 0;
  padding: 0;
}
.product-item .btn-number {
  width: 26px;
  height: 26px;
  line-height: 1;
  text-align: center;
  background: #ffffff;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  color: #222;
  padding: 0;
}

.item-price{
    font-size: 16px;
    font-weight: 700;
    color: var(--product-price);
}

.card-title {
  /*min-height: 50px;*/
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

/* cart */
.cart .product-qty {
  min-width: 130px;
}

.thanks-congrats{
    color: var(--primary-color);
}

.input-newsletter{
    display: block;
    width: 100%;
    height: auto !important;
    padding: 1.5rem 4rem 1.5rem 1rem !important;
    font-size: 1rem;
    font-weight: 400;
    line-height: normal !important;
    color: var(--grey);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--white);
    background-clip: padding-box;
    border: none;
    border-radius: 20px;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.newsletter-btn {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translate(0, -50%);
    display: inline-block;
    color: var(--white);
    background: var(--secondary-color);
    padding: 6px 20px;
    border-radius: 20px;
    border: none;
    outline: none;
    transition: all 0.3s ease;
}

/*--------------------------------------------------------------
                        Search Popup
--------------------------------------------------------------*/

.search-popup {
  background-color: #fefefe;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 9999;
  -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s;
  -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s;
  transition: opacity 0.3s 0s, visibility 0s 0.3s;
}
.search-popup.is-visible {
  opacity: 1;
  visibility: visible;
  /*cursor: -webkit-image-set(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23FFF' d='M20 1l-1-1-9 9-9-9-1 1 9 9-9 9 1 1 9-9 9 9 1-1-9-9'/%3E%3C/svg%3E") 1x, url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M20 1l-1-1-9 9-9-9-1 1 9 9-9 9 1 1 9-9 9 9 1-1-9-9'/%3E%3C/svg%3E") 2x), pointer;*/
  /*cursor: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M20 1l-1-1-9 9-9-9-1 1 9 9-9 9 1 1 9-9 9 9 1-1-9-9'/%3E%3C/svg%3E"), pointer;*/
  -webkit-transition: opacity 0.3s 0s, visibility 0s 0s;
  -moz-transition: opacity 0.3s 0s, visibility 0s 0s;
  transition: opacity 0.3s 0s, visibility 0s 0s;
}
.search-popup-container {
  background-color: transparent;
  position: relative;
  top: 50%;
  margin: 0 auto;
  padding: 0;
  width: 90%;
  max-width: 800px;
  text-align: center;
  box-shadow: none;
  cursor: default;
  -webkit-transform: translateY(-40px);
  transform: translateY(-40px);
  -webkit-backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.is-visible .search-popup-container {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.search-popup-form {
  position: relative;
  margin: 0 0 3em 0;
}
.search-popup-form .form-control {
  padding: 0 0 0.375em 0;
  font-size: 2em;
}
.search-popup-form #search-popup-submit {
  display: none;
}
.search-popup .search-popup-close {
  display: block;
  position: absolute;
  top: 2em;
  right: 2em;
  margin: -0.5em;
  padding: 0.5em;
  line-height: 0;
}
.search-popup .search-popup-close:hover {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.search-popup .search-popup-close i {
  display: block;
  position: relative;
  width: 1em;
  height: 1em;
  fill: rgba(0, 0, 0, 0.5);
}
.search-popup .search-popup-close:hover i {
  fill: rgba(0, 0, 0, 1);
}
.search-popup .cat-list-title {
  margin-top: 40px;
  margin-bottom: 10px;
  font-size: 0.6em;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.search-popup .cat-list {
  margin: 0;
  list-style-type: none;
}
.search-popup .cat-list-item {
  display: inline-block;
  margin-bottom: 0;
  letter-spacing: 0.015em;
  font-size: 2em;
}
.search-popup .cat-list-item a {
  position: relative;
}
.search-popup .cat-list-item a::after {
  background: none repeat scroll 0 0 #fff;
  content: "";
  height: 1px;
  border-bottom: 1px solid #ff9697;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 100%;
  width: 100%;
  -webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  transition: height 0.3s, opacity 0.3s, transform 0.3s;
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}
.search-popup .cat-list-item a:hover::after {
  height: 1px;
  opacity: 1;
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
}
.search-popup .cat-list-item::after {
  content: "/";
  padding: 0 5px;
  line-height: 1;
  color: rgba(0, 0, 0, 0.5);
  vertical-align: text-top;
}
.search-popup .cat-list-item:last-child::after {
  display: none;
}

@media only screen and (max-width: 991px) {
  .search-popup .cat-list-item,
  .search-popup-form .form-control {
    font-size: 1.425em;
  }
}
@media only screen and (max-width: 767px) {
  .search-popup .search-popup-close {
    top: 1em;
    right: 1em;
  }
}
@media only screen and (max-width: 575px) {
  .search-popup .cat-list-item,
  .search-popup-form .form-control {
    font-size: 1.125em;
  }
  .search-popup .search-popup-close {
    top: 1em;
    right: 1em;
  }
}

.search-popup input[type="search"] {
  font-size: 24px;
  height: 60px;
  padding: 26px;
}
.search-popup .search-form button {
  top: 12px;
  right: 15px;
}
.search-popup .search-form button svg {
  height: 28px;
  width: 28px;
}

#search-popup-close {
  position: absolute;
  /*right: 10%;*/
  /*top: 0;*/
  right: 25px;
  top: 20px;
  /*font-size: 3rem;*/
  cursor: pointer;
}

#search-popup-close svg {
  width: 30px;
}

.search-box {
  background: var(--gray-color);
  position: relative;
}
.close-button {
  position: absolute;
  top: 20px;
  right: 120px;
  cursor: pointer;
  z-index: 9;
}
.search-box input.search-input {
  font-size: 1.3em;
  width: 70%;
  height: 30px;
  padding: 25px;
  border-radius: 80px;
  border-color: rgb(0 0 0 / 25%);
  background: transparent;
}
.search-box svg {
  width: 22px;
  height: 22px;
  color: var(--primary-color);
}
.search-box svg.search {
  margin-left: -50px;
}

.search-form input[type="search"].search-field {
  border: none;
  background: #f1f1f1;
  width: 100%;
  border-radius: 50px;
  padding: 10px 15px;
}
.search-form input[type="search"].search-field::focus {
  border-color: #af9aaa;
}
.search-form button {
  position: absolute;
  top: 6px;
  right: 9px;
  background: transparent;
  border: none;
}

/*#searchResults {*/
/*    position: absolute;*/
/*    top: 40px;*/
/*    left: 30px;*/
/*    z-index: 666;*/
/*    max-width: 320px;*/
/*    width: 100%;*/
/*}*/
#searchResults {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translate(-50%, 0px);
    z-index: 999;
    /*max-width: 400px;*/
    max-width: 100%;
    width: 100%;
    background: #fff;
    /*border: 1px solid #ddd;*/
    border-radius: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    overflow-y: auto;
    max-height: 400px;
    
}

.search-box .card {
    transition: background-color 0.2s ease;
}
.search-box .card:hover {
    background-color: #f8f9fa;
}

.searchInput{
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    /*text-align: end;*/
    background-clip: padding-box;
    border: 1px solid var(--primary);
    background: transparent;
    border-radius: 0.5rem;
    transition: all 0.3s ease-in-out;
}

.searchInputBtn{
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.4rem 0.8rem;
    z-index: 1;
    border: none;
    background-color: var(--btn-bg);
    color: var(--btn-color);
    border-radius: 0 0.5rem 0.5rem 0;
}

/******************************************************************************
                                END Search
******************************************************************************/

/********************************** Product Start **********************************/


/********************************** Product END **********************************/

/* 4. Product
/*----------------------------------------------*/
.product-store .product-card .cart-concern {
  bottom: 75px;
  width: 100%;
  display: flex;
  justify-content: center;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.3s ease-out;
  opacity: 0;
}
.product-store .product-card:hover .cart-concern {
  bottom: 90px;
  opacity: 1;
}
.product-card .cart-concern svg {
  width: 16px;
  height: 16px;
  fill: var(--light-color);
  margin-left: 9px;
}
.product-card .card-detail span,
.product-card span {
  font-size: 1rem;
  /*margin: 0 10px 0 0;*/
  color: var(--secondary-color);
}
.product-card del {
  font-size: 0.8rem;
  margin: 0 0.4rem;
  color: var(--grey);
}
.product-card {
  display: flex;
  flex-direction: column;
  /*align-items: center;*/
  position: relative;
  box-shadow: 2px 2px 10px #dbdbdb;
  border-radius: 10px;
  /*padding: 0 10px;*/
  transition: all 0.3s ease-in;
}

/*.category-card,*/
.category-slide {
  display: flex;
  flex-direction: column;
  /*align-items: center;*/
  justify-content: center;
  position: relative;
  border-radius: 10px;
  transition: all 0.3s ease-in;
  cursor: pointer;
  /*border-radius: 50%;*/
  /*aspect-ratio: 1/1;*/
  /*overflow: hidden;*/
  /*background: #fefefe;*/
  /*padding: 40px;*/
  /*box-shadow: 2px 2px 10px #dbdbdb;*/
}

.category-slide img {
  max-width: 100%;
  height: auto;
  border-radius: 50%;
  aspect-ratio: 1/1;
  background: #fefefe;
}

.business-selected {
  box-shadow: 2px 2px 10px var(--primary-color);
}

.category-card:hover,
.category-slide:hover {
  /*box-shadow: 2px 2px 10px #dbdbdb;*/
}

.category-holder {
  display: flex;
  gap: 1em;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  cursor: grab;
}

.category-holder::-webkit-scrollbar {
  display: none;
}

.category-card {
  flex-shrink: 0;
  max-width: 200px;
  scroll-snap-align: start;
  transition: transform 0.3s ease, opacity 0.3s ease;
  /*background-color: #f9f9f9;*/
  border-radius: 10px;
  /*box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);*/
}

.category-card.hidden {
  transform: scale(0.9);
  opacity: 0;
  pointer-events: none;
}

.category-img-holder {
  /*border-radius: 10px 10px 0 0;*/
  border-radius: 50%;
  /*overflow: hidden;*/
  box-shadow: 2px 2px 10px var(--primary-color);
}

.category-img-holder img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 50%;
  aspect-ratio: 1/1;
  cursor: pointer;
}

.category-title {
  color: var(--black);
  text-align: center;
  padding: 0.5em 0;
  cursor: pointer;
}

.category-card:hover {
  transform: translateY(-5px);
  /*box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);*/
}

.image-category {
  text-align: center;
  max-width: 100px;
}

.image-category img {
  max-width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 5px;
}

.product-card:hover {
  /*box-shadow: none;*/
  box-shadow: 2px 2px 10px var(--primary-color);
}

.card-detail,
.cart-detail {
  width: 100%;
  background: #f7f7f7;
  padding: 15px 10px;
  /*border-radius: 5px;*/
}

@media only screen and (max-width: 575px) {
  .product-store .product-card .card-detail {
    padding: 10px;
  }
}



.product-discount {
  position: absolute;
  z-index: 1;
  background-color: var(--bg-discount);
  color: var(--white);
  padding: 0 5px;
  font-size: 10px;
  top: 10px;
}

.product-discount span{
  color: var(--white) !important;
  font-size: 10px;
}

.cart-item-img {
  max-width: 40px;
  height: auto;
}

.image-list {
  list-style: none;
  /*display: flex;*/
  /*flex-wrap: wrap;*/
  columns: 100px;
  padding: 0;
  margin: 10px 0 0 0;
}

.image-list li {
  /*width: 100px;*/
  cursor: pointer;
  margin: 0 0 15px 0;
  border: 1px solid #dbdbdb;
  border-radius: 5px;
  transition: all 0.3s ease;
}

.box-shadow {
  box-shadow: 1px 1px 10px #c0c0c0;
}

#product-image {
  /*cursor: pointer;*/
}

/* Modal Styles */
#image-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.image-modal-content {
  position: relative;
  max-width: 50%;
  height: auto;
}

#modal-image {
  width: 100%;
  height: auto;
  border-radius: 5px;
}

#close-modal {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
}

.showBtn {
  position: absolute !important;
  outline: none;
  border: none;
  box-shadow: none;
  background: var(--show-bg);
  color: var(--show-color);
  right: 3rem;
  top: 1rem;
  transition: all 0.15s ease;
}

.showBtn:hover {
  background: var(--show-bg-hover);
  color: var(--show-color-hover);
}

.shopBtn {
  display: inline-block;
  color: var(--btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: var(--btn-bg);
  border: var(--btn-border);
  padding: var(--btn-padd);
  font-size: 1.5rem;
  border-radius: var(--btn-rad);
  transition: all 0.15s ease-in-out;
  flex: 0 0 auto;
}

.shopBtn:hover {
  color: var(--btn-color-hover);
  background-color: var(--btn-bg-hover);
  border: var(--btn-border-hover);
}

.shopBtn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.collapseBtn {
  display: inline-block;
  color: var(--btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0rem 0.2rem;
  font-size: 1rem;
  border-radius: 5px;
  transition: all 0.15s ease-in-out;
}

.collapseBtn svg{
    fill: var(--primary-color);
    width: 14px;
}

.category-list {
  max-height: 300px;
  overflow: auto;
  margin: 0 0 1rem 0;
}

.quantity-control {
  margin: 0 10px 0 0;
  /*background: #e7e7e7;*/
  padding: 0px 0px;
  border-radius: 10px;
  /*width: 80px;*/
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.removeBtn {
  display: inline-block;
  /* background: var(--secondary-color); */
  background: var(--remove-bg);
  color: var(--remove-color);
  padding: 2px 8px;
  border: 1px solid var(--remove-border);
  border-radius: 10px;
  cursor: pointer;
  /* border: none; */
  outline: none;
  min-height: 30px;
  transition: all 0.3s ease;
}

.removeBtn svg {
  width: 10px;
  height: 20px;
  fill: var(--remove-color);
}

.removeBtn:hover {
  background: var(--remove-hover-bg);
  border: 1px solid var(--remove-hover-border);
}

.removeBtn:hover svg {
  fill: var(--remove-hover-color);
}

/*.cart_count {*/
  /*background: var(--primary-color);*/
/*  width: 16px;*/
/*  height: 16px;*/
/*  border-radius: 50%;*/
/*  font-size: 14px;*/
/*  position: absolute;*/
/*  color: var(--primary-color);*/
/*  top: 0;*/
/*  right: -6px;*/
/*  margin: 0;*/
/*  display: block;*/
/*  text-align: center;*/
/*}*/

@media only screen and (max-width: 769px) {
/*  .cart_count {*/
/*    top: 0px;*/
/*    right: 42%;*/
/*  }*/
}

.pagination {
  overflow-x: scroll;
  scrollbar-width: none;
}
.pagination::-webkit-scrollbar {
  display: none;
}

/* .pagination li a { */
.pagination .pagination-btn {
  margin: 0 10px;
  display: inline-block;
  color: var(--btn-color);
  background: var(--btn-bg);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 1px solid var(--btn-bg);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  border-radius: 5px;
  transition: all 0.15s ease-in-out;
}
.pagiActive a,
.pagination .pagination-btn:hover{
  background-color: var(--btn-hover) !important;
  color: var(--black) !important;
}

.image-holder {
  text-align: center;
  background: #fefefe;
  /*margin-bottom: 15px;*/
}

.image-holder img {
  border-radius: 10px;
  /*border: 1px solid #0e0e0e;*/
  /*box-shadow: 2px 2px 10px #dbdbdb;*/
  /*min-height: 250px;*/
  height: 250px;
  object-fit: contain;
}

.divThanks {
  background: #f7f7f7;
  color: var(--secondary-color);
  padding: 30px;
  text-align: center;
}

.qty-change {
  background: #fefefe;
  width: 50px;
}
.more-btn {
  font-size: 16px;
}

.cart-tab-del {
  display: flex !important;
  min-height: 65px;
  align-items: center;
}

.mobile-show,
.mobile-flex {
  display: none !important;
}

/* ============ desktop view ============ */
@media all and (min-width: 992px) {
  .pagination {
    justify-content: center;
  }
  /*.image-holder img {*/
  /*  height: 250px;*/
  /*}*/
  /*.grid-recent {*/
  /*  gap: 1em;*/
  /*  display: grid;*/
  /*  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));*/
  /*  grid-template-rows: repeat(2, auto);*/
    /*overflow: hidden;*/
  /*}*/
}
/* ============ desktop view .end ============ */

/* ============ mobile view ============ */
@media (max-width: 991px) {
  .mobile-show {
    display: block !important;
  }
  .mobile-flex {
    display: flex !important;
  }
  .mobile-hide {
    display: none !important;
  }
  /*.grid-recent {*/
  /*  display: flex;*/
  /*  gap: 1em;*/
  /*  overflow-x: scroll;*/
  /*  scroll-snap-type: x mandatory;*/
  /*  scrollbar-width: none;*/
  /*}*/
  /*.grid-recent::-webkit-scrollbar {*/
  /*  display: none;*/
  /*}*/
  /*.grid-recent .swiper-slide {*/
  /*  scroll-snap-align: start;*/
  /*  max-width: 50%;*/
  /*}*/
  /*.image-holder img {*/
  /*  height: 120px;*/
  /*}*/
}
/* ============ mobile view .end// ============ */

/* =============================================================================
                                Price Slider
============================================================================= */

::selection {
  color: #fff;
  background: var(--secondary-color);
}
.price-wrapper {
  /*width: 400px;*/
  /*background: #fff;*/
  /*border-radius: 10px;*/
  /*padding: 20px 25px 40px;*/
  /*box-shadow: 0 12px 35px rgba(0,0,0,0.1);*/
  margin: 15px 0;
}
.price-input {
  width: 100%;
  display: flex;
  margin: 10px 0;
}
.price-input .price-field {
  /*display: flex;*/
  width: 100%;
  /*height: 45px;*/
  align-items: center;
}
.price-field input {
  width: 100%;
  /*height: 100%;*/
  outline: none;
  /*font-size: 19px;*/
  /*margin-left: 12px;*/
  border-radius: 5px;
  text-align: center;
  border: 1px solid #999;
  -moz-appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.price-input .separator {
  width: 130px;
  display: flex;
  /*font-size: 19px;*/
  align-items: end;
  justify-content: center;
}
.price-slider {
  height: 5px;
  position: relative;
  background: #ddd;
  border-radius: 5px;
}
.price-slider .progress {
  height: 100%;
  left: 0%;
  right: 0%;
  position: absolute;
  border-radius: 5px;
  background: var(--secondary-color);
}
.range-input {
  /*position: relative;*/
}
.range-input input {
  position: absolute;
  width: 100%;
  height: 5px;
  top: -5px;
  background: none;
  pointer-events: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
/*input[type="range"]::-webkit-slider-thumb {*/
/*  height: 17px;*/
/*  width: 17px;*/
/*  border-radius: 50%;*/
/*  background: var(--secondary-color);*/
/*  pointer-events: auto;*/
/*  -webkit-appearance: none;*/
/*  box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);*/
/*}*/
/*input[type="range"]::-moz-range-thumb {*/
/*  height: 17px;*/
/*  width: 17px;*/
/*  border: none;*/
/*  border-radius: 50%;*/
/*  background: var(--secondary-color);*/
/*  pointer-events: auto;*/
/*  -moz-appearance: none;*/
/*  box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);*/
/*}*/

/* =============================================================================
                            END Price Slider
============================================================================= */

/* =============================================================================
                                Quantity
============================================================================= */
.item-quantity {
    display: block;
    /*width: 100%;*/
    height: calc(1.5em + 0.75rem + 2px) !important;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--quantity-item-color);
    background-color: var(--quantity-item-bg);
    background-clip: padding-box;
    border: var(--quantity-item-border);
    border-radius: var(--quantity-item-rad);
    transition: a 0.15s ease-in-out;
    width: 60px;
    text-align: center;
    margin: 0 5px;
}
.quantity-wrapper {
  display: flex;
  align-items: center;
}
.quantity-btn {
  background-color: var(--quantity-btn-bg);
  color: var(--quantity-btn-color);
  border: var(--quantity-btn-border);
  border-radius: var(--quantity-btn-rad);
  padding: 5px 15px;
  font-size: 1.2rem;
  cursor: pointer;
  transition: all 0.3s ease;
}
.quantity-btn:hover {
  background-color: var(--quantity-btn-bg-hover);
  color: var(--quantity-btn-color-hover);
  border: var(--quantity-btn-border-hover);
  transform: translateY(-1px);
}
.quantity-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cartAddBtn{
    border-radius: 0.5rem;
    padding: 0.5rem 1.5rem;
    box-shadow: 0 2px 0 rgba(0,0,0,.2);
}

.shopBtn.cartAddBtn:hover .sp-cart {
    fill: var(--primary) !important;
    transform: translateY(-1px);
}

.sp-cart {
    width: 18px;
    height: 18px;
    fill: var(--white);
}
/* =============================================================================
                            END Quantity
============================================================================= */

.cart_total_items {
  background: var(--btn-color);
  color: #fefefe;
  padding: 2px 8px;
  border-radius: 4px;
}

.list-none {
  list-style: none;
}

.out_of_stock {
  color: #d84848;
  border: 1px solid #d84848;
  border-radius: 5px;
  background: #f6b6b6;
  padding: 6px 24px;
  text-align: center;
  display: inline-flex;
}

/* =============================================================================
                                Table Shop
============================================================================= */

/*.table-shop{*/
/*    --bs-table-color: transparent;*/
/*}*/

.overflow-table {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

.overflow-table::-webkit-scrollbar {
  display: none;
}

/*#cartTable > :not(caption) > * > * {*/
/*  background-color: var(--primary-color) !important;*/
/*  border-bottom-width: thin;*/
/*  margin: 0;*/
/*}*/

.delivery-details-table{
  display: flex;
  flex-direction: column;
  min-width: 100px;
}

.table-shop th {
  background-color: var(--table-header-bg) !important;
  color: #fefefe !important;
}

/*.table-orders{*/
/*    width: 100%;*/
/*    background: transparent;*/
/*}*/

/* =============================================================================
                                Table END
============================================================================= */

/* =============================================================================
                            Product Page
============================================================================= */

.product-title{
    color: var(--product-title);
}

.product-price{
    color: var(--product-price);
}

.product-del,
.item-price-del{
    color: var(--product-del);
    font-size: 1.2rem;
}

.product-status-label{
    display: inline-block;
    color: var(--white);
    padding: 4px 12px;
    margin: 0;
    border-radius: 0.8rem;
}

.product-status-card{
    position: absolute;
    z-index: 1;
    color: var(--white) !important;
    padding: 0 5px;
    font-size: 0.8rem;
    top: 10px;
}

    
/* =============================================================================
                            Variants CSS
============================================================================= */
.product-brand{
  max-width: 200px;
  height: auto;
}

.variant-list{
    list-style: none;
    padding: 0;
    display: flex;
    gap: 1em;
}

.variant-color{
    display:inline-block;
    width:4rem;
    height:4rem;
    border:1px solid #ccc;
    /*margin:0.3rem;*/
    transition: all 0.3s ease;
}
.variant-size{
    padding:0.5rem 1rem;
    border:1px solid #ccc;
    /*margin:0.3rem;*/
    display:inline-block;
    color: var(--mustard);
    background: transparent;
    transition: all 0.3s ease;
}

.variant-size:hover,
.variant-color:hover{
    box-shadow: 1px 1px 10px #909090;
}

.variant-size:disabled,
.variant-color:disabled{
    opacity: 0.4;
    box-shadow: none;
}

/* =============================================================================
                            Filter CSS
============================================================================= */

.filterForm ul {
  list-style: none;
  padding-left: 2px;
  margin: 10px 0;
}

@media only screen and (max-width: 769px) {
    .filterForm{
        position: fixed;
        top: 0px;
        height: 100vh;
        background-color: var(--white);
        width: 100%;
        z-index: 999;
        padding: 30px;
        overflow-y: scroll;
        left: -150%;
        transition: all 0.7s ease 0s;
    }
}

.filter-hr{
    margin: 5px 0 !important;
}

/* =============================================================================
                            Category Navigation Page
============================================================================= */

.category-navigation {
  position: relative;
  /* background: #f8f9fa; */
  /*padding: 15px 0;*/
}

.category-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 3rem;
  border-radius: 0;
  /*margin: 0 auto;*/
}

@media only screen and (max-width: 769px) {
    .category-toggle {
        margin: 0 auto;
        justify-content: center;
        width: 100%;
    }
}

.category-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: white;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  display: none;
}

.category-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.category-item {
  position: relative;
}

.category-link {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  color: #333;
  text-decoration: none;
  transition: all 0.3s;
}

.category-link:hover {
  background: #f1f1f1;
  color: #0d6efd;
}

.category-img,
.sub-img {
  width: 30px;
  height: 30px;
  object-fit: cover;
  border-radius: 50%;
  margin-right: 10px;
}

.has-children > .category-link::after {
  content: "›";
  margin-left: auto;
  font-size: 1.2em;
}

.sub-menu {
  position: absolute;
  left: 100%;
  top: 0;
  width: 250px;
  background: white;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
}

.sub-item {
  padding: 0;
}

.sub-link {
  display: flex;
  align-items: center;
  padding: 8px 15px;
  color: #555;
  text-decoration: none;
}

.sub-link:hover {
  background: #f8f9fa;
  color: #0d6efd;
}

.mega-menu {
  position: static;
  width: 100%;
  padding: 20px;
  display: none;
  background: white;
  border-top: 1px solid #eee;
}

.mega-column {
  margin-bottom: 15px;
}

.mega-category {
  font-weight: 600;
  margin-bottom: 8px;
  color: #0d6efd;
}

.mega-submenu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mega-submenu li {
  padding: 5px 0;
}

.mega-submenu a {
  color: #555;
  text-decoration: none;
}

.mega-submenu a:hover {
  color: #0d6efd;
}

/* Mobile styles */
@media (max-width: 991.98px) {
  .sub-menu {
    position: static;
    width: 100%;
    box-shadow: none;
  }

  .mega-menu {
    padding: 10px;
  }

  .has-children > .category-link::after {
    content: "⌄";
  }
}

/* Mega Menu Enhancements */
.mega-menu {
  position: absolute;
  left: 0;
  right: 0;
  width: 800px; /* Fixed width as requested */
  max-width: 100vw; /* Ensure it doesn't overflow viewport */
  padding: 20px;
  background: white;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 4px 4px;
  z-index: 1001;
  display: none;
  overflow-y: auto; /* Scroll if content overflows vertically */
  max-height: 80vh; /* Prevent taking full screen height */
}

.mega-menu .container {
  padding: 0;
}

.mega-menu .row {
  margin: 0 -10px; /* Adjust gutter */
}

.mega-column {
  padding: 0 10px; /* Adjust gutter */
  flex: 0 0 25%; /* Force 4 columns (col-3) */
  max-width: 25%; /* Force 4 columns (col-3) */
}

.mega-category {
  font-weight: 600;
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid #eee;
}

.mega-category a {
  color: #0d6efd;
  text-decoration: none;
}

.mega-submenu {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}

.mega-submenu li {
  padding: 5px 0;
}

.mega-submenu a {
  color: #555;
  text-decoration: none;
  display: block;
  padding: 3px 0;
  transition: all 0.2s;
}

.mega-submenu a:hover {
  color: #0d6efd;
  padding-left: 5px;
}

/* Adjust positioning for desktop */
@media (min-width: 992px) {
  .mega-menu {
    left: auto;
    right: 0;
  }

  /* Align mega menu with parent item */
  .category-item:nth-last-child(-n + 3) .mega-menu {
    left: auto;
    right: 0;
  }

  .category-item:nth-child(-n + 3) .mega-menu {
    left: 0;
    right: auto;
  }
}

/* Mobile adjustments */
@media (max-width: 991.98px) {
  .mega-menu {
    width: 100%;
    position: static;
    box-shadow: none;
    border: 1px solid #eee;
    max-height: none;
  }

  .mega-column {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 15px;
  }
}

.dropdown-submenu-with-toggle {
    position: relative;
}

.dropdown-submenu-with-toggle .grandchildren-menu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    margin-top: -35px;
    z-index: 1000;
}

.dropdown-submenu-with-toggle:hover .grandchildren-menu,
.dropdown-submenu-with-toggle:focus-within .grandchildren-menu {
    display: block;
}

.dropdown-submenu-with-toggle .toggle-grandchildren {
    transition: transform 0.2s;
}

.dropdown-submenu-with-toggle .toggle-grandchildren.active {
    transform: rotate(90deg);
}

/* =============================================================================
                            Custom CSS
============================================================================= */

.sp-media {
  position: relative;
  display: inline-block;
}

#custom-overlay-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  max-height: 50%;
  pointer-events: none;
  max-width: 100px;
}

#custom-overlay img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

#custom-overlay-text {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  max-height: 50%;
  pointer-events: none;
}

#preview-image {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 120px;
  border: 1px dashed #ccc;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  cursor: pointer;
}

#preview-image img {
  max-width: 100%;
  display: block;
}

.preview-actions {
  position: absolute;
  top: 5px;
  right: 5px;
  display: flex;
  gap: 5px;
}

.preview-actions button {
  background: rgba(0, 0, 0, 0.6);
  border: none;
  color: white;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.preview-actions button:hover {
  background: rgba(0, 0, 0, 0.8);
}
