.wc-block-checkout{
    min-height:700px;
}
/* Default: All stars are empty (black) with no stroke */
.woocommerce p.stars a::before {
    content: "\e021";
    color: #000;
    -webkit-text-stroke: 0;
    text-stroke: 0;
}

/* Hover state: By default, all stars become filled (yellow with stroke) */
.woocommerce p.stars:hover a::before {
    content: "\e020";
    color: yellow;
    -webkit-text-stroke: 0.5px black;
    text-stroke: 0.5px black;
}

/* But reset stars after the hovered one to empty with no stroke */
.woocommerce p.stars:hover a:hover ~ a::before {
    content: "\e021";
    color: #000;
    -webkit-text-stroke: 0;
    text-stroke: 0;
}
.wc-block-grid__product img{max-height: 250px;}
.wc-block-grid__products {margin-top: 1.5rem;}
/* Selected state: Fill the clicked star and all preceding ones yellow with stroke */
.woocommerce p.stars.selected a.active::before,
.woocommerce p.stars.selected a:not(.active)::before {
    content: "\e020";
    color: yellow;
    -webkit-text-stroke: 0.5px black;
    text-stroke: 0.5px black;
}

/* And ensure stars after the active one remain empty with no stroke */
.woocommerce p.stars.selected a.active ~ a::before {
    content: "\e021";
    color: #000;
    -webkit-text-stroke: 0;
    text-stroke: 0;
}
.card-body a {
    min-height: 125px;
    align-content: center;
}

.btn-add-cart:hover, .btn-add-cart:active, .btn-add-cart:focus, .btn-add-cart.active, .btn-add-cart.added, .products-archive .card-footer a.button.loading::after{
    background-color: transparent !important;
    color: var(--primary-hover) !important;
    border-color: transparent !important;
    transition: .5s all ease-in-out;
}

.btn-add-cart{
    background-color: var(--primary-hover) !important;
    height: 45px;
    padding: 2px 15px;
    text-align: center;
    color: white !important;
    border: none;
    transition: .5s all ease-in-out;
}
a.added_to_cart {
    top: .5em;
    color: var(--primary-hover);
    position: relative;
}
.related li{
    min-height: 340px;
}
a.btn-outline {
  font-family: "Roboto", system-ui, -apple-system, Tahoma, helvetica, arial, sans-serif;
  border: 1px solid #a2a2a2 !important;
  border-radius: 4px;
  color: var(--secondary);
  outline: 0 none;
  padding: 15px 25px;
  position: relative;
  transition: all 1s ease-in-out;
  cursor: pointer;
}
.btn-outline:hover {
  border: 1px solid transparent;
  color: var(--secondary);
}
a.btn-alt{
  background: var(--primary);
    color: var(--primary) !important;
    transition: all .5s ease-in-out
}
a.btn-alt:hover{
  background: white;
  color:  var(--primary) !important;
    transition: all .15s ease-in-out
}
a.btn-alt::after,a.btn-alt::before{
  border-color:  var(--primary) !important;
}
.btn-outline::after, .btn-outline::before {
  border-radius: 4px;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transform: scale(0);
  transition: all 0.9s ease-in-out 0s;
  width: 100%;
}
.btn-outline:hover,
.btn-outline:focus,
.btn-outline:active,
.btn-outline.active{
    box-shadow: .5em .5em 1em .2em rgba(0, 0, 0, .15) !important;
    border: transparent !important;
    transition: box-shadow .3s ease-in-out;
}
.btn-outline::before {
  border-bottom: 1px solid var(--secondary);
  border-left: 1px solid var(--secondary);
  transform-origin: 0 100%;
}

.btn-outline::after {
  border-right: 1px solid var(--secondary);
  border-top: 1px solid var(--secondary);
  transform-origin: 100% 0;
}
.bg-primary{
    background-color: var(--primary) !important;
}
.btn-primary{
    background-color: var(--primary-hover);
    padding: 2px 15px;
    text-align: center;
    color: white;
    border: none;
    transition: .5s all ease-in-out;
}
.btn-primary:hover, .btn-primary:active{
    background-color: transparent !important;
    color: var(--primary) !important;
    border-color: transparent !important;
    transition: .5s all ease-in-out;
}

