/*
Theme Name: Kaira - Bootstrap 5 Fashion Store HTML CSS Template
Theme URI: https://templatejungle.com/
Author: TemplatesJungle
Author URI: https://templatejungle.com/
Description: Kaira - Bootstrap 5 Fashion Store HTML CSS Template is specially designed product packaged for Fashion Stores by TemplatesJungle.
Version: 1.1
*/

/*--------------------------------------------------------------
This is main CSS file that contains custom style rules used in this template
--------------------------------------------------------------*/

/*------------------------------------*\
    Table of contents
\*------------------------------------*/

/*------------------------------------------------
CSS STRUCTURE:

1. VARIABLES
2. GENERAL TYPOGRAPHY

--------------------------------------------------------------*/

/* Global Colors - The following color variables are used throughout the website. Updating them here will change the color scheme of the entire website */
:root {
  --background-color: #ffffff;
  /* Background color for the entire website, including individual sections */
  --default-color: #444444;
  /* Default color used for the majority of the text content across the entire website */
  --heading-color: #000000;
  /* Color for headings, subheadings and title throughout the website */
  --accent-color: #a50000;
  /* Accent color that represents your brand on the website. It's used for buttons, links, and other elements that need to stand out */
  --surface-color: #ffffff;
  /* The surface color is used as a background of boxed elements within sections, such as cards, icon boxes, or other elements that require a visual separation from the global background. */
  --contrast-color: #ffffff;
  /* Contrast color for text, ensuring readability against backgrounds of accent, heading, or default colors. */
}

/* :root {
  --accent-color: #a50000;
  --dark-color: #222222;
  --light-dark-color: #727272;
  --light-color: #fffbed;
  --grey-color: #dbdbdb;
  --light-grey-color: #ffdede;
  --light-primary-color: #fffbed;
} */

/* Nav Menu Colors - The following color variables are used specifically for the navigation menu. They are separate from the global colors to allow for more customization options */
:root {
  --nav-color: rgba(255, 255, 255, 0.8);
  /* The default color of the main navmenu links */
  --nav-hover-color: #ffffff;
  /* Applied to main navmenu links when they are hovered over or active */
  --nav-mobile-background-color: #ffffff;
  /* Used as the background color for mobile navigation menu */
  --nav-dropdown-background-color: #ffffff;
  /* Used as the background color for dropdown items that appear when hovering over primary navigation items */
  --nav-dropdown-color: #444444;
  /* Used for navigation links of the dropdown items in the navigation menu. */
  --nav-dropdown-hover-color: #252223;
  /* Similar to --nav-hover-color, this color is applied to dropdown navigation links when they are hovered over. */
}

body {
  --heading-font: "Marcellus", Roboto, sans-serif;
  --heading-font-weight: 400;
  --heading-color: #111;
  --heading-line-height: 1.24;

  --swiper-theme-color: #a50000;

  /* bootstrap */
  --bs-body-font-family: "Jost", Roboto, sans-serif;
  --bs-body-font-size: 18px;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #8f8f8f;
  --bs-body-color-rgb: 143, 143, 143;

  /* --bs-primary: #a50000;
  --bs-secondary: #6c757d; */
  --bs-primary: #a50000;
  --bs-secondary: #6c757d;
  --bs-black: #111;
  --bs-light: #F1F1F0;
  --bs-dark: #212529;
  --bs-gray: #9aa1a7;
  --bs-gray-dark: #51565b;

  --bs-primary-rgb: 140, 144, 126;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-black-rgb: 17, 17, 17;
  --bs-light-rgb: 241, 241, 240;
  --bs-dark-rgb: 33, 37, 41;

  --bs-link-color: #111;
  --bs-link-color-rgb: 17, 17, 17;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #111;
  --bs-link-hover-color-rgb: 17, 17, 17;
}

body {
  letter-spacing: 0.03rem;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: var(--heading-font);
  font-weight: var(--heading-font-weight);
  color: var(--heading-color);
  line-height: var(--heading-line-height);
}

h1.light,
.h1,
h2.light,
.h2,
h3.light,
.h3,
h4.light,
.h4,
h5.light,
.h5,
h6.light,
.h6 {
  color: var(--light-color);
}

h1,
h2,
h3 {
  margin: 25px 0;
}

h5,
h6 {
  letter-spacing: 1px;
}

h1,
.h1 {
  font-size: 4.5rem;
}

h2,
.h2 {
  font-size: 3.6rem;
}

h3,
.h3 {
  font-size: 2.8rem;
}

h4,
.h4 {
  font-size: 1.8rem;
}

h5,
.h5 {
  font-size: 1.4rem;
}

h6,
.h6 {
  font-size: 1rem;
}

a {
  text-decoration: none;
}

/* container fluid */
.container-fluid {
  /* width: 98%; */
  max-width: 1800px;
}

/* list group */
.list-group-item {
  --bs-list-group-item-padding-x: 0;
  --bs-list-group-border-width: 0;
}

/* btn */
.btn {
  --bs-btn-border-radius: 0;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #a50000;
  --bs-btn-border-color: #a50000;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #8b0000;
  --bs-btn-hover-border-color: #8b0000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #8b0000;
  --bs-btn-active-border-color: #8b0000;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #a50000;
  --bs-btn-disabled-border-color: #a50000;
}

.btn-light {
  --bs-btn-color: var(--accent-color);
  --bs-btn-bg: var(--contrast-color);
  --bs-btn-border-color: var(--contrast-color);
  --bs-btn-hover-color: var(--contrast-color);
  --bs-btn-hover-bg: var(--accent-color);
  --bs-btn-hover-border-color: var(--accent-color);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: var(--accent-color);
  --bs-btn-active-bg: var(--contrast-color);
  --bs-btn-active-border-color: var(--contrast-color);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--accent-color);
  --bs-btn-disabled-bg: #d3d7dd;
  --bs-btn-disabled-border-color: var(--contrast-color);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-gradient: none;
}

.pagination {
  --bs-pagination-active-bg: var(--bs-black);
  --bs-pagination-border-width: 0;
  --bs-pagination-border-radius: 0;
}

/* breadcrumb */
.breadcrumb {
  --bs-breadcrumb-item-padding-x: 1em;
}

/* text white */
.text-white {
  --heading-color: var(--bs-light);
  --bs-breadcrumb-item-active-color: var(--bs-light);
  --bs-breadcrumb-divider-color: var(--bs-light);
  --bs-link-color-rgb: var(--bs-light-rgb);
  --bs-link-hover-color-rgb: var(--bs-light-rgb);
}

.text-white .nav-link {
  --bs-nav-link-color: var(--bs-light);
  --bs-nav-link-hover-color: var(--bs-light);
  --bs-nav-link-active-color: var(--bs-light);
  --bs-navbar-active-color: var(--bs-light);
}

/* accordion */
.accordion {
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: 0;
  --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-padding-x: 0;
  --bs-accordion-btn-padding-y: 0.1rem;
  --bs-accordion-btn-color: var(--bs-dark);
  --bs-accordion-btn-bg: transparent;
  --bs-accordion-btn-focus-border-color: var(--bs-dark);
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 0.1rem;
  --bs-accordion-active-color: transparent;
  --bs-accordion-active-bg: transparent;
}

/* form control */
.form-control:focus {
  border-color: #ccc;
  box-shadow: 0 0 0 0.25rem rgba(200, 200, 200, .25);
}

/* dark theme */
[data-bs-theme=dark] body {
  color-scheme: dark;

  --heading-color: #fff;
  --bs-link-color: #fff;
  --bs-link-hover-color: #fff;
  --bs-link-color-rgb: 255, 255, 255;
  --bs-link-hover-color-rgb: 255, 255, 255;
  --bs-body-color: #d1d1d1;
  --bs-body-bg: #111;
  --bs-body-bg-rgb: 17, 17, 41;
}

[data-bs-theme=dark] .dropdown-item {
  --bs-dropdown-link-color: var(--bs-light);
  --bs-dropdown-link-hover-color: var(--bs-white);
}

[data-bs-theme=dark] .bg-white,
[data-bs-theme=dark] .bg-light {
  --bs-bg-opacity: 0.1;
}

[data-bs-theme=dark] .btn-link,
[data-bs-theme=dark] a {
  --bs-link-color: #fff;
  --bs-link-hover-color: #fff;
  --bs-link-color-rgb: 255, 255, 255;
  --bs-link-hover-color-rgb: 255, 255, 255;
}

[data-bs-theme=dark] h1,
[data-bs-theme=dark] h2,
[data-bs-theme=dark] h3,
[data-bs-theme=dark] h4,
[data-bs-theme=dark] h5,
[data-bs-theme=dark] h6 {
  --heading-color: #fff;
}

/* end of Bootstrap Color Theme */

/* preloader */
.preloader {
  position: fixed;
  z-index: 9999;
  background: #111;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: height 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.preloader.loaded {
  height: 0;
}

/* navbar */
.navbar.fixed-top {
  transition: background-color 0.6s ease-out;
}

.btn-swiper a {
  color: var(--bs-primary);
}

.slideshow {
  overflow: hidden;
  height: 85vh;
}

/* slideshow */
@media (min-width: 768px) {
  .slideshow {
    height: 100vh;
  }
}

/* .slideshow .swiper-slide {
  background-position-x: -300px;
  transition: background-position-x 1.6s ease-out;
  background-repeat: no-repeat;background-size: cover;
}
.slideshow .swiper-slide.swiper-slide-active {
  background-position-x: 0px;
} */
.slideshow .swiper-slide {
  /* background-size: 100%; */
  background-position: center;
  background-origin: padding-box;
  background-repeat: no-repeat;
  background-size: cover;
  transition: background-size 1s ease-in-out;
}

/* .slideshow .swiper-slide.swiper-slide-active {
  background-size: 120%;
} */

/* fade in */

.slideshow.fade-in .swiper-slide .banner-content {
  opacity: 0;
  transition: opacity 0.3s ease-out;
  transition-delay: 600ms;
}

.slideshow.fade-in .swiper-slide.swiper-slide-active .banner-content {
  opacity: 1;
}

/* slide in */
.slide-in .swiper-slide .banner-content h2,
.slide-in .swiper-slide .banner-content p,
.slide-in .swiper-slide .banner-content .btn {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.slide-in .swiper-slide .banner-content h2 {
  transition-delay: 600ms;
  color: white;
  text-shadow:
    0 0 4px rgba(255, 255, 255, 0.4),
    0 0 10px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(0, 0, 0, 0.6);
}

.slide-in .swiper-slide .banner-content p {
  transition-delay: 800ms;
  color: white;
  text-shadow:
    0 0 4px rgba(255, 255, 255, 0.4),
    0 0 10px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(0, 0, 0, 0.6);
}

.slide-in .swiper-slide .banner-content .btn {
  transition-delay: 1000ms;
  box-shadow: 0px 1px 8px rgba(3, 7, 18, 0.01),
    0px 5px 34px rgba(3, 7, 18, 0.02),
    0px 12px 76px rgba(3, 7, 18, 0.04),
    0px 20px 135px rgba(3, 7, 18, 0.05),
    0px 32px 211px rgba(3, 7, 18, 0.06);

}

.slide-in .swiper-slide.swiper-slide-active .banner-content h2,
.slide-in .swiper-slide.swiper-slide-active .banner-content p,
.slide-in .swiper-slide.swiper-slide-active .banner-content .btn {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* swiper slide-clip */
.slide-clip .swiper-slide .image-holder img {
  transform: scale(1.2);
  transition: transform 1s ease-in-out;
}

.slide-clip .swiper-slide.swiper-slide-active .image-holder img {
  transform: scale(1);
}

.slide-clip .swiper-slide .image-holder {
  clip-path: inset(100% 0 0 0);
  display: block;
}

.slide-clip .swiper-slide.swiper-slide-active .image-holder {
  animation: 1s slide-clip forwards;
}

.slide-clip .swiper-slide.swiper-slide-prev .image-holder,
.slide-clip .swiper-slide.swiper-slide-next .image-holder {
  animation: 1s slide-down;
}

/* works on sections with images wrapped with image-holder */
.aos-animate.slide-clip-animation .image-holder {
  animation: 1s slide-clip forwards;
}

.slide-clip-animation .image-holder {
  clip-path: inset(100% 0 0 0);
}

@keyframes slide-clip {
  0% {
    clip-path: inset(100% 0 0 0);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }
}

@keyframes slide-down {
  0% {
    clip-path: inset(0 0 0 0);
  }

  100% {
    clip-path: inset(100% 0 0 0);
  }
}


/* swipe animation */
.swipe-up {
  clip-path: inset(0 0 100% 0);
  display: block;
}

.aos-animate .swipe-up {
  animation: 1s swipe-up forwards;
}

/*.down-leave-active { animation: 1s down-leave; }*/
@keyframes swipe-up {
  0% {
    clip-path: inset(0 0 100% 0);
  }

  100% {
    clip-path: inset(0);
  }
}

/* polygon */
.polygon {
  clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 100%, 80% 100%, 20% 100%, 0 100%, 0% 20%);
}

.aos-animate .polygon {
  animation: 1s polygon forwards;
}

@keyframes polygon {
  0% {
    clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 100%, 80% 100%, 20% 100%, 0 100%, 0% 20%);
  }

  100% {
    clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
  }
}

/* open-up */
.open-up {
  clip-path: inset(48% 34% 36% 35%);
}

.aos-animate.open-up {
  animation: 1s open-up forwards;
}

@keyframes open-up {
  0% {
    clip-path: inset(48% 34% 36% 35%);
  }

  100% {
    clip-path: inset(0% 0% 0% 0%);
  }
}

/*@keyframes down-leave {
  0% { clip-path: inset(0); }
  100% { clip-path: inset(100% 0 0 0); }
}*/
.swipe-up {
  --delay: 0.05s;
}

.swipe-up {
  animation-delay: 1s;
  /* animation-delay: data(swipe-delay); */
}

/* Text Effects */
.txt-fx {
  overflow: hidden;
  line-height: 1;
}

.txt-fx.zoom {
  overflow: visible;
}

.txt-fx .word {
  overflow: hidden;
  transform-origin: 0 100%;
  display: inline-block;
  line-height: 1em;
}

.txt-fx .letter {
  transform-origin: 0 100%;
  display: inline-block;
  line-height: 1em;
}

.txt-fx {
  --delay: 50ms;
  --easing: cubic-bezier(.5, 0, .53, 1);
}

/* fade right */
.txt-fx.fade-right .letter {
  transform: translate3d(-50px, 0, 0);
  opacity: 0;
  transition: transform 0.6s var(--easing), opacity 0.6s var(--easing);
}

.aos-animate .txt-fx.fade-right .letter {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* slide up */
.txt-fx.slide-up .letter {
  transform: translate3d(0, 1.2em, 0);
  transition: transform 0.9s var(--easing);
}

.swiper-slide-active .txt-fx.slide-up .letter,
.aos-animate .txt-fx.slide-up .letter {
  transform: translate3d(0, 0, 0);
}

/* domino */
.txt-fx.domino .letter {
  transform-origin: 50% 0;
  transform: rotateY(90deg);
  transition: transform 0.9s var(--easing);
}

.swiper-slide-active .txt-fx.domino .letter,
.aos-animate .txt-fx.domino .letter {
  transform: rotateY(0);
}

/* zoom */
.txt-fx.zoom .letter {
  transform-origin: 50% 0;
  transform: scale(3);
  transition: transform 0.9s var(--easing);
}

.swiper-slide-active .txt-fx.zoom .letter,
.aos-animate .txt-fx.zoom .letter {
  transform: scale(1);
}

/*--------------------------------------------------------------
# Global Header
--------------------------------------------------------------*/

.header {
  color: var(--default-color);
  background-color: var(--background-color);
  transition: all 0.5s;
  z-index: 997;
}

.header .top-bar {
  background-color: color-mix(in srgb, var(--default-color), transparent 96%);
  font-size: 14px;
}

.header .top-bar .top-bar-item {
  color: var(--default-color);
}

.header .top-bar .top-bar-item a {
  color: var(--accent-color);
  text-decoration: none;
}

.header .top-bar .top-bar-item a:hover {
  text-decoration: underline;
}

.header .top-bar .top-bar-item .selected-icon {
  color: var(--accent-color);
  opacity: 1;
  width: 16px;
}

.header .top-bar .announcement-slider {
  color: var(--accent-color);
  font-weight: 500;
  height: 24px;
  overflow: hidden;
}

.header .top-bar .announcement-slider .swiper-wrapper {
  height: auto !important;
}

.header .top-bar .announcement-slider .swiper-slide {
  text-align: center;
  height: 24px;
  line-height: 24px;
}

.header .top-bar .dropdown-menu {
  min-width: 150px;
  padding: 0.5rem 0;
  margin-top: 0.5rem;
  background-color: var(--surface-color);
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  border-radius: 4px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

.header .top-bar .dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem;
  font-size: 14px;
  color: var(--default-color);
  display: flex;
  align-items: center;
}

.header .top-bar .dropdown-menu .dropdown-item .selected-icon {
  opacity: 1;
  color: var(--accent-color);
  width: 16px;
}

.header .top-bar .dropdown-menu .dropdown-item:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
  color: var(--accent-color);
}

.header .main-header {
  border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
}

.header .main-header .logo {
  line-height: 1;
}

.header .main-header .logo img {
  max-height: 32px;
  margin-right: 8px;
}

.header .main-header .logo h1 {
  font-size: 26px;
  margin: 0;
  font-weight: 700;
  color: var(--heading-color);
}

@media (max-width: 768px) {
  .header .main-header .logo h1 {
    font-size: 24px;
  }

  .header .main-header .logo img {
    max-width: 75px;
  }
}

.header .main-header .desktop-search-form {
  min-width: 400px;
}

@media (max-width: 1200px) {
  .header .main-header .desktop-search-form {
    display: none;
  }
}

.header .main-header .header-actions {
  gap: 16px;
}

.header .main-header .header-actions .header-action-btn {
  position: relative;
  background: none;
  border: none;
  padding: 0.5rem;
  color: var(--default-color);
  font-size: 15px;
  cursor: pointer;
  transition: color 0.3s ease;
}

.header .main-header .header-actions .header-action-btn i {
  font-size: 24px;
}

.header .main-header .header-actions .header-action-btn i.bi-person {
  font-size: 28px;
}

.header .main-header .header-actions .header-action-btn:hover {
  color: var(--accent-color);
}

.header .main-header .header-actions .header-action-btn .badge {
  position: absolute;
  top: -5px;
  right: -5px;
  background-color: var(--accent-color);
  color: var(--contrast-color);
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 10px;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header .main-header .account-dropdown .dropdown-menu {
  background-color: var(--surface-color);
  min-width: 280px;
  padding: 0;
  border-radius: 6px;
  margin-top: 0.75rem;
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.15);
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-header {
  padding: 1.25rem;
  border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-header h6 {
  margin: 0 0 0.25rem;
  color: var(--heading-color);
  font-size: 16px;
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-header p {
  font-size: 13px;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-body {
  padding: 1rem 0;
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-body .dropdown-item {
  padding: 0.5rem 1.25rem;
  font-size: 14px;
  color: var(--default-color);
  transition: all 0.2s ease;
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-body .dropdown-item i {
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  transition: color 0.2s ease;
  font-size: 16px;
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-body .dropdown-item:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
  color: var(--accent-color);
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-body .dropdown-item:hover i {
  color: var(--accent-color);
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-footer {
  padding: 1.25rem;
  background-color: color-mix(in srgb, var(--default-color), transparent 97%);
  border-top: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-footer .btn {
  font-size: 14px;
  padding: 0.5rem 1rem;
  background-color: var(--accent-color);
  border-color: var(--accent-color);
  color: var(--contrast-color);
  transition: 0.3s;
  border-radius: 50px;
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-footer .btn-outline-primary {
  border-color: var(--accent-color);
  background-color: transparent;
  color: var(--accent-color);
}

.header .main-header .account-dropdown .dropdown-menu .dropdown-footer .btn-outline-primary:hover {
  background-color: var(--accent-color);
  color: var(--contrast-color);
}

.header .search-form {
  margin: 0;
}

.header .search-form .input-group {
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 85%);
  border-radius: 3px;
  overflow: visible;
  background-color: var(--surface-color);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.header .search-form .input-group:focus-within {
  border-color: var(--accent-color);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

.header .search-form .input-group .form-control {
  border: none;
  padding: 12px 15px;
  font-size: 14px;
  background-color: transparent;
  color: var(--default-color);
}

.header .search-form .input-group .form-control::placeholder {
  color: color-mix(in srgb, var(--default-color), transparent 50%);
  font-family: var(--heading-font);
  font-size: 14px;
}

.header .search-form .input-group .form-control:focus {
  box-shadow: none;
}

.header .search-form .input-group .btn {
  background-color: var(--accent-color);
  color: var(--contrast-color);
  padding: 0 25px;
  border: none;
  transition: all 0.3s ease;
  border-radius: 3px !important;
  margin: 3px;
}

.header .search-form .input-group .btn:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 20%);
}

.header .search-form .input-group .btn i {
  font-size: 16px;
}


/* @media (min-width: 1200px) {
  .header .header-nav {
    border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  }
} */

.header #mobileSearch {
  background-color: color-mix(in srgb, var(--default-color), transparent 96%);
  z-index: 1000;
}

.header #mobileSearch .search-form {
  padding: 10px 0;
}

@media (max-width: 991.98px) {
  .header .main-header .header-actions {
    gap: 0.5rem;
  }

  .header .main-header .header-actions .header-action-btn {
    padding: 0.25rem;
  }

  .header .main-header .header-actions .header-action-btn i {
    font-size: 20px;
  }
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* Navmenu - Desktop */
@media (min-width: 1200px) {
  .navmenu {
    padding: 0;
  }

  .navmenu ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
  }

  .navmenu li {
    position: relative;
  }

  .navmenu a,
  .navmenu a:focus {
    padding: 12px 15px;
    font-size: 16px;
    font-family: var(--heading-font);
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    transition: 0.3s;
  }

  .navmenu li:first-child a {
    padding-left: 0;
  }


  /* .navmenu li:hover>a,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--nav-hover-color); 
  } */

  .navmenu .dropdown ul {
    margin: 0;
    padding: 10px 0;
    background: var(--nav-dropdown-background-color);
    display: block;
    position: absolute;
    visibility: hidden;
    left: 14px;
    top: 130%;
    opacity: 0;
    transition: 0.3s;
    border-radius: 4px;
    z-index: 99;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
  }

  .navmenu .dropdown ul li {
    min-width: 200px;
  }

  .navmenu .dropdown ul a {
    padding: 10px 20px;
    font-size: 15px;
    text-transform: none;
    color: var(--nav-dropdown-color);
  }

  .navmenu .dropdown ul a i {
    font-size: 12px;
  }

  .navmenu .dropdown ul a:hover,
  .navmenu .dropdown ul .active:hover,
  .navmenu .dropdown ul li:hover>a {
    color: var(--nav-dropdown-hover-color);
  }

  .navmenu .dropdown:hover>ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }

  .navmenu .dropdown .dropdown ul {
    top: 0;
    left: -90%;
    visibility: hidden;
  }

  .navmenu .dropdown .dropdown:hover>ul {
    opacity: 1;
    top: 0;
    left: -100%;
    visibility: visible;
  }
}

.nav-text {
  font-family: var(--heading-font);
  position: relative;
  display: inline;
  text-decoration: none;
  padding-bottom: 4px;
  background-image: linear-gradient(90deg, var(--accent-color), var(--accent-color));
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
}

.nav-text-active {
  font-family: var(--heading-font);
  position: relative;
  display: inline;
  text-decoration: none;
  background-size: 100% 1px;
  padding-bottom: 4px;
  background-image: linear-gradient(90deg, var(--accent-color), var(--accent-color));
  background-position: 0 100%;
  background-repeat: no-repeat;
}

.nav-text:hover {
  background-size: 100% 1px;
  -webkit-transition: background-size 495ms ease-in-out;
  transition: background-size 495ms ease-in-out;
}

.nav-text-active:hover {
  background-size: 100% 1px;
  -webkit-transition: background-size 495ms ease-in-out;
  transition: background-size 495ms ease-in-out;
}

/* Navmenu - Mobile */
@media (max-width: 1199px) {
  .mobile-nav-toggle {
    color: var(--default-color);
    font-size: 28px;
    line-height: 0;
    margin-right: 10px;
    cursor: pointer;
    transition: color 0.3s;
  }

  .navmenu {
    padding: 0;
    z-index: 9997;
  }

  .navmenu ul {
    display: none;
    list-style: none;
    position: absolute;
    inset: 0px 0px 0px 0px;
    padding: 48px 0;
    margin: 0;
    background-color: var(--nav-mobile-background-color);
    overflow-y: auto;
    transition: 0.3s;
    z-index: 9998;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
  }

  .navmenu .border-top {
    margin: 8px 20px;
  }

  .navmenu a,
  .navmenu a:focus {
    color: var(--nav-dropdown-color);
    padding: 10px 20px;
    font-family: var(--heading-font);
    font-size: 17px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    color: var(--nav-dropdown-hover-color);
    font-size: 16px;
    line-height: 0;
    margin-left: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
  }

  .navmenu a:hover,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--nav-dropdown-hover-color);
  }

  .navmenu .active i,
  .navmenu .active:focus i {
    color: var(--accent-color);
    transform: rotate(180deg);
  }

  .navmenu .dropdown ul {
    position: static;
    display: none;
    z-index: 99;
    padding: 10px 0;
    margin: 10px 20px;
    background-color: var(--nav-dropdown-background-color);
    border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
    box-shadow: none;
    transition: all 0.5s ease-in-out;
  }

  .navmenu .dropdown ul ul {
    background-color: rgba(33, 37, 41, 0.1);
  }

  .navmenu .dropdown>.dropdown-active {
    display: block;
    background-color: rgba(33, 37, 41, 0.03);
  }

  .mobile-nav-active {
    overflow: hidden;
  }

  .mobile-nav-active .mobile-nav-toggle {
    color: #000;
    position: absolute;
    font-size: 32px;
    top: 15px;
    right: 15px;
    margin-right: 0;
    z-index: 9999;
  }

  .mobile-nav-active .navmenu {
    position: fixed;
    overflow: hidden;
    inset: 0;
    background: rgba(33, 37, 41, 0.8);
    transition: 0.3s;
  }

  .mobile-nav-active .navmenu>ul {
    display: block;
  }
}

/* Products Mega Menu 2 - Desktop */
@media (min-width: 1200px) {
  .navmenu .products-megamenu-2 {
    position: static;
    /* Hide Mobile Mega Menu in Desktop */
    /* Tabs Navigation */
    /* Tab Content */
  }

  .navmenu .products-megamenu-2 .mobile-megamenu {
    display: none;
  }

  .navmenu .products-megamenu-2 .desktop-megamenu,
  .navmenu .products-megamenu-2 .active,
  .navmenu .products-megamenu-2 .active:focus {
    background-color: var(--nav-dropdown-background-color);
  }

  .navmenu .products-megamenu-2 .desktop-megamenu {
    font-family: var(--heading-font);
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
    position: absolute;
    top: 130%;
    left: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
    border-radius: 6px;
    z-index: 99;
    padding: 10px 0 0 0;
    display: flex;
    flex-direction: column;
    max-height: 80vh;
    overflow: hidden;
  }

  .navmenu .products-megamenu-2:hover>.desktop-megamenu {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }

  .navmenu .products-megamenu-2 .megamenu-tabs {
    padding: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  }

  .navmenu .products-megamenu-2 .megamenu-tabs .nav-tabs {
    border-bottom: none;
    display: flex;
    justify-content: center;
  }

  .navmenu .products-megamenu-2 .megamenu-tabs .nav-tabs .nav-item {
    margin: 0;
  }

  .navmenu .products-megamenu-2 .megamenu-tabs .nav-tabs .nav-link {
    border: none;
    padding: 15px 30px;
    color: var(--nav-dropdown-color);
    font-weight: 600;
    font-size: 14px;
    transition: 0.3s;
    background-color: transparent;
    border-bottom: 2px solid transparent;
    letter-spacing: 0.5px;
  }

  .navmenu .products-megamenu-2 .megamenu-tabs .nav-tabs .nav-link:hover {
    color: var(--nav-dropdown-hover-color);
  }

  .navmenu .products-megamenu-2 .megamenu-tabs .nav-tabs .nav-link.active {
    color: var(--accent-color);
    background-color: transparent;
    border-bottom: 2px solid var(--accent-color);
  }

  .navmenu .products-megamenu-2 .megamenu-content {
    flex: 1;
    overflow-y: auto;
    /* Hide scrollbar for Chrome, Safari and Opera */
    /* Category Layout */
    /* Categories Section */
    /* Featured Section */
  }

  .navmenu .products-megamenu-2 .megamenu-content::-webkit-scrollbar {
    width: 5px;
  }

  .navmenu .products-megamenu-2 .megamenu-content::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--default-color), transparent 95%);
    border-radius: 10px;
  }

  .navmenu .products-megamenu-2 .megamenu-content::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--default-color), transparent 80%);
    border-radius: 10px;
  }

  .navmenu .products-megamenu-2 .megamenu-content .tab-pane {
    padding: 25px;
  }

  .navmenu .products-megamenu-2 .megamenu-content .category-layout {
    display: flex;
    gap: 30px;
  }

  .navmenu .products-megamenu-2 .megamenu-content .categories-section {
    flex: 1;
    /* Category Headers */
    /* Category Links */
  }

  .navmenu .products-megamenu-2 .megamenu-content .categories-section .category-headers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 15px;
  }

  .navmenu .products-megamenu-2 .megamenu-content .categories-section .category-headers h4 {
    color: var(--heading-color);
    font-size: 16px;
    font-weight: 600;
    position: relative;
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  }

  .navmenu .products-megamenu-2 .megamenu-content .categories-section .category-links {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .navmenu .products-megamenu-2 .megamenu-content .categories-section .category-links .link-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
  }

  .navmenu .products-megamenu-2 .megamenu-content .categories-section .category-links .link-row a {
    color: var(--nav-dropdown-color);
    font-size: 14px;
    transition: 0.3s;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0;
  }

  .navmenu .products-megamenu-2 .megamenu-content .categories-section .category-links .link-row a:hover {
    color: var(--nav-dropdown-hover-color);
    transform: translateX(3px);
  }

  .navmenu .products-megamenu-2 .megamenu-content .featured-section {
    width: 300px;
  }

  .navmenu .products-megamenu-2 .megamenu-content .featured-section .featured-image {
    position: relative;
    height: 100%;
    background-color: #f5f5f5;
    border-radius: 6px;
    overflow: hidden;
  }

  .navmenu .products-megamenu-2 .megamenu-content .featured-section .featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.9;
  }

  .navmenu .products-megamenu-2 .megamenu-content .featured-section .featured-image .featured-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
  }

  .navmenu .products-megamenu-2 .megamenu-content .featured-section .featured-image .featured-content h3 {
    color: var(--heading-color);
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
  }

  .navmenu .products-megamenu-2 .megamenu-content .featured-section .featured-image .featured-content .btn-shop {
    display: inline-block;
    padding: 8px 20px;
    background-color: var(--accent-color);
    color: var(--contrast-color);
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    transition: 0.3s;
    width: fit-content;
  }

  .navmenu .products-megamenu-2 .megamenu-content .featured-section .featured-image .featured-content .btn-shop:hover {
    background-color: color-mix(in srgb, var(--accent-color), black 15%);
    transform: translateY(-2px);
  }
}

/* Products Mega Menu 2 - Mobile */
@media (max-width: 1199px) {
  .navmenu .products-megamenu-2 {
    /* Hide Desktop Mega Menu in Mobile */
  }

  .navmenu .products-megamenu-2 .desktop-megamenu {
    display: none;
  }

  .navmenu .products-megamenu-2 .mobile-megamenu {
    position: static;
    display: none;
    z-index: 99;
    padding: 0;
    margin: 10px 20px;
    background-color: var(--nav-dropdown-background-color);
    border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
    box-shadow: none;
    transition: all 0.5s ease-in-out;
    border-radius: 4px;
    overflow: hidden;
  }

  .navmenu .products-megamenu-2 .mobile-megamenu li {
    position: relative;
    border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  }

  .navmenu .products-megamenu-2 .mobile-megamenu li:last-child {
    border-bottom: none;
  }

  .navmenu .products-megamenu-2 .mobile-megamenu li a {
    padding: 12px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--nav-dropdown-color);
    font-size: 15px;
    transition: 0.3s;
  }

  .navmenu .products-megamenu-2 .mobile-megamenu li a:hover {
    color: var(--nav-dropdown-hover-color);
    background-color: color-mix(in srgb, var(--default-color), transparent 97%);
  }

  .navmenu .products-megamenu-2 .mobile-megamenu li ul {
    padding: 0;
  }

  .navmenu .products-megamenu-2 .mobile-megamenu.dropdown-active {
    display: block;
  }
}

.hero-section .page-title {
  color: white;
  text-shadow:
    0 0 6px rgba(255, 255, 255, 0.4),
    0 0 15px rgba(0, 0, 0, 0.6),
    0 0 30px rgba(0, 0, 0, 0.8);
}

/** Search Popup
--------------------------------------------------------------*/
.search-popup {
  background-color: #fff;
  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 .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;
}


/* Swiper */
/* - Swiper Slide Arrows 1
------------------------------------------------------------- */
.icon-arrow {
  position: absolute;
  top: 50%;
  font-size: 1.5em;
  color: var(--bs-white);
  z-index: 8;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.5;
  transition: all 0.3s ease-out;
}

.icon-arrow:hover {
  opacity: 1;
  color: var(--bs-white);
}

.icon-arrow.icon-arrow-left {
  left: 30px;
}

.icon-arrow.icon-arrow-right {
  right: 30px;
}

@media (max-width: 991px) {

  .icon-arrow.icon-arrow-left,
  .icon-arrow.icon-arrow-right {
    display: none;
  }

  .swiper-pagination {
    position: relative;
  }
}

/** Swiper Slide Arrows 2
--------------------------------------------------------------*/
.icon-arrow.no-outline {
  top: 40%;
  font-size: 1.7em;
  color: var(--grey-color);
  border: none;
}

.icon-arrow.no-outline:hover {
  background: none;
  color: var(--bs-dark);
}

.icon-arrow.light-arrow.no-outline {
  color: var(--light-color);
  opacity: 0.7;
}

.icon-arrow.light-arrow.no-outline:hover {
  opacity: 1;
}

.swiper-button-normal {
  background: transparent;
}

.swiper-button-normal .icon {
  font-size: 1.6em;
  color: var(--bs-dark);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

/** Swiper Slide Arrows with background 3
--------------------------------------------------------------*/
/* .icon-arrow {
  width: 90px;
  height: 90px;
  border-radius: 50%;
} */

/*--- Image hover Effects
-----------------------------------------------*/
.image-zoom-effect {
  display: flex;
  flex-wrap: wrap;
}

.image-zoom-effect .image-holder {
  width: 100%;
  height: auto;
  overflow: hidden;
  transform: scale(1);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.image-zoom-effect:hover .image-holder {
  transform: scale(0.95);
}

.image-zoom-effect img {
  transform: scale(1);
  will-change: transform;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 0;
}

.image-zoom-effect:hover img {
  transform: scale(1.1);
}


/* - Border Hover Effects
------------------------------------------------------------- */
.border-animation a,
.border-animation a:after,
.border-animation a:before {
  transition: all .5s;
}

.border-animation a {
  position: relative;
}

.border-animation a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  content: '.';
  color: transparent;
  background: var(--bs-primary);
  height: 2px;
}

.border-animation a:hover:after {
  width: 100%;
}

.content-light .border-animation a:hover:after,
.content-light .border-animation li.active a:after {
  background: var(--bs-primary);
}

/* - Border Hover No Effects
------------------------------------------------------------- */
.border-animation .no-effect a:after {
  background: none;
}

/* - Border Hover Effects 2
------------------------------------------------------------- */
.border-animation-left .item-anchor {
  position: relative;
  margin-bottom: 20px;
}

.border-animation-left .item-anchor:after {
  content: "";
  position: absolute;
  width: 0;
  height: 1px;
  left: 0;
  bottom: 0;
  z-index: 9;
  background: var(--bs-dark);
  transition: all 0.5s ease;
}

.border-animation-left.light-border .item-anchor:after,
.border-animation-left .item-anchor:after {
  background: var(--bs-dark);
}

.border-animation-left .item-anchor:hover:after,
.border-animation-left .item-anchor:focus:after {
  width: 100%;
}

/* background */
.background {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 600px;
}

.background.pattern-bg {
  background: url(images/pattern-bg.png) no-repeat;
}

.background.normal-bg {
  background: url(images/newsletter-image.jpg) no-repeat;
}

/* large text */
.title-xlarge {
  font-size: calc(2rem + 10vw);
  /* 10.4em; */
  font-family: var(--heading-font);
  color: var(--bs-gray-300);
  position: absolute;
  top: -40px;
  left: 0;
  z-index: 0;
}

/*--------------------------------------------------------------
/** 7.8 Video Section
--------------------------------------------------------------*/
.video .video-content {
  position: relative;
}

.video .video-player {
  position: absolute;
}

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

.video .video-player a {
  position: relative;
}

.video .video-player .btn-play {
  color: #fff;
  position: absolute;
  font-size: 64px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

@media (max-width: 992px) {
  .video .video-player .btn-play {
    font-size: 42px;
  }
}

@media (max-width: 768px) {
  .video .video-player .btn-play {
    font-size: 28px;
  }
}

@media (max-width: 600px) {
  .video .video-player img.text-pattern {
    width: 60%;
    display: flex;
    margin: 0 auto;
  }
}

/*--------------------------------------------------------------
/** 7.9 Testimonial Slider
--------------------------------------------------------------*/
.testimonials .section-title {
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
}

.testimonial-swiper .testimonial-item blockquote {
  font-size: 2.5em;
}

.testimonial-swiper .testimonial-item blockquote>p {
  margin: 0;
}

.testimonials .review-title {
  font-size: 14px;
}

.testimonial-swiper .swiper-slide {
  opacity: 0.2;
  width: 42% !important;
}

.testimonial-swiper.swiper-3d .swiper-slide-shadow-left,
.testimonial-swiper.swiper-3d .swiper-slide-shadow-right {
  background-image: none;
}

.testimonial-swiper .swiper-slide-active {
  opacity: 1;
}

.testimonials .swiper-pagination {
  left: 0;
  right: 0;
}

.testimonials .swiper-pagination .swiper-pagination-bullet-active {
  background: #a50000;
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin-right: 10px;
}

@media only screen and (max-width: 1199px) {
  .testimonial-swiper .testimonial-item blockquote {
    font-size: 1.8em;
  }
}

@media only screen and (max-width: 999px) {
  .testimonial-swiper .testimonial-item blockquote {
    font-size: 1.2em;
  }
}


/** 7.13 Instagram
--------------------------------------------------------------*/
.instagram .insta-item {
  position: relative;
  /* margin-bottom: 20px; */
}

.instagram .insta-item a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: 0.6s ease-out;
}

/* Link Effect
 - Place anywhere you want your link to animate
 - Add data-after="Any text" to the link within the class
 - Use span within the anchor tag for the effect to work
------------------------------------------------------------- */
.link-effect a {
  position: relative;
  padding: 0;
  overflow: hidden;
  transition: transform 0.5s;
  display: block;
}

.link-effect a::after {
  content: attr(data-after);
  display: inline-block;
  transform: translateY(100%);
  position: absolute;
  left: 0;
  font-size: 1rem;
  text-align: inherit;
  text-transform: uppercase;
  transition: inherit;
}

.link-effect a>span {
  display: inline-block;
  transform: translateY(0%);
  transition: inherit;
}

.link-effect:hover a>span {
  transform: translateY(-100%);
}

.link-effect:hover a::after {
  transform: translateY(0%);
}

/* Filter */

.offcanvas.offcanvas-end {
  width: 600px;
  border-left: 0px;
}

.btn-filter {
  border: 1px solid var(--bs-primary);
}

.filter-color {
  color: #000;
}

.filter-color h2 {
  font-size: 16px;
  margin-bottom: 16px;
}

.color-swatch {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid #999;
}

.color-box {
  position: relative;
  border: 1px solid var(--bs-gray);
  padding: 6px 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

.color-box input {
  display: none;
}

.color-box span {
  font-size: 14px;
}

.sort-option {
  font-family: var(--heading-font);
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #000;
  /* space between radio and label */
  margin-bottom: 12px;
}

.sort-option input[type="radio"] {
  margin: 0;
  /* remove default offset */
  accent-color: black;
  /* makes the dot black */
}

.sort-option label {
  cursor: pointer;
}


/* Desktop behavior */
/* @media (min-width: 768px) {
  .subcategory-menu ul {
    flex-direction: row;
    overflow-x: visible;
    white-space: normal;
  }
} */

/* product item */
.subcategory-menu ul {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  white-space: nowrap;
  list-style: none;
  padding-left: 0;
  margin: 0;

  -ms-overflow-style: none;
  /* IE & Edge */
  scrollbar-width: none;
  /* Firefox */
}

.subcategory-menu ul::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari */
}

.subcategory-menu ul li {
  flex: 0 0 auto;
  margin-right: 1rem;
  padding-bottom: 4px;
}

.subcategory-menu ul li a {
  text-decoration: none;
}


/* Desktop: no scroll, normal layout */
@media (min-width: 768px) {
  .subcategory-menu ul {
    overflow-x: visible;
    flex-wrap: wrap;
    white-space: normal;
  }
}

@media (max-width: 1180px) {
  .subcat-row {
    flex-direction: column;
  }

  .subcat-row>[class*="col-"] {
    width: 100%;
    max-width: 100%;
  }

  .subcat-row .col-md-3 {
    margin-top: 1rem;
    /* add spacing when stacked */
    /* justify-content: flex-start !important; */
    /* align to left on stack */
  }
}

.product-content img {
  width: 18px;
  height: 18px;
  margin-right: 4px;
}

.product-content a {
  font-size: 18px;
}

.product-content .d-flex {
  font-size: 18px;
}

@media (max-width: 768px) {
  .product-content a {
    font-size: 14px;
  }

  .product-content .d-flex {
    font-size: 16px;
  }

  .product-content img {
    width: 16px;
    height: 16px;
    margin-right: 4px;
  }
}

.checkout-btn-sticky {
  background-color: var(--background-color);
  padding: 12px;
  position: sticky;
  width: 100%;
  bottom: 0;
  border-top: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  z-index: 2;
}

.product-variant-leather img {
  width: 35px;
  height: 35px;
  margin-right: 4px;
  cursor: pointer;
}

.product-variant-leather-active img {
  border-bottom: 2px solid #000;
}

.product-variant-leather:hover img {
  border-bottom: 2px solid #000;
}

/* Hide arrows until hover */
.product-swiper .swiper-button-prev,
.product-swiper .swiper-button-next {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
}

.image-holder:hover .swiper-button-prev,
.image-holder:hover .swiper-button-next {
  opacity: 1;
  visibility: visible;
}

.image-holder .swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 20px !important;
}

.product-item .btn-wishlist {
  display: block;
  z-index: 111;
  position: absolute;
  top: 5px;
  padding: 10px;
  color: var(--bs-black);
  background: var(--bs-white);
  right: 5px;
  opacity: 0;
  transition: opacity 0.3s ease-in;
}

.product-item:hover .btn-wishlist {
  opacity: 1;
}

.leather-item img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* rotating text */
.text-rotate {
  height: 750px;
  animation: rotation 50s infinite linear;
}

@media (max-width: 992px) {
  .text-rotate {
    height: 450px;
  }
}

@media (max-width: 768px) {
  .text-rotate {
    height: 250px;
  }
}


@keyframes rotation {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(359deg);
  }
}

/* single product */
/* product-thumbnail-slider */
.product-thumbnail-slider {
  height: 790px;
}

@media screen and (max-width:992px) {
  .product-thumbnail-slider {
    margin-top: 20px;
    height: auto;
  }
}

@media screen and (min-width:992px) {
  .product-thumbnail-slider {
    height: 590px;
  }
}

@media screen and (min-width:1200px) {
  .product-thumbnail-slider {
    height: 790px;
  }
}

/* 
.product-thumbnail-slider .swiper-slide {
  height: 200px;
} */

/* ------ Quantity ------*/
.product-quantity .qty-number {
  margin-right: 20px;
}

.product-quantity .input-group .btn {
  height: 48px;
  border: 1px solid #ccc;
}

.qty-number .quntity-button {
  min-width: 40px;
  height: 40px;
  font-size: 1.8em;
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
  background-color: var(--accent-dim-color);
  transition: .5s all ease-in-out;
}

.qty-number .quntity-button:hover {
  background-color: var(--accent-lit-color);
}

.qty-number input {
  font-size: 1.4em;
  width: 50px;
  height: 40px;
  text-align: center;
  border-radius: 0;
  border: 1px solid var(--bs-dark);
}

.qty-field .regular-price {
  display: none;
}

/*--------------------------------------------------------------
/** Single Product
--------------------------------------------------------------*/
.single-product-template .breadcrumbs li {
  font-size: 1.5em;
  padding-right: 15px;
}

.single-product-template .breadcrumbs span {
  padding-left: 15px;
}

.product-preview .swiper-slide {
  padding-bottom: 15px;
}

/*---- Single Product Information ----------*/
.rating-container .rating {
  color: var(--bs-yellow);
  font-size: 1.4em;
}

.product-info .product-price strong {
  font-size: 1.6em;
  color: var(--accent-color);
  padding-right: 10px;
}

.product-info .product-price del {
  color: var(--accent-color);
}

.product-info .color-product-options .color-item {
  display: inline-block;
  vertical-align: top;
  width: 25px;
  height: 25px;
  cursor: pointer;
  border: 1px solid var(--bs-gray);
  padding: 1px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin: 0 3px;
}

.product-info .color-product-options .color-item span {
  border: 1px solid var(--bs-dark);
  display: block;
  width: 100%;
  height: 100%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

.product-info .color-product-options .color-item:hover {
  border: 1px dotted var(--bs-gray-300);
}

.product-info .item-title {
  width: 100%;
}

.swatch-element .swatch-label {
  font-weight: 400;
  line-height: 32px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
  min-width: 50px;
  height: 50px;
  border: 2px solid var(--bs-gray-300);
  transition: all 0.3s;
  cursor: pointer;
  padding: 8px;
}

.swatch-element .swatch-input {
  display: none;
}

.swatch-element .swatch-input:checked+.swatch-label {
  border: 2px solid var(--bs-gray);
}

/*---- Single Product Accordion ----------*/
.review-style1 .review-item .rating-container .rating {
  font-size: 1em;
}

.review-style1 .review-item span.author-name {
  font-weight: 600;
}

.footer-intro img {
  width: 110px;
}

/* button */
.btn-link {
  font-size: 0.875rem;
  font-family: var(--bs-body-font-family);
  letter-spacing: 0.0875rem;
  text-transform: uppercase;
  text-decoration: none;
}

a.btn-link,
a.btn-link:after {
  transition: all .5s;
}

a.btn-link {
  position: relative;
}

a.btn-link:before,
a.btn-link:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  background-color: var(--bs-dark);
  height: 1px;
}

[data-bs-theme=dark] a.btn-link:after {
  background-color: var(--bs-white);
}

a.btn-link:before {
  background-color: var(--bs-gray);
  width: 100%;
}

a.btn-link.is-checked:after,
a.btn-link:hover:after {
  width: 100%;
}

a.btn-link.text-white:after {
  background-color: var(--bs-white);
}

a.btn-link.text-light:after {
  background-color: var(--bs-light);
}

/* color options */
.form-check {
  padding: 0;
}

.form-check-label {
  display: block;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default radio button */
.form-check-label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* Create a custom radio button */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border: 1px solid #111;
  border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.form-check-label:hover input~.checkmark {
  background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.form-check-label input:checked~.checkmark {
  background-color: #A226F3;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
.form-check-label input:checked~.checkmark:after {
  display: block;
}

/* Style the indicator (dot/circle) */
.form-check-label .checkmark:after {
  top: 8px;
  left: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #444;
}

.form-check-label.red input~.checkmark {
  background-color: #CA7A7A;
}

.form-check-label.brown input~.checkmark {
  background-color: #D5BB96;
}

.form-check-label.green input~.checkmark {
  background-color: #A5BC73;
}

.form-check-label.aqua input~.checkmark {
  background-color: #779B9D;
}

/* sidebar accordion */
.product-info .accordion {
  --bs-accordion-btn-icon: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath fill="currentColor" d="M19 11h-6V5a1 1 0 0 0-2 0v6H5a1 1 0 0 0 0 2h6v6a1 1 0 0 0 2 0v-6h6a1 1 0 0 0 0-2Z"%2F%3E%3C%2Fsvg%3E');
  --bs-accordion-btn-active-icon: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath fill="currentColor" d="M19 11H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2Z"%2F%3E%3C%2Fsvg%3E');
}

.product-filter .accordion {
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath fill="currentColor" d="M19 11h-6V5a1 1 0 0 0-2 0v6H5a1 1 0 0 0 0 2h6v6a1 1 0 0 0 2 0v-6h6a1 1 0 0 0 0-2Z"%2F%3E%3C%2Fsvg%3E');
  --bs-accordion-btn-active-icon: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath fill="currentColor" d="M19 11H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2Z"%2F%3E%3C%2Fsvg%3E');
  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 0;
  --bs-accordion-active-color: #a50000;
}

.product-filter .accordion-body>div,
.product-filter .accordion-body a {
  display: block;
  padding: 10px;
  margin-bottom: 1.25rem;
  border: 1px solid #EBEBEA;
}

.product-filter .accordion-body a:hover {
  border: 1px solid #999;
}

/* image zoom */
.image-zoom {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: transform .3s ease-out;
}

/* .swiper-pagination */
.swiper-pagination {
  position: relative;
  margin-top: 30px;
}