:root {
  /* General */
  --boxed: 85rem;
  --container-width: calc(100% - 10rem);
  --container-fluid-width: 100%;

  /* Dynamic height */
  --header-top-height: 5.709rem;
  --header-height: 9.813rem;

  /* Colors */
  --black: #000;
  --black-rgb: rgb(0, 0, 0, 100%);
  --white: #ffffff;
  --white-rgb: 255, 255, 255;

  /* Bootstrap */
  --bs-primary: #ce1d3f;
  --bs-primary-rgb: 206, 29, 63;
  --bs-secondary: #D31E29;
  --bs-secondary-rgb: 211, 30, 41;
  --bs-secondary-bg: #F6F6F6;
  --bs-tertiary: #052424;
  --bs-light-rgb: 242, 245, 248;
  --bs-gray: #121212;
  --bs-success: #3ebb8a;
  --bs-success-rgb: 62, 187, 138;
  --bs-success-bg-subtle: rgba(var(--bs-success-rgb), 0.2);
  --bs-light-green: rgba(var(--bs-green-rgb), 0.2);
  --bs-danger-bg-subtle: #f8e7e9;
  --bs-border-color: rgb(223 223 223 / 20%);
  --bs-border-color2: var(--bs-secondary-bg);
  --bs-body-color: #121212;
  --bs-body-bg: #fff;
  --bs-body-font-family: 'Google Sans';
  --bs-body-font-size: 1rem;

  --bs-link-color: var(--black);
  --bs-link-hover-color: var(--bs-primary);

  /* Font Family */
  --h-font: 'Google Sans';
  --btn-font: 'Google Sans';

  /* Font size */
  --text-nano: 0.725rem;
  --text-xxs: 0.775rem;
  --text-xs: 0.875rem;
  --text-sm: 1.25rem;
  --text-md: 1.5rem;
  --text-lg: 1.75rem;
  --text-xl: 2rem;
  --text-xxl: 2.5rem;
  --text-xxxl: 3rem;

  --heading-sm: 1.5rem;
  --heading-md: 1.8rem;
  --heading-lg: 2.5rem;
  --heading-xl: 3rem;
  --heading-xxl: 3.5rem;
  --heading-xxxl: 4rem;

  /* Transition */
  --transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}


/* ------------------------ FONTS ----------------------- */
@font-face {
  font-family: 'Google Sans';
  src: url('../fonts/Montserrat-VariableFont.ttf') format('truetype');
  font-style: normal;
  font-display: swap;
}


/* ---------------------- TYPOGRAPHY -------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--h-font);
}

h1 {
    font-size: var(--heading-lg);
    font-weight: 900;
    line-height: 1em;
}
h2 {
    font-size: var(--heading-md);
    font-weight: 700;
}
h3 {
    font-size: var(--text-md);
    font-weight: 500;
}
a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

.h-font,
.h-font > * {
    font-family: var(--h-font);
}

.text-regular,
.text-regular > * {
    font-size: 1rem;
}
.text-nano {
    font-size: var(--text-nano);
}
.text-xxs,
.text-xxs > * {
    font-size: var(--text-xxs);
}
.text-xs,
.text-xs > * {
    font-size: var(--text-xs);
}
.text-sm,
.text-sm > * {
    font-size: var(--text-sm);
    line-height: 1.2em;
}
.text-md,
.text-md > * {
    font-size: var(--text-md);
    line-height: 1em;
}
.text-lg,
.text-lg > * {
    font-size: var(--text-lg);
    line-height: 1.3em;
}
.text-xl,
.text-xl > * {
    font-size: var(--text-xl);
    line-height: 1.3em;
}
.text-xxl,
.text-xxl > * {
    font-size: var(--text-xxl);
    line-height: 1.3em;
}
.text-xxxl,
.text-xxxl > * {
    font-size: var(--text-xxxl);
    line-height: 1.1em;
}

.heading-sm,
.heading-sm > * {
    font-size: var(--heading-sm);
}
.heading-md,
.heading-md > * {
    font-size: var(--heading-md);
}
.heading-lg,
.heading-lg > * {
    font-size: var(--heading-lg);
    line-height: 1.2em;
}
.heading-xl,
.heading-xl > * {
    font-size: var(--heading-xl);
    line-height: 1em;
}
.heading-xxl,
.heading-xxl > * {
    font-size: var(--heading-xxl);
    line-height: 1.1em;
}
.heading-xxxl,
.heading-xxxl > * {
    font-size: var(--heading-xxxl);
    line-height: 1em;
}


.module-text a {
    text-decoration: underline;
}

p:last-of-type {
    margin-bottom: 0;
}
span {
    display: inline-block;
    line-height: 1.3;
}

.field-message {
    font-size: var(--text-xs);
    color: red;
}

.border-secondary {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color2) !important;
}


/* ---------------- End Typography ---------------- */



/* ------------------ Appearance ------------------ */

::selection {
  background: var(--bs-primary);
  color: var(--white);
}

.module-button {
  display: flex;
}
.btn-reset {
    all: unset;
    cursor: pointer;
}

.inset-0 {
    inset: 0;
}

.gradient-bottom:before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 50%);
    z-index: 1;
}

.btn {
    --bs-btn-font-family: var(--h-font);
    --bs-btn-font-weight: 500;
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: 0.7rem;
    --bs-btn-border-radius: var(--bs-border-radius-lg);
    --bs-btn-color: inherit;
    --bs-btn-active-color: inherit;
    --bs-btn-active-bg: inherit;
    --bs-btn-active-border-color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-shrink: 0;
    transition: var(--transition);
}
.btn-icon {
    --bs-btn-padding-x: 0.5rem;
    --bs-btn-padding-y: 0.5rem; 
}
.btn-primary {
    --bs-btn-color: var(--white);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-hover-bg: #0050ba;
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-border-color: #0050ba;
}
.btn-primary.btn-outline,
.module-button.btn-outline .btn-primary,
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-bg: transparent;
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
}
.btn-secondary {
    --bs-btn-color: var(--black);
    --bs-btn-hover-color: var(--black);
    --bs-btn-bg: var(--white);
    --bs-btn-hover-bg: var(--bs-gray-100);
    --bs-btn-border-color: var(--white);
    --bs-btn-hover-border-color: var(--white);
}
.btn-secondary.btn-outline,
.module-button.btn-outline .btn-secondary {
    --bs-btn-color: var(--white);
    --bs-btn-hover-color: var(--black);
    --bs-btn-bg: transparent;
    --bs-btn-hover-bg: var(--white);
    --bs-btn-border-color: var(--white);
    --bs-btn-hover-border-color: var(--white);
}
.btn-primary:hover,
.btn-secondary:hover {
  transition: var(--transition);
}
.btn-info {
    --bs-btn-bg: rgba(var(--bs-light-rgb), 1);
    --bs-btn-border-color: rgba(var(--bs-light-rgb), 1);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-color: var(--white);
    --bs-btn-hover-border-color: rgba(var(--bs-light-rgb), 1);
}

.btn-sm {
    --bs-btn-padding-x: 1.2rem;
    --bs-btn-padding-y: 0.6rem;
    --bs-btn-border-radius: var(--bs-border-radius);
    text-transform: none;
    font-weight: 600;
}
.btn-sm svg {
    width: 1.5em;
    height: auto;
}

.btn-icon svg {
    width: 1.3em;
    height: auto;
}

svg {
    width: 1rem;
    height: auto;
    flex-shrink: 0;
}
.icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.icon-sm svg {
    width: 0.775rem;
    height: auto;
}
.icon-sm svg {
    width: 0.875rem;
    height: auto;
}
.icon-md svg {
    width: 1rem;
    height: auto;
}
.icon-lg svg {
    width: 1.25rem;
    height: auto;
}
.icon-xl svg {
    width: 1.8rem;
    height: auto;
}

.transition {
    transition: var(--transition);
}






.tooltip {
    --bs-tooltip-color: #000;
    --bs-tooltip-bg: #fff;
    --bs-tooltip-font-size: 0.775rem;
    pointer-events: none;
    z-index: 9999;
}

.spinner-border-sm {
    --bs-spinner-border-width: 0.1em;
}

.accordion {
    --bs-accordion-btn-padding-x: 0;
    --bs-accordion-active-bg: var(--bs-body-bg);
    --bs-accordion-btn-focus-box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
    --bs-accordion-border-radius: none;
    --bs-accordion-inner-border-radius: none;
}
.accordion-item {
    border: none;
    border-bottom: 1px solid var(--bs-border-color2);
    box-shadow: none;
}
.accordion-body ul {
    padding-left: 0;
    margin: 0;
}

.modal {
    --bs-modal-border-radius: var(--bs-border-radius-xl);
}

.list-group {
    --bs-list-group-bg: transparent;
    --bs-list-group-border-width: 0;
    --bs-list-group-border-radius: 0;
    --bs-list-group-active-bg: var(--bs-primary);
    --bs-list-group-action-hover-bg: var(--white);
    gap: 0.25rem;
}

.help-block {
    font-size: var(--text-xxs);
    margin-top: 0.25rem;
}

.dropdown-toggle::after {
    display: none;
}

div[data-bs-toggle="collapse"] {
    cursor: pointer;
}
div[data-bs-toggle="collapse"][aria-expanded="true"] .dropdown-icon svg {
    transform: rotate(-180deg);
    transition: var(--transition);
}
.dropdown-icon svg {
    width: 0.6rem;
    height: auto;
    transition: var(--transition);
}


.hover-scale-trigger:hover .hover-scale-element {
    transform: scale(1.04);
}






/* ------------------ Custom Margins ------------------ */

.mt-6 {
    margin-top: 6rem;
}
.mb-6 {
    margin-bottom: 6rem;
}
.my-6 {
    margin-top: 6rem;
    margin-bottom: 6rem;
}

.pt-6 {
    padding-top: 6rem;
}
.pb-6 {
    padding-bottom: 6rem;
}
.py-6 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

/* ------------------ End Custom Margins ------------------ */



/* ------------------ Structure/Layout ------------------ */


html {
    font-size: 0.95238vw;
    scroll-behavior: auto;
    scrollbar-gutter: stable;
}

/* * {
  outline: 1px solid red !important;
} */



@media screen and (max-width: 991px) {
 .row {
    margin-left: 0;
    margin-right: 0;
  }

  .c-form .item-acceptance .acceptance label [type="checkbox"] { 
    margin-right: 0 !important;
  }
}

@media (max-width: 900px) {
    .text-img-banner .row.builder-row {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
    }

    .text-img-banner .row.builder-row .col-lg-6:first-child {
        order: 2;
    }

    .text-img-banner .row.builder-row .col-lg-6:last-child {
        order: 1;
    }

    .text-img-banner .banner-text { 
      padding-left: 0 !important;
    }
}

body {
    overflow-x: clip;
}


.container {
    max-width: var(--container-width);
}
.container-fluid {
    max-width: var(--container-fluid-width);
}

.container .builder-section .container, 
.container .builder-section .container-fluid,
form .container, 
form .container-fluid {
    padding: 0;
    max-width: 100%;
}
.builder-section {
    position: relative;
}


/* Footer */
.footer-menu-wrapper {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: space-between;
    justify-self: flex-end;
    gap: 10rem;
}
.footer-menu-wrapper a {
    display: block;
    padding: 0.25rem 0;
}

footer .module-contact a {
    display: block;
    padding: 0.25rem 0;
    font-weight: 300;
}

.footer-menu-wrapper .module-social {
    filter: invert();
}


/* ------------------ End Structure/Layout ------------------ */


/* Module contact */
.module-contact {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.module-contact ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.module-contact ul li a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.module-contact ul li a svg {
  width: 1.1rem;
  height: auto;
}

/* Module image */
.module-image img {
  width: 100%;
  height: auto;
}

/* Module footer menu */
.module-footer {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.module-footer ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.313rem;
  padding: 0;
  margin: 0;
}

/* Review user avatar */

.user-avatar {
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 100%;
  overflow: hidden;
}

.user-avatar .skeleton-loader {
  width: 100%;
  height: 100%;
  background-color: #ddd;
  animation: skeleton-loading 1.2s infinite ease-in-out;
}

.user-avatar .thumbnail {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.user-avatar .thumbnail .initials {
  color: var(--white);
  font-weight: 300;
}

/* User avatar */

.utility.account .user-avatar {
  width: 2.125rem;
  height: 2.125rem;
}

.utility.account .user-avatar .thumbnail .initials {
  font-size: 0.875rem;
  font-weight: 300;
}

/* Checkout thank you */

.checkout-thank-you .similar-products {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.checkout-thank-you .thanks-order-details {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.checkout-thank-you .thanks-order-details {
  min-height: calc(100vh - var(--header-height));
  justify-content: center;
}

/* Checkout */
.checkout-step-group {
  padding: var(--bs-gutter-x);
  margin-bottom: var(--bs-gutter-x);
  border-radius: var(--border-radius-md);
  background-color: var(--primary-color-10);
}

.checkout-step-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: var(--bs-gutter-x);
}

.checkout-step-number {
  display: block;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  border-radius: 2rem;
  text-align: center;
  background: var(--primary-color);
  color: var(--white);
  font-weight: 600;
}

.checkout-step-group .tab-pane {
  background: var(--white);
  padding: 1rem;
  background: rgba(255, 255, 255, 0.4);
  padding: 1rem;
  border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) var(--border-radius-sm);
}

.checkout-step-group .input-inner .user-address-box {
  background: rgba(255, 255, 255, 0.6);
  border: none;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.checkout-step-group .input-inner .address-box-action-buttons {
  border-top: none;
}

.checkout-step-group .input-inner .user-address-box .user-address-box-wrapper {
  padding: 0;
}

.checkout-step-group .input-inner .address-box-action-buttons .btn {
  justify-content: start;
  color: white;
  background: black;
  width: fit-content;
  border-radius: var(--border-radius-sm);
  padding: 0.5rem 1rem;
}

.checkout-step-group .input-inner .address-box-action-buttons .btn:hover {
  background: var(--primary-color);
}

.checkout-step-group .user-address-box,
.table .user-address-box {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: var(--border-radius-md);
  overflow: hidden;
}
.table .user-address-box.btn_choose_other_address_save:hover {
  background: #efeaff;
  cursor: pointer;
}

.checkout-step-group .user-address-box .user-address-box-wrapper,
.table .user-address-box .user-address-box-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
}

.checkout-step-group .user-address-box .user-address-box-wrapper .user-address-list,
.table .user-address-box .user-address-box-wrapper .user-address-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.313rem;
}

.checkout-step-group .user-address-box-wrapper .user-address-list .strong,
.table .user-address-box-wrapper .user-address-list .strong {
  font-weight: 500;
}

.checkout-step-group .user-address-box-wrapper .user-address-icon,
.table .user-address-box-wrapper .user-address-icon {
  background: rgba(0, 0, 0, 0.05);
  width: fit-content;
  border-radius: 100%;
  padding: 0.75rem;
}

.checkout-step-group .user-address-box-wrapper .user-address-icon svg,
.table .user-address-box-wrapper .user-address-icon svg {
  width: 1.875rem;
  height: 1.875rem;
}

.checkout-step-group .user-address-box-wrapper .user-address-icon svg path,
.table .user-address-box-wrapper .user-address-icon svg path {
  fill: var(--primary-color);
}

.checkout-step-group .address-box-action-buttons,
.table .address-box-action-buttons {
  display: flex;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.checkout-step-group .address-box-action-buttons .btn,
.table .address-box-action-buttons .btn {
  background: transparent;
  border: none;
  width: 100%;
  padding: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-fast);
  border-radius: 0;
}

.checkout-step-group .address-box-action-buttons .btn:hover,
.table .address-box-action-buttons .btn:hover {
  background: rgba(111, 85, 198, 0.05);
}

/* .checkout-step-group .address-box-action-buttons .btn:first-child,
.table .address-box-action-buttons .btn:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
} */

/* General modal */

#generalModal .modal-content {
  border: none;
  border-radius: var(--border-radius-md);
}

/* Cart modal */

#cartOverlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1031;
  opacity: 0;
  transition: all 1s cubic-bezier(0.76, 0, 0.3, 1) forwards;
}

#cartModal {
  display: none;
  position: fixed;
  top: 0;
  right: -100%;
  height: 100%;
  background-color: white;
  z-index: 1032;
  transition: right 1s cubic-bezier(0.76, 0, 0.3, 1) forwards;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  width: 100%;
  max-width: 500px;
}

#cartModal .cart-modal-content {
  height: 100%;
  display: flex;
  flex-direction: column;
}

#cartModal .cart-modal-content .cart-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  flex-direction: column;
}

#cartModal .cart-modal-content .cart-modal-header .close {
  padding: 1rem;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.5rem;
  background: var(--primary-color);
  color: #fff;
  font-weight: 400;
  cursor: pointer;
}

#cartModal .cart-modal-content .cart-modal-header .close svg path {
  stroke: #fff;
  stroke-width: 1.5px;
}

#cartModal .cart-modal-header .cart-modal-title {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
}

#cartModal .cart-modal-body {
  height: 100%;
  overflow: auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

#cartModal .cart-modal-body .cart-item {
  display: flex;
  padding: 1rem;
  gap: 1rem;
}

#cartModal .cart-modal-body .cart-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

#cartModal .cart-modal-body .cart-item .cart-image {
  position: relative;
  padding: 15%;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: var(--border-radius-sm);
  flex-shrink: 0;
  overflow: hidden;
}

#cartModal .cart-modal-body .cart-item .cart-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0.5rem;
}

#cartModal .cart-modal-body .cart-item .cart-item-body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  justify-content: space-between;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .quantity-control input::-webkit-outer-spin-button,
#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .quantity-control input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .quantity-control input[type="number"] {
  -moz-appearance: textfield;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .quantity-control button {
  background: transparent;
  border: none;
  padding: 0;
}

#cartModal .cart-modal-content .cart-modal-body .cart-item .cart-item-body .remove-item {
  padding: 0;
  border: none;
  background: transparent;
  width: fit-content;
  padding: 0.5rem;
  margin: -0.5rem;
  margin-left: auto;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-title-description {
  display: flex;
  flex-direction: column;
  gap: 0.313rem;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .quantity-control {
  padding: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: var(--border-radius-sm);
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .quantity-control .item-quantity-selector {
  border: none;
  cursor: pointer;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products {
  display: grid;
  grid-template: auto / 1fr 1fr;
  gap: 1rem;
  padding: 1rem;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item:hover {
  transition: var(--transition-fast);
  border-color: rgba(0, 0, 0, 0.2);
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item {
  flex-direction: column;
  border: 1px solid rgba(0, 0, 0, 0.05);
  position: relative;
  height: fit-content;
  padding: 1rem;
  overflow: hidden;
  transition: var(--transition-fast);
  border-radius: var(--border-radius-md);
  margin: 0;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-image {
  aspect-ratio: 4 / 3;
  border: none;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-image .btn-favorite {
  position: absolute;
  top: 0;
  right: 0;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-item-body {
  /* position: relative; */
  transform: translateY(0);
  background-color: transparent;
  backdrop-filter: blur(0px);
  transition: transform 0.3s ease-in-out, background-color 0.25s ease-in-out, backdrop-filter 0.25s ease-in-out;
  padding-top: 1rem;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item:hover .cart-item-body {
  transform: translateY(-100%);
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  transition: transform 0.3s ease-in-out, background-color 0.25s ease-in-out, backdrop-filter 0.25s ease-in-out;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-image img {
  transition: transform 0.3s ease-in-out;
  object-fit: contain;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item:hover .cart-image img {
  transform: scale(0.8);
  transition: transform 0.3s ease-in-out;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .cart-modal-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  position: sticky;
  top: 0;
  background: var(--white);
  z-index: 1;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-item-body .cart-item-price-quantity .product-price {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-item-body .cart-item-price-quantity .product-price .product-sale-price {
  flex-direction: row-reverse;
  align-items: center;
  gap: 0.313rem;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-item-body .cart-item-price-quantity .product-price .product-regular-price .regular-price {
  font-size: 0.875rem;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-item-body .cart-item-price-quantity .product-price .btn-primary {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  position: absolute;
  bottom: -100%;
  width: 100%;
  justify-content: center;
}

#cartModal .cart-modal-content .cart-modal-body .upsell-container .upsell-products .cart-item .cart-item-body .cart-item-title-description .cart-item-title a {
  font-size: 0.75rem;
}

.quantity-control .item-quantity-selector:focus-visible {
  outline: none;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .product-price .product-sale-price {
  display: flex;
  flex-direction: column;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .product-price .product-sale-price .regular-price {
  font-size: 12px;
  margin-left: auto;
  color: var(--gray);
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .product-price .product-sale-price .sale-price {
  color: var(--primary-color);
  font-weight: 600;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-title-description .cart-item-title > * {
  text-overflow: ellipsis;
  word-wrap: break-word;
  overflow: hidden;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

#cartModal .cart-modal-body .cart-item .cart-item-body .cart-item-price-quantity .product-regular-price .regular-price {
  color: var(--primary-color);
  font-weight: 600;
}

#cartModal .cart-modal-content .cart-modal-footer {
  padding: 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#cartModal .cart-modal-content .cart-modal-footer .cart-item-total-price .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#cartModal .cart-modal-content .cart-modal-footer .cart-item-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#cartModal .cart-modal-content .cart-modal-footer .cart-item-buttons .btn.btn-checkout {
  background: var(--black);
  color: var(--white);
}

#cartModal .cart-modal-content .cart-modal-footer .cart-item-buttons .btn.btn-cart {
  border: 1px solid var(--black);
}

#cartModal .cart-modal-content .cart-modal-footer .cart-item-buttons .btn {
  padding: 0.5rem 1rem;
  border-radius: var(--border-radius-sm);
}

#cartModal .cart-modal-body .show-more-btn-wrapper .show-more-btn {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  width: 100%;
  justify-content: center;
}

#cartModal .cart-modal-body .show-more-btn-wrapper {
  padding: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.hidden-item {
  display: none !important;
}

.loader {
  display: none;
  margin: 10px auto;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes float {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }

  100% {
    transform: translateY(0);
  }
}
/* Cart page */

/* .cart-page-content > .container {
  display: flex;
  flex-direction: column;
  row-gap: var(--bs-gutter-x);
}

.cart-page-content .col-cart-page-products {
  height: fit-content;
  position: sticky;
  top: calc(var(--header-height) + 3rem);
}

.cart-page-content .cart-page-products {
  background: var(--primary-color-10);
  border-radius: var(--border-radius-md);
  padding: 2rem;
  position: relative;
  overflow: hidden;
}

.cart-page-content .cart-page-products .spinner-wrapper {
  background: var(--primary-color-10);
}

.cart-page-content .cart-page-products .product-item:not(:last-of-type) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding-bottom: 1rem;
}

.cart-page-content .cart-page-products .product-item .product-specification {
  display: flex;
}

.cart-page-content .cart-page-products .cart-page-products-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cart-page-content .cart-page-products .product-item .product-specification {
  gap: 1rem;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-image {
  position: relative;
  padding: 6%;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: var(--border-radius-md);
  background: var(--white);
}

.cart-page-content .cart-page-products .product-item .product-specification .product-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0.5rem;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  justify-content: space-between;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-title-description {
  display: flex;
  flex-direction: column;
  gap: 0.313rem;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .quantity-control {
  padding: 0.313rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: var(--border-radius-sm);
  width: fit-content;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .quantity-control .item-quantity-selector {
  border: none;
  background: var(--primary-color-10);
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-title-description .remove-cart-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.5rem;
  margin: -0.5rem;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-title-description .remove-cart-item svg {
  max-width: 18px;
  max-height: 18px;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-title-description .remove-cart-item svg path {
  stroke-width: 1.7px;
  stroke: var(--gray);
  transition: var(--transition-fast);
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-title-description .remove-cart-item:hover svg path {
  stroke: var(--black);
  transition: var(--transition-fast);
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-title-description .product-title {
  display: flex;
  justify-content: space-between;
}

.limited-stock {
  padding: 0.5rem;
  border-radius: var(--border-radius-sm);
  background: #fee5e5;
  width: fit-content;
  margin-top: 0.5rem;
}

.limited-stock > * {
  color: var(--red);
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-quantity-price {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-quantity-price .product-price .product-sale-price {
  display: flex;
  flex-direction: column;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-quantity-price .product-price .product-sale-price .regular-price {
  font-size: 12px;
  color: var(--gray);
  margin-left: auto;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-quantity-price .product-price .product-sale-price .sale-price {
  color: var(--primary-color);
  font-weight: 600;
}

.cart-page-content .cart-page-products .product-item .product-specification .product-details .product-quantity-price .product-price .product-regular-price .regular-price {
  color: var(--primary-color);
  font-weight: 600;
} */
/* 
.cart-page-content .col-cart-page-summary .cart-page-summary {
  background: var(--primary-color-10);
  padding: 2rem;
  border-radius: var(--border-radius-md);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cart-page-content .col-cart-page-summary .cart-page-summary .btn {
  width: 100%;
  justify-content: center;
}

.cart-page-content .col-cart-page-summary .cart-page-summary .cart-page-summary-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cart-page-content .col-cart-page-summary .cart-page-summary .cart-page-summary-line {
  display: flex;
  justify-content: space-between;
}

.cart-page-content .col-cart-page-summary .cart-page-summary .cpsl-button-payment-methods {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cart-page-content .col-cart-page-summary .cart-page-summary .cpsl-button-payment-methods .cpsl-payment-methods {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
  gap: 0.313rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding-top: 0.5rem;
}

.cart-page-content .col-cart-page-summary .cart-page-summary .cpsl-button-payment-methods .cpsl-payment-methods .payment-icon svg {
  width: 100%;
  height: 100%;
  filter: invert();
}

.cart-page-content .col-cart-page-summary .cart-page-summary .cpsl-button-payment-methods .cpsl-payment-methods .payment-icon {
  border-radius: var(--border-radius-sm);
  overflow: hidden;
}

.cart-page-content .col-cart-page-summary .cart-page-summary-wrapper .cpsl-voucher-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  background: var(--primary-color-10);
  border-radius: var(--border-radius-md);
}

.cart-page-content .col-cart-page-summary .cart-page-summary-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--bs-gutter-x);
}

.cart-page-content .col-cart-page-summary .cart-page-summary-wrapper .cpsl-voucher-info .voucher-icon {
  max-width: 20px;
  max-height: 20px;
}

.cart-page-content .col-cart-page-summary .cart-page-summary-wrapper .cpsl-voucher-info .voucher-icon svg {
  width: 100%;
  height: 100%;
}

.cart-page-content .col-cart-page-similar .similar-products {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  border-radius: var(--border-radius-md);
  background: var(--primary-color-10);
}

.cart-page-content .col-cart-page-summary {
  height: fit-content;
  position: sticky;
  top: calc(var(--header-height) + 3rem);
}

.cart-page-content .empty-cart {
  padding-top: 3rem;
  padding-bottom: 3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  background: var(--primary-color-10);
  border-radius: var(--border-radius-md);
}

.cart-page-content .cart-page-faq {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  border-radius: var(--border-radius-md);
  background: var(--primary-color-10);
} */


/* Checkout */

.checkout-page-form .checkout-step-group .input-inner .input-wrapper .form-label,
.checkout-page-form .checkout-step-group .tab-content .other-delivery-fields .input-wrapper .form-label {
  display: none;
}

.checkout-page-form .checkout-step-group .input-inner {
  display: grid;
  grid-template: auto / 1fr 1fr;
  gap: 1rem;
}

.checkout-page-form .checkout-step-group .input-inner .mb-3 {
  margin-bottom: 0 !important;
}

.checkout-page-form .input-inner .input-wrapper .form-control {
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: transparent;
  border-radius: var(--border-radius-sm);
  height: 45px;
  font-size: min(max(14px, calc(0.875rem + ((1vw - 2.8px) * 0.122))), 16px);
  font-weight: 400;
}

.checkout-page-form .input-inner .input-wrapper .form-control::placeholder {
  color: var(--gray);
}

.checkout-voucher .checkout-step-group .input-inner {
  display: flex;
}

.checkout-voucher .checkout-step-group .input-inner .input-wrapper {
  width: 100%;
}

.checkout-voucher .checkout-step-group .input-inner .btn-primary {
  padding: 0.5rem 1rem;
  font-size: min(max(14px, calc(0.875rem + ((1vw - 2.8px) * 0.122))), 16px);
  font-weight: 500;
}

.checkout-page-form .checkout-step-group .nav-tabs {
  border: none;
  gap: 0.313rem;
}

.checkout-page-form .checkout-step-group .nav-tabs .nav-item .nav-link.active {
  background: rgba(255, 255, 255, 0.5);
  color: var(--black);
}

.checkout-page-form .checkout-step-group .nav-tabs .nav-item .nav-link {
  border: none;
  font-weight: 400;
  font-size: min(max(14px, calc(0.875rem + ((1vw - 2.8px) * 0.122))), 16px);
  color: #808080;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.2);
}

.sticky-step-group {
  height: 100%;
  position: sticky;
  top: calc(var(--header-height) + 3rem);
}

/* .cart-page-content .checkout-page-form .cart-page-products .product-item .product-specification .product-image {
  padding: 13%;
  background: var(--white);
} */

.cart-page-content .checkout-page-form .cart-page-products .product-item .product-specification .product-details .product-quantity-price {
  justify-content: flex-end;
}

.cart-page-content .checkout-page-form .cart-page-products {
  padding: 1rem;
  background: rgba(255, 255, 255, 0.4);
}

.checkout-page-form .checkout-summary-part-wrapper .checkout-page-summary-line {
  display: flex;
  justify-content: space-between;
}

.checkout-page-form .checkout-step-group .field-checkoutform-note .form-label .checkout-mentions-title {
  font-size: min(max(12px, calc(0.75rem + ((1vw - 2.8px) * 0.122))), 14px);
  color: var(--gray);
}

.checkout-page-form .checkout-step-group .col-cart-page-summary .checkout-summary-part-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.313rem;
}

.cart-page-content .col-cart-page-summary .field-checkoutform-note .checkout-mentions-title {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.313rem;
}

.cart-page-content .col-cart-page-summary .edit-icon:hover svg path {
  transition: var(--transition-fast);
  fill: var(--black);
}

.cart-page-content .col-cart-page-summary .edit-icon svg path {
  transition: var(--transition-fast);
  fill: var(--gray);
}

.checkout-step-group .col-cart-page-summary .field-checkoutform-note .form-label .form-control {
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: transparent;
  border-radius: var(--border-radius-sm);
  font-size: min(max(14px, calc(0.875rem + ((1vw - 2.8px) * 0.122))), 16px);
  font-weight: 400;
}

.checkout-page-form .payment-method .checkout-step-group .form-check p {
  font-size: min(max(12px, calc(0.75rem + ((1vw - 2.8px) * 0.122))), 14px);
  color: var(--gray);
}

.checkout-page-form .checkout-btn-wrapper {
  margin-top: var(--bs-gutter-x);
}

.product-view .breadcrumbs-container .breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.313rem;
  overflow: auto;
}

.product-view .breadcrumbs-container .breadcrumbs::-webkit-scrollbar {
  display: none;
}

.product-view .breadcrumbs-container .breadcrumbs {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.product-view .breadcrumbs-container .breadcrumbs a,
.product-view .breadcrumbs-container .breadcrumbs span {
  font-size: min(max(12px, calc(0.75rem + ((1vw - 2.8px) * 0.122))), 14px);
  font-weight: 500;
  white-space: nowrap;
}

.product-view .breadcrumbs-container .breadcrumbs a {
  color: rgba(0, 0, 0, 0.6);
}

.product-view .breadcrumbs-container .breadcrumbs .current {
  color: rgba(0, 0, 0, 0.4);
}

.product-view .breadcrumbs-container .breadcrumbs svg {
  max-height: 8px;
  max-width: 8px;
  min-width: 8px;
}

.product-view .breadcrumbs-container .breadcrumbs svg path {
  stroke: rgba(0, 0, 0, 0.6);
}

.product-view .product-image-inner .product-gallery .nav-slider .nav-image {
  position: relative;
  padding: 10%;
}

.product-view .product-image-inner .product-gallery .nav-slider .nav-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-view .product-image-inner .main-image img {
  width: 100%;
  max-height: 700px;
  object-fit: cover;
  border-radius: var(--border-radius-m);

}

.product-view .product-image-inner .main-image {
  border: 1px solid var(--white-secondary);
  padding: 1rem;
  border-radius: var(--border-radius-m);
}

.product-image-inner .nav-slider .nav-image {
  padding: 0.313rem 0;
}

.product-image-inner .nav-slider .nav-image img {
  border: 1px solid var(--white-secondary);
  border-radius: var(--border-radius-sm);
  padding: 0.5rem;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-view .product-image-inner .nav-slider {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.product-view .product-image-inner .nav-slider .slick-arrow {
  display: flex;
  width: 100%;
}

.product-view .product-image-inner .nav-slider .slick-arrow .arrow {
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 0.313rem;
  cursor: pointer;
}

.product-view {
  padding: 4rem 0;
}

.product-view .review-sku {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 1rem;
}

.product-view .review-sku .product-review {
  display: flex;
  align-items: center;
  gap: 0.313rem;
}

.product-view .review-sku .product-review .review-stars {
  display: flex;
  align-items: center;
  gap: 0.313rem;
}

.product-view .product-price .regular-price {
  font-size: min(max(18px, calc(1.125rem + ((1vw - 2.8px) * 0.6098))), 28px);
  font-weight: 600;
  color: var(--primary-color);
}

.product-view .product-price .product-sale-price {
  display: flex;
  flex-direction: column;
  gap: 0.313rem;
  width: fit-content;
}

.product-view .product-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.product-view .product-price .product-sale-price .product-discount {
  display: flex;
  align-items: center;
  gap: 0.313rem;
}

.product-view .product-price .product-sale-price .sale-price {
  color: var(--gray);
  font-weight: 500;
  font-size: min(max(14px, calc(0.875rem + ((1vw - 2.8px) * 0.122))), 16px);
}
.product-view .product-price .product-sale-price .discount {
  background: var(--primary-color);
  padding: 0.156rem 0.313rem;
  border-radius: var(--border-radius-sm);
  color: var(--white);
  font-size: 12px;
  font-weight: 500;
}

.product-view .product-content {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  justify-content: space-between;
}

.product-view .product-content .product-body {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.product-view .product-content .product-body .product-cart {
  display: flex;
  gap: 0.625rem;
}

.product-view .product-content .product-body .product-cart-voucher-stock {
  width: fit-content;
}

.limited-stock {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 0.625rem;
}

.product-view .product-content .product-body .product-cart .add-to-cart .icon svg path {
  stroke: var(--white);
}

.product-view .product-content .product-body .product-cart .btn-favorite,
.product-view .product-content .product-body .product-cart .btn-compare,
.product-view .product-content .product-body .product-cart .btn-stock-alert {
  padding: 0.5rem 1rem;
  border: none;
  background: var(--white-secondary);
  border-radius: var(--border-radius-sm);
  display: flex;
  align-items: center;
}

.product-view .product-content .product-body .product-cart .btn-favorite svg path,
.product-view .product-content .product-body .product-cart .btn-compare svg path,
.product-view .product-content .product-body .product-cart .btn-stock-alert svg path {
  stroke: var(--gray);
}

.product-view .product-content .product-body .product-cart .btn-favorite.active svg path {
  stroke: var(--red);
}

.product-view .product-content .product-body .product-cart .btn-compare .icon svg {
  animation: rotate 0.9s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.product-view .product-content .product-body .product-cart .btn-compare.active .icon svg {
  animation: rotate 0.9s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

.product-view .product-content .product-body .product-cart .btn-compare.active svg path,
.product-view .product-content .product-body .product-cart .btn-stock-alert.active svg path {
  stroke: var(--primary-color);
}

.product-view .product-content .product-footer .product-info ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.product-view .product-content .product-footer .product-info ul li {
  font-weight: 400;
  color: var(--gray);
}

.product-view .product-content .product-footer .product-info ul li span {
  color: var(--black);
  font-weight: 500;
}

.product-view .product-content .product-footer .product-info ul li span a {
  color: var(--black);
  font-weight: 500;
}

.product-view .product-content .product-footer .product-info .share-icons svg {
  max-width: 22px;
  max-height: 22px;
}

.product-view .product-content .product-header .product-description {
  display: flex;
  flex-direction: column;
  gap: 0.313rem;
}

.product-view .product-content .product-header .product-description .product-short-secription .short-description .read-more {
  font-weight: 500;
  color: var(--gray);
}

.product-view .product-content .product-body .product-logo {
  width: 100px;
}

.product-view .product-content .product-body .product-logo svg {
  width: 100%;
  height: 100%;
}

.product-view .product-content .product-body .product-voucher .sale-price span {
  font-size: min(max(16px, calc(1rem + ((1vw - 2.8px) * 0.2439))), 20px);
  font-weight: 600;
  color: var(--white);
  background: var(--red);
  padding: 0.5rem;
  border-radius: var(--border-radius-sm);
}

.product-view .product-content .product-body .product-price-voucher .product-voucher {
  display: flex;
  gap: 1rem;
  align-items: center;
  width: fit-content;
  background: var(--primary-color-10);
  border-radius: var(--border-radius-sm);
  padding: 0.5rem;
  position: relative;
  margin-top: 8px;
}

.product-view .product-content .product-body .product-price-voucher .product-voucher::before {
  content: "";
  position: absolute;
  left: 10px;
  bottom: 100%;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 8px solid var(--primary-color-10);
}

.product-view .product-content .product-body .product-price-voucher .text-percentage .percentage span {
  font-size: 14px;
  font-weight: 500;
  color: var(--gray);
}

.product-view .product-content .product-body .product-price-voucher .text-percentage .text span {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--gray);
}

.copy-code {
  position: relative;
  cursor: pointer;
}

.product-view .product-content .product-footer .product-info ul li span.tooltip {
  color: rgba(255, 255, 255, 0.8);
}

.product-view .product-content .product-body .product-price-voucher .text-percentage .percentage span.tooltip {
  color: rgba(255, 255, 255, 0.8);
}

.copy-code .tooltip {
  visibility: hidden;
  opacity: 0;
  background-color: #333;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 5px;
  border-radius: 4px;
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  transition: opacity 0.3s ease;
  font-size: 0.75rem;
}

.copy-code:hover .tooltip {
  visibility: visible;
  opacity: 1;
}

.product-tabs .tabs-nav {
  position: sticky;
  top: var(--header-height);
  background: var(--h-gradient-color);
  z-index: 999;
}

.product-tabs .tabs-nav .nav-tabs {
  border: none;
}

.product-tabs .tabs-nav .nav-tabs .nav-item .nav-link {
  padding: 0.625rem;
  border-radius: 0;
  border: none;
  color: var(--white);
}

.product-tabs .tabs-nav .nav-tabs .nav-item .nav-link.active {
  background: rgba(255, 255, 255, 0.1);
}

.product-tabs .tabs-inner .tab-content {
  padding-top: 2rem;
}

/* Category */

.row-category {
  row-gap: var(--bs-gutter-x);
}

.category-header {
  padding: 2rem 0;
  background: var(--h-gradient-color);
}

.category-header > .container > .row {
  align-items: center;
}

.category-header .text-inner h2 {
  font-size: min(max(18px, calc(1.125rem + ((1vw - 2.8px) * 0.3659))), 24px);
}

.category-header .text-inner * {
  color: var(--white);
}

.category-header .category-image-inner img {
  width: 100%;
  max-height: 550px;
  object-fit: contain;
}

.category-products .category-products-header {
  margin-bottom: 2rem;
}

.category-products .category-products-header .category-count-sort .category-count {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.category-products .category-products-header .category-count-sort .category-count .text {
  background: rgba(0, 0, 0, 0.1);
  padding: 0.313rem 0.625rem;
  border-radius: var(--border-radius-sm);
}

.category-products .category-products-header .category-breadcrumbs {
  margin-bottom: 0.313rem;
}

.category-products .category-products-header .category-breadcrumbs .breadcrumbs svg {
  max-height: 8px;
  max-width: 8px;
  min-width: 8px;
}

.category-products .category-products-header .category-breadcrumbs .breadcrumbs svg path {
  stroke: rgba(0, 0, 0, 0.6);
}

.category-products .category-products-header .category-breadcrumbs .breadcrumbs a {
  color: rgba(0, 0, 0, 0.6);
}

.category-products .category-products-header .category-breadcrumbs .breadcrumbs .current {
  color: rgba(0, 0, 0, 0.4);
}

.category-products .category-products-header .category-breadcrumbs .breadcrumbs a,
.category-products .category-products-header .category-breadcrumbs .breadcrumbs .current {
  font-size: min(max(12px, calc(0.75rem + ((1vw - 2.8px) * 0.122))), 14px);
  font-weight: 500;
  white-space: nowrap;
}

.category-products .category-products-header .category-count-sort {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #cccccc;
}

.category-products .category-list {
  list-style: none;
  padding: 0;
}