.btn-primary::after, .btn-primary::before {
  border-radius: 4px;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transform: scale(0);
  transition: all 0.9s ease-in-out 0s;
  width: 100%;
}
.btn-primary::before {
  border-bottom: 1px solid var(--primary-hover)!important;
  border-left: 1px solid var(--primary-hover)!important;
  transform-origin: 0 100%;
}

.btn-primary::after {
  border-right: 1px solid var(--primary-hover)!important;
  border-top: 1px solid var(--primary-hover)!important;
  transform-origin: 100% 0;
}
.btn-outline:hover::after, .btn-outline:hover::before,.btn-primary:hover::after, .btn-primary:hover::before {
  transform: scale(1);
}
.input-group-text i{
    cursor: pointer;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
.bg-product {
    background: url(../images/product-archive-hero.webp) no-repeat center center;
    background-size: cover;
}
.text-white-white {
  color:  var(--white) !important;
}
.text-white {
  color: white !important;
}
.text-red{
    color:var(--red);
}
.text-primary {
    color: var(--secondary) !important;
}
.bg-transparent {
    background-color: transparent !important;
}
a.text-primary:hover, a.text-primary:focus {
  color: var(--primary-hover) !important;
}
.text-secondary {
  color: rgba(0,0,0,.15) !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #a1b6ff !important;
}



/********** Custom CSS ************/
.font-weight-medium {
  font-weight: 500;
}

.font-weight-semi-bold {
  font-weight: 600;
}

[class^=flaticon-]:before,
[class*=" flaticon-"]:before,
[class^=flaticon-]:after,
[class*=" flaticon-"]:after {
  font-size: inherit;
  margin-left: 0;
}

.navbar-light .navbar-nav .nav-link {
  padding: 20px 10px;
  color: #1C1C1C;
  outline: none;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
  color: var(--secondary);
}

@media (max-width: 991.98px) {
  .navbar-light .navbar-nav .nav-link {
    padding: 5px 0px;
  }
}

.navbar-vertical.navbar-light .navbar-nav .nav-link {
  padding: 8px 30px;
  border-bottom: 1px solid rgba(0,0,0,.15);
}

.slick-active:hover img,
.attachment-large img:hover, .product-img img:hover{
  transition: .5s ease-in-out;
}

.slick-active:hover img,
.attachment-large img:hover, .product-img img:hover {
  transform: scale(1.1);
}
#header-carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carousel-caption {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.section-title {
  position: relative;
  display: inline-block;
  letter-spacing: 1px;
  font-weight: bold;
  color: #1C1C1C;
}

.section-title span {
  position: relative;
  background: #ffffff;
  z-index: 1;
}

.section-title::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  background: #1C1C1C;
}

.offer img {
  position: absolute;
  max-width: 50%;
  max-height: 90%;
  bottom: 0;
}

.offer .text-md-right img {
  left: 0;
}

.offer .text-md-left img {
  right: 0;
}

.cat-item .cat-img img{
  transition: .5s;
}

.cat-item:hover .cat-img img{
  transform: scale(1.2);
}

.contact-form .help-block ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.back-to-top {
  position: fixed;
  display: none;
  right: 30px;
  bottom: 30px;
  z-index: 11;
  animation: action 1s infinite alternate;
}

@keyframes action {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-15px);
  }
}


/** OVERRIDES BOOTSTRAP **/

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border .75s linear infinite;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: spinner-grow .75s linear infinite;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

.text-white-white {
  color: #fff !important;
}
.text-red{
    color:var(--red);
}
.text-primary {
  color: var(--secondary) !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: var(--secondary-hover) !important;
}

.text-secondary {
  color: rgba(0,0,0,.15) !important;
}

/********** Custom CSS ************/
.font-weight-medium {
  font-weight: 500;
}

.font-weight-semi-bold {
  font-weight: 600;
}

[class^=flaticon-]:before,
[class*=" flaticon-"]:before,
[class^=flaticon-]:after,
[class*=" flaticon-"]:after {
  font-size: inherit;
  margin-left: 0;
}

.navbar-light .navbar-nav .nav-link {
  padding: 20px 10px;
  color: #1C1C1C;
  outline: none;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
  color: var(--secondary);
  border:none !important;
  color: white !important;
}

@media (max-width: 991.98px) {
  .navbar-light .navbar-nav .nav-link {
    padding: 5px 0px;
  }
}

.navbar-vertical.navbar-light .navbar-nav .nav-link {
  padding: 8px 30px;
  border-bottom: 1px solid rgba(0,0,0,.15);
}

#header-carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carousel-caption {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.section-title {
  position: relative;
  display: inline-block;
  letter-spacing: 1px;
  font-weight: bold;
  color: #1C1C1C;
}

.section-title span {
  position: relative;
  background: #ffffff;
  z-index: 1;
}

.section-title::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  background: #1C1C1C;
}

.offer img {
  position: absolute;
  max-width: 50%;
  max-height: 90%;
  bottom: 0;
}

.offer .text-md-right img {
  left: 0;
}

.offer .text-md-left img {
  right: 0;
}


.contact-form .help-block ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.back-to-top {
  position: fixed;
  display: none;
  right: 30px;
  bottom: 30px;
  z-index: 11;
  animation: action 1s infinite alternate;
}

@keyframes action {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-15px);
  }
}

/** cart aux **/
.width-125{
    min-width:125px;
}
.quantity .input-text{
    height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
}
.quantity-group .btn-sm{
    height: calc(1.5em + 0.5rem + 2px);
}
table-quantity{
    min-width: 125px;
}
.quantity .input-text:hover, .quantity .input-text:active, .quantity .input-text:focus{
    border-color: #EDF1FF !important;
}
.quantity .input-text{
    width:1%;
    overflow-clip-margin: 0px !important;
    overflow: clip !important;
    position: relative;
    flex: 1 1 auto;
    width: 20%;
    min-width: 30.25px;
    margin-bottom: 0;
    text-align: center !important;
    background-color: #EDF1FF !important;
    border-color: #EDF1FF !important;
    font-feature-settings: normal;
    -webkit-appearance: none!important;
    -moz-appearance: none!important;
    appearance: none!important;
    margin: 0 !important;
}
.empty-cart i{
    color: var(--bs-heading-color);
}
/* Chrome, Safari, Edge, Opera */
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.quantity input[type=number] {
  -moz-appearance: textfield;
    appearance: none!important;
}
/********* Misc CSS *********/
.border-right{
    border-right: 1px solid rgb(224, 224, 224) !important;
}
/**********************************/
/********* Breadcrumb CSS *********/
/**********************************/
.breadcrumb-wrap {
    position: relative;
    width: 100%;
    background: rgba(0,0,0,0);
}

.breadcrumb-wrap .breadcrumb {
    margin: 15px 0 0 0;
    padding: 0;
    background: none;
}

.woocommerce-breadcrumb a, .woocommerce .breadcrumb a{
    color: var(--secondary)  !important;
}
.woocommerce-breadcrumb .breadcrumb-item .active,  .woocommerce .breadcrumb .active{
    color: #6c757d !important;
}
/** misc **/
.form-submit input{
    background-color: var(--primary) !important;
    color: white !important;
}
.form-submit input:hover{
    background-color: var(--primary-hover) !important;
}

/** loading button spinner **/
.loading-icon {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-top-color: #3498db;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  margin-left: 8px;
  display: inline-block;
  vertical-align: middle;
}
/* Inline spinner for light/dark button contexts */
.loading-icon-dark {
  width: 16px;
  height: 16px;
  border-top-color: #ffffff !important; /* White top for strong contrast */
  border: 2px solid rgba(255, 255, 255, 0.1) !important; /* Lighter border for dark backgrounds */
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  margin-left: 8px; /* Space between the text and spinner */
  display: inline-block;
  vertical-align: middle;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.loading-button {
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  margin: 10px;
}
.btn-checkout.loading-button.active {
  background-color: var(--primary-hover) !important;
  color:white !important;
}
.woocommerce nav.woocommerce-pagination ul li a{
    color:var(--primary);
}
.woocommerce nav.woocommerce-pagination ul li a:hover{
    color:var(--secondary);
}
.woocommerce textarea ,.woocommerce input {
    background-color: white;
    padding-left: 12px;
    border: 1px solid rgba(0,0,0,.1);
}
.qty input[type=number]::-webkit-outer-spin-button,
.qty input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.qty input[type=number] {
  -moz-appearance: textfield;
}