@charset "UTF-8";
/*--------- Abstracts variable ---------- */
:root {
  --white: #ffffff;
  --black: #000000;
  --primary: #DC4646;
  --secondary: #70857A;
  --third: #FFEB8A;
  --text: #101010;
  --text-2: #4A4E53;
  --text-3: #6E7075;
  --bg: #F7F7F7;
  --bg-2: #F6F4F3;
  --bg-3: #2C2762;
  --bg-4: #CD3E341A;
  --bg-5: #FDF1E3;
  --bg-6: #103C29;
  --bg-7: #F8F4EC;
  --line: #E9E9E9;
  --white-04: rgba(255, 255, 255, 0.04);
  --white-10: rgba(255, 255, 255, 0.1);
  --white-20: rgba(255, 255, 255, 0.2);
  --white-60: rgba(255, 255, 255, 0.6);
  --yellow: #F0A750;
  --pink: #EC749D;
  --critical: #F03E3E;
  --success: #3DAB25;
  --on-surface: #0C2C48;
  --surface: #F6F6F6;
  --cl-1: #0BE7B4;
  --cl-2: #FDB900;
}

/*------------ Core ---------------- */
/*------------ Core CSS ---------------- */
/*--------- Abstracts variable ---------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/* Elements
-------------------------------------------------------------- */
html {
  margin-right: 0 !important;
  scroll-behavior: smooth;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-main, "DM Sans"), sans-serif;
  font-weight: 400;
  font-size: var(--font-size-base, 16px);
  line-height: 26px;
  color: var(--text);
  /* Deliberately its own scoped variable, not an override of --white —
     that token is shared by ~110 other rules across this file (buttons,
     cards, borders, text-on-dark, …) and must stay untouched. */
  background: var(--noorifa-body-bg, var(--white));
}

body::-webkit-scrollbar {
  width: 3px;
}

body::-webkit-scrollbar-thumb {
  cursor: grab;
  background-color: var(--primary);
  border-radius: 999px;
}

@media (max-width: 1199px) {
  body {
    padding-bottom: 70px;
  }
}
img {
  max-width: 100%;
  height: auto;
  transform: scale(1);
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

ul,
li {
  list-style-type: none;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

table {
  width: 100%;
  overflow-x: auto;
  table-layout: auto;
  border-collapse: collapse;
}

td,
th {
  padding: 0px 0px 12px;
}

svg path {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

button {
  background: transparent;
  border: 0;
  display: inline-flex;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

select,
option {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

/* Since FF19 lowers the opacity of the placeholder by default */
:-ms-input-placeholder {
  color: var(--secondary-2);
}

b,
strong {
  font-weight: bolder;
}

video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

a {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  color: var(--text);
}

a:focus, a:hover {
  outline: 0;
}

p {
  display: block;
  line-height: 32px;
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.grid-6 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}

[data-grid=grid-1] {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr;
}

[data-grid=grid-2] {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr 1fr;
}

[data-grid=grid-3] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, 1fr);
}

[data-grid=grid-4] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(4, 1fr);
}

[data-grid=grid-5] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(5, 1fr);
}

[data-grid=grid-6] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(6, 1fr);
}

[data-grid=grid-7] {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(7, 1fr);
}

.grid-template-columns-2 {
  grid-template-columns: 1fr 1fr;
}

.row-flex {
  display: flex;
  flex-direction: row;
  column-gap: 30px;
  row-gap: 30px;
}

.overflow-unset {
  overflow: unset !important;
}

.sticky-top {
  position: sticky !important;
  z-index: 50;
  top: 15px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.sticky-top.no-offset {
  top: 0;
}

.wmax {
  width: max-content !important;
}

#scroll-top {
  position: fixed;
  display: block;
  width: 48px;
  height: 48px;
  line-height: 50px;
  border-radius: 4px;
  z-index: 1;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  overflow: hidden;
  z-index: 100;
  background-color: var(--main);
  border: 0;
  bottom: 92px;
  right: 20px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#scroll-top.show {
  opacity: 1;
  visibility: visible;
}

#scroll-top.type-1 {
  bottom: 140px;
}

#scroll-top:hover {
  transform: translateY(-5px);
  background-color: var(--primary);
}

/* Preload 
------------------------------------------- */
.preload-container {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  background: #ffffff;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 99999999999;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.spinner {
  width: 60px;
  height: 60px;
  border: 3px solid transparent;
  border-top: 3px solid var(--text);
  border-radius: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  animation: spin 1s infinite linear;
}

.spinner.type-primary {
  border-top-color: var(--primary);
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.br-line {
  width: 100%;
  height: 1px;
  display: flex;
  background-color: var(--line);
}

.br-line.type-vertical {
  width: 1px;
  height: 16px;
}

.br-line.fake-class {
  position: absolute;
  left: 0;
  right: 0;
}

.br-line.h-24 {
  height: 24px;
}

.br-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--primary);
}

.mk-swiper .swiper-slide {
  height: auto;
}

.mk-swiper .swiper-slide > * {
  height: 100%;
}

.initial-child-container {
  flex: 0 0 auto;
  display: flex;
  min-width: auto;
  flex-direction: row;
  align-items: center;
}

.marquee-wrapper {
  display: flex;
  animation: infiniteScroll 7s linear infinite;
  align-items: center;
  transition: animation-duration 300ms;
}

@media (min-width: 1200px) {
  .flex-xl-1 {
    flex: 1 !important;
  }
}
@media (min-width: 576px) {
  .flex-sm-1 {
    flex: 1 !important;
  }
}
.h-unset {
  height: unset !important;
}

.opacity-10 {
  opacity: 0.1 !important;
}

@media (min-width: 576px) {
  .h-sm-100 {
    height: 100% !important;
  }
}
@media (min-width: 1200px) {
  .gap-xl-64 {
    gap: 64px !important;
  }
  .gap-xl-40 {
    gap: 40px !important;
  }
  .h-xl-unset {
    height: unset !important;
  }
}
@media (min-width: 1440px) {
  .text-xxl-nowrap {
    white-space: nowrap !important;
  }
}
.w-maxcontent {
  width: max-content !important;
}

.icon {
  display: inline-block;
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentColor;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*--------- Abstracts variable ---------- */
/* Typography
============================================================== */
/* Heading */
h1,
h2,
h3,
h4,
h5,
h6 {
  text-rendering: optimizeLegibility;
  font-weight: 500;
  margin-bottom: 0;
  letter-spacing: 0;
  /* Falls back to `inherit` (the body font) when the Typography setting's
     Heading Font is left unset, so an untouched install renders exactly
     as it always has — no rule existed here before. */
  font-family: var(--font-heading, inherit);
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  text-rendering: optimizeLegibility;
  font-weight: 500;
  margin-bottom: 0;
  letter-spacing: 0;
  font-family: var(--font-heading, inherit);
}

h1,
.h1 {
  font-size: clamp(34px, 5vw, 56px);
  line-height: clamp(44px, 6vw, 68px);
  letter-spacing: 0.05em;
}

h2,
.h2 {
  font-size: clamp(30px, 4.2vw, 44px);
  line-height: clamp(38px, 5vw, 50px);
  letter-spacing: 0.05em;
}

h3,
.h3 {
  font-size: clamp(28px, 3.8vw, 40px);
  line-height: clamp(36px, 4.5vw, 48px);
  letter-spacing: 0.05em;
}

h4,
.h4 {
  font-size: clamp(24px, 3.5vw, 30px);
  line-height: clamp(32px, 4.2vw, 42px);
  letter-spacing: 0.02em;
}

h5,
.h5 {
  font-size: clamp(20px, 3vw, 20px);
  line-height: clamp(28px, 3.5vw, 30px);
}

h6,
.h6 {
  font-size: 20px;
  line-height: 28px;
}

.fw-7 {
  font-weight: 700;
}

/* Font custom */
.font-main {
  font-family: "DM Sans", sans-serif;
}

.font-2 {
  font-family: "Urbanist", sans-serif;
}

.font-outfit {
  font-family: "Outfit", sans-serif;
}

.font-kumbh {
  font-family: "Kumbh Sans", sans-serif;
}

.font-red_hat {
  font-family: "Red Hat Display", sans-serif;
}

.font-plus_jakarta {
  font-family: "Plus Jakarta Sans", sans-serif;
}

.text-display {
  font-size: clamp(36px, 6vw, 80px);
  line-height: clamp(40px, 6.5vw, 88px);
  letter-spacing: 0.05em;
}

.text-body-1 {
  font-size: 18px;
  line-height: 28px;
}

.text-caption-01 {
  font-size: 14px;
  line-height: 22px;
}

.text-caption-02 {
  font-size: 12px;
  line-height: 16px;
}

.text-label {
  font-size: 12px;
  line-height: 16px;
}

.text-24 {
  font-size: clamp(18px, 2vw, 24px);
  line-height: clamp(18px, 2vw, 24px);
}

.text-64 {
  font-size: clamp(36px, 5vw, 64px);
  line-height: clamp(36px, 5vw, 64px);
}

.text-128 {
  font-size: clamp(64px, 8vw, 128px);
  line-height: clamp(64px, 8vw, 128px);
}

/* Font size */
.fs-10 {
  font-size: 10px !important;
}

.fs-12 {
  font-size: 12px !important;
}

.fs-14 {
  font-size: 14px !important;
}

.fs-16 {
  font-size: 16px !important;
}

.fs-18 {
  font-size: 18px !important;
}

.fs-20 {
  font-size: 20px !important;
}

.fs-24 {
  font-size: 24px !important;
}

.fs-28 {
  font-size: 28px !important;
}

.fs-32 {
  line-height: clamp(28px, 3.5vw, 32px) !important;
}

.fs-35 {
  font-size: 35px !important;
}

.fs-40 {
  font-size: 40px !important;
}

/* Line height */
.lh-8 {
  line-height: 8px !important;
}

.lh-10 {
  line-height: 10px !important;
}

.lh-11 {
  line-height: 11px !important;
}

.lh-13 {
  line-height: 13px !important;
}

.lh-19 {
  line-height: 19px !important;
}

.lh-20 {
  line-height: 20px !important;
}

.lh-24 {
  line-height: 24px !important;
}

.lh-26 {
  line-height: 26px !important;
}

.lh-28 {
  line-height: 28px !important;
}

.lh-30 {
  line-height: 30px !important;
}

.lh-32 {
  line-height: 32px !important;
}

/* Letter spacing */
.letter-space-05 {
  letter-spacing: 0.005em !important;
}

.letter-space-1 {
  letter-spacing: 0.01em !important;
}

.letter-space-2 {
  letter-spacing: 0.02em !important;
}

.letter-space-3 {
  letter-spacing: 0.03em !important;
}

.letter-space-4 {
  letter-spacing: 0.04em !important;
}

.letter-space-0 {
  letter-spacing: 0 !important;
}

.letter-space--1 {
  letter-spacing: -0.01em !important;
}

.letter-space--2 {
  letter-spacing: -0.02em !important;
}

.letter-space--3 {
  letter-spacing: -0.03em !important;
}

.letter-space--4 {
  letter-spacing: -0.04em !important;
}

/* Responsive */
@media (min-width: 1440px) {
  .lh-xxl-11 {
    line-height: 11px !important;
  }
  .lh-xxl-19 {
    line-height: 19px !important;
  }
  .lh-xxl-22 {
    line-height: 22px !important;
  }
  .lh-xxl-56 {
    line-height: 56px !important;
  }
}
@media (min-width: 1200px) {
  .lh-xl-54 {
    line-height: 54px !important;
  }
  .lh-xl-36 {
    line-height: 36px !important;
  }
}
@media (min-width: 992px) {
  .lh-lg-56 {
    line-height: 56px !important;
  }
}
/*--------- Abstracts variable ---------- */
/* General
============================================================== */
/* Margin */
.mb--20 {
  margin-bottom: -20px !important;
}

.mb-2 {
  margin-bottom: 2px !important;
}

.mb-3 {
  margin-bottom: 3px !important;
}

.mb-4 {
  margin-bottom: 4px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.mb-6 {
  margin-bottom: 6px !important;
}

.mb-7 {
  margin-bottom: 7px !important;
}

.mb-8 {
  margin-bottom: 8px !important;
}

.mb-9 {
  margin-bottom: 9px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-12 {
  margin-bottom: 12px !important;
}

.mb-14 {
  margin-bottom: 14px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mb-16 {
  margin-bottom: 16px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-24 {
  margin-bottom: 24px !important;
}

.mb-28 {
  margin-bottom: 28px !important;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-32 {
  margin-bottom: 32px !important;
}

.mb-36 {
  margin-bottom: 36px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mt-4 {
  margin-top: 4px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-14 {
  margin-top: 14px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-30 {
  margin-top: 30px;
}

.mx-15 {
  margin-left: 15px;
  margin-right: 15px;
}

.mx-20 {
  margin-left: 20px;
  margin-right: 20px;
}

/* Padding */
.pb-4 {
  padding-bottom: 4px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pt-30 {
  padding-top: 30px;
}

.pt-40 {
  padding-top: 40px;
}

.px-10 {
  padding-left: 10px;
  padding-right: 10px;
}

.px-16 {
  padding-left: 16px;
  padding-right: 16px;
}

.px-20 {
  padding-left: 20px;
  padding-right: 20px;
}

.py-4 {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.py-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.py-30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* Gap */
.gap-4 {
  gap: 4px !important;
}

.gap-6 {
  gap: 6px !important;
}

.gap-8 {
  gap: 8px !important;
}

.gap-10 {
  gap: 10px !important;
}

.gap-12 {
  gap: 12px !important;
}

.gap-13 {
  gap: 13px !important;
}

.gap-15 {
  gap: 15px !important;
}

.gap-16 {
  gap: 16px !important;
}

.gap-20 {
  gap: 20px !important;
}

.gap-21 {
  gap: 21px !important;
}

.gap-24 {
  gap: 24px !important;
}

.gap-28 {
  gap: 28px !important;
}

.gap-30 {
  gap: 30px !important;
}

.gap-40 {
  gap: 40px;
}

/* Spacing */
.flat-spacing {
  padding-top: 40px;
  padding-bottom: 80px;
}

@media (max-width: 991px) {
  .flat-spacing {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (max-width: 425px) {
  .flat-spacing {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.flat-spacing-2 {
  padding-top: 60px;
  padding-bottom: 60px;
}

@media (max-width: 425px) {
  .flat-spacing-2 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.flat-spacing-3 {
  padding-top: 40px;
  padding-bottom: 40px;
}

.flat-spacing-4 {
  padding-top: 48px;
  padding-bottom: 48px;
}

@media (max-width: 575px) {
  .flat-spacing-4 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.flat-spacing-5 {
  padding-top: 120px;
  padding-bottom: 120px;
}

@media (max-width: 1439px) {
  .flat-spacing-5 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media (max-width: 991px) {
  .flat-spacing-5 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (max-width: 425px) {
  .flat-spacing-5 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.flat-spacing-6 {
  padding-top: 71px;
  padding-bottom: 80px;
}

@media (max-width: 991px) {
  .flat-spacing-6 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (max-width: 425px) {
  .flat-spacing-6 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.flat-spacing-7 {
  padding-top: 80px;
  padding-bottom: 77px;
}

@media (max-width: 991px) {
  .flat-spacing-7 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (max-width: 425px) {
  .flat-spacing-7 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.flat-spacing-8 {
  padding-top: 80px;
  padding-bottom: 120px;
}

@media (max-width: 991px) {
  .flat-spacing-8 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (max-width: 425px) {
  .flat-spacing-8 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
/* Orther */
.text-primary {
  color: var(--primary) !important;
}

.text-secondary {
  color: var(--secondary) !important;
}

.text-white-50 {
  color: var(--white-50);
}

.text-white_20 {
  color: var(--white-20);
}

.text-white_60 {
  color: var(--white-60);
}

.cl-text-yellow {
  color: var(--yellow) !important;
}

.cl-text-main {
  color: var(--text) !important;
}

.cl-text-2 {
  color: var(--text-2) !important;
}

.cl-text-3 {
  color: var(--text-3) !important;
}

.cl-text-4 {
  color: var(--text-4) !important;
}

.cl-text-5 {
  color: var(--text-5) !important;
}

.cl-text-6 {
  color: var(--text-6) !important;
}

.cl-text-7 {
  color: var(--text-7) !important;
}

.cl-text-8 {
  color: var(--text-8) !important;
}

.cl-text-9 {
  color: var(--text-9) !important;
}

.cl-text-10 {
  color: var(--text-10) !important;
}

.cl-text-11 {
  color: var(--text-11) !important;
}

.cl-text-12 {
  color: var(--text-12) !important;
}

.cl-text-13 {
  color: var(--text-13) !important;
}

.cl-text-14 {
  color: var(--text-14) !important;
}

.cl-text-line {
  color: var(--line) !important;
}

.link {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.link:hover {
  color: var(--primary) !important;
}

.link-2 {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.link-2:hover {
  color: var(--primary-2) !important;
}

.link-3 {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.link-3:hover {
  color: var(--secondary) !important;
}

.link-black {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.link-black:hover {
  color: var(--black) !important;
}

.link-dark {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.link-dark:hover {
  color: var(--text) !important;
}

.link-rotate {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.link-rotate:hover {
  transform: rotate(180deg);
}

.link-underline {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: underline;
  text-decoration-color: transparent;
}

.link-underline:hover {
  text-decoration-color: var(--primary);
}

.link-underline-primary {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: underline;
  text-decoration-color: transparent;
}

.link-underline-primary:hover {
  color: var(--primary);
  text-decoration-color: var(--primary);
}

.link-underline-white {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: underline;
  text-decoration-color: transparent;
}

.link-underline-white:hover {
  text-decoration-color: var(--white);
}

.link-underline-text {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: underline;
  text-decoration-color: transparent;
}

.link-underline-text:hover {
  text-decoration-color: var(--text);
}

.text-decoration-thickness {
  text-decoration-thickness: 2px !important;
}

.text-decoration-thickness_3 {
  text-decoration-thickness: 3px !important;
}

.text-vertical {
  writing-mode: vertical-lr;
  transform: rotate(180deg);
}

.color-1 {
  color: var(--cl-1);
}

.color-2 {
  color: var(--cl-2);
}

.cs-pointer {
  cursor: pointer;
}

.max-width_1 {
  max-width: 1424px;
  width: 100%;
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gap-x-10 {
  column-gap: 10px !important;
}

.gap-x-40 {
  row-gap: 40px;
}

.radius-3 {
  border-radius: 3px !important;
}

.radius-4 {
  border-radius: 4px !important;
}

.radius-5 {
  border-radius: 5px !important;
}

.radius-8 {
  border-radius: 8px !important;
}

.radius-10 {
  border-radius: 10px !important;
}

.radius-12 {
  border-radius: 12px !important;
}

.radius-16 {
  border-radius: 16px !important;
}

.radius-20 {
  border-radius: 20px !important;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.bg-secondary {
  background-color: var(--secondary) !important;
}

.bg-main {
  background: var(--bg);
}

.bg-main-2 {
  background: var(--bg-2);
}

.bg-main-5 {
  background: var(--bg-5) !important;
}

.bg-main-6 {
  background: var(--bg-6) !important;
}

.bg-dark {
  background-color: var(--text) !important;
}

.bg-white-2 {
  background-color: var(--bg-10);
}

.bg-white_10 {
  background: var(--white-10) !important;
}

.bg-cl-text {
  background-color: var(--text) !important;
}

.bg-surface {
  background-color: var(--surface);
}

.text-line-clamp-1 {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box !important;
  overflow: hidden;
}

.text-line-clamp-2 {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.text-line-clamp-3 {
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.aspect-ratio-0 {
  aspect-ratio: 0 !important;
}

.aspect-ratio-1 {
  aspect-ratio: 1/1 !important;
}

.aspect-ratio-0_75 {
  aspect-ratio: 0.75 !important;
}

.z-1 {
  z-index: 1;
}

.z-5 {
  z-index: 5;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-auto {
  cursor: auto;
}

.min-w-unset {
  min-width: unset !important;
}

.flex-1 {
  flex: 1;
}

.flex-unset {
  flex: unset !important;
}

.position-unset {
  position: unset !important;
}

.rounded-8 {
  border-radius: 8px !important;
}

.rounded-20 {
  border-radius: 20px !important;
}

.rounded-top-20 {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 2rem;
}

.g-12,
.gy-12 {
  --bs-gutter-y: 12px;
}

.g-20,
.gy-20 {
  --bs-gutter-y: 20px;
}

.g-30,
.gy-30 {
  --bs-gutter-y: 30px;
}

@media (min-width: 426px) {
  .d-ssm-flex {
    display: flex !important;
  }
}
@media (min-width: 768px) {
  .h-md-100 {
    height: 100% !important;
  }
  .w-md-auto {
    width: auto !important;
  }
  .aspect-ratio-md-1 {
    aspect-ratio: 1 !important;
  }
}
@media (min-width: 992px) {
  .gap-lg-30 {
    gap: 30px !important;
  }
  .h-lg-100 {
    height: 100% !important;
  }
  .gap-lg-30 {
    gap: 30px !important;
  }
  .opacity-lg-0 {
    opacity: 0 !important;
  }
  .mb-lg-20 {
    margin-bottom: 20px !important;
  }
}
@media (min-width: 1200px) {
  .mt-xl-40 {
    margin-top: 40px !important;
  }
  .mt-xl-44 {
    margin-top: 44px !important;
  }
  .mb-xl-32 {
    margin-bottom: 32px !important;
  }
  .mx-xl-20 {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media (min-width: 1440px) {
  .g-xxl_40,
  .gy-xxl_40 {
    --bs-gutter-y: 40px;
  }
}
@media (min-width: 1600px) {
  .d-xxxl-flex {
    display: flex !important;
  }
  .d-xxxl-flex {
    display: none !important;
  }
  .d-xxxl-block {
    display: block !important;
  }
}
@media (max-width: 1599px) {
  .xxxl-d-none {
    display: none !important;
  }
}
@media (max-width: 1439px) {
  .xxl-mt-10 {
    margin-top: 10px !important;
  }
}
@media (max-width: 1199px) {
  .xl-wd-full {
    grid-column: 1/-1 !important;
  }
  .xl-gap-20 {
    gap: 20px !important;
  }
  .xl-d-none {
    display: none;
  }
}
@media (max-width: 991px) {
  .lg-overflow-auto {
    overflow: auto !important;
  }
  .lg-mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .lg-justify-content-center {
    justify-content: center !important;
  }
}
@media (max-width: 767px) {
  .md-mb-12 {
    margin-bottom: 12px;
  }
  .md-d-none {
    display: none !important;
  }
}
@media (max-width: 575px) {
  .sm-d-none {
    display: none !important;
  }
  .sm-cl-black {
    color: var(--black) !important;
  }
}
/*------------ Layout ---------------- */
/*------------ Component ---------------- */
/*------------ Layout ---------------- */
/*--------- Abstracts variable ---------- */
.grid-layout {
  display: grid;
  column-gap: 16px;
  row-gap: 24px;
}

.grid-layout.mk-col-1 {
  grid-template-columns: 1fr;
}

.grid-layout.mk-col-2 {
  grid-template-columns: 1fr 1fr;
}

.grid-layout.mk-col-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-layout.mk-col-4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid-layout.mk-col-5 {
  grid-template-columns: repeat(5, 1fr);
}

.grid-layout.mk-col-6 {
  grid-template-columns: repeat(6, 1fr);
}

.grid-layout.mk-col-7 {
  grid-template-columns: repeat(7, 1fr);
}

.grid-layout .wd-full {
  grid-column: 1/-1;
}

.grid-layout .wd-2-cols {
  grid-column: span 2;
}

@media (min-width: 426px) {
  .grid-layout.ssm-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-layout.ssm-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-layout.ssm-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-layout.ssm-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-layout.ssm-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid-layout.ssm-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 576px) {
  .grid-layout {
    column-gap: 24px;
    row-gap: 32px;
  }
  .grid-layout.sm-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-layout.sm-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-layout.sm-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-layout.sm-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-layout.sm-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid-layout.sm-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 768px) {
  .grid-layout.md-col-1 {
    grid-template-columns: 1fr;
  }
  .grid-layout.md-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-layout.md-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-layout.md-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-layout.md-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-layout.md-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid-layout.md-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 992px) {
  .grid-layout.lg-col-1 {
    grid-template-columns: 1fr;
  }
  .grid-layout.lg-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-layout.lg-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-layout.lg-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-layout.lg-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-layout.lg-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid-layout.lg-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 1200px) {
  .grid-layout {
    column-gap: 30px;
    row-gap: 40px;
  }
  .grid-layout.gap-xl-30 {
    gap: 30px !important;
  }
  .grid-layout.cl-gap-xxl-40 {
    column-gap: 40px;
  }
  .grid-layout.cl-xl-gap-38 {
    column-gap: 38px;
  }
  .grid-layout.row-xl-gap-40 {
    row-gap: 40px;
  }
  .grid-layout.row-xl-gap-56 {
    row-gap: 56px;
  }
  .grid-layout.xl-col-1 {
    grid-template-columns: 1fr;
  }
  .grid-layout.xl-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-layout.xl-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-layout.xl-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-layout.xl-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-layout.xl-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid-layout.xl-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media (min-width: 1440px) {
  .grid-layout.xxl-col-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-layout.xxl-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-layout.xxl-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-layout.xxl-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-layout.xxl-col-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid-layout.xxl-col-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
.row {
  margin-right: -16px;
  margin-left: -16px;
}

.row > * {
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 1200px) {
  .row {
    margin-right: -24px;
    margin-left: -24px;
  }
  .row > * {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.row {
  margin-left: -15px !important;
  margin-right: -15px !important;
}

.row > * {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.row.r2 {
  margin-left: -10px !important;
  margin-right: -10px !important;
}

.row.r2 > * {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.row.r3 {
  margin-left: -13px !important;
  margin-right: -13px !important;
}

.row.r3 > * {
  padding-left: 13px !important;
  padding-right: 13px !important;
}

.container {
  margin-left: auto;
  margin-right: auto;
  padding-right: 15px;
  padding-left: 15px;
  width: var(--noorifa-container-width, 1440px);
  max-width: 100%;
}

/* Default boxed-width container for every plain page/post template
   (page.php, single.php, archive.php, search.php, 404.php — all share the
   real #primary > .content-area > .content-area__main wrapper, a naming
   convention this theme chose independently). Shop, cart, checkout and my
   account each already box themselves (their own real .container/max-width
   rules) so this never doubles up with those.

   IMPORTANT: WooCommerce's own core fallback wrapper (plugins/woocommerce/
   templates/global/wrapper-start.php, used by the *unoverridden* default
   templates/single-product.php) independently outputs the exact same
   `<div id="primary" class="content-area"><main id="main" class="site-main">`
   markup — a real collision between two unrelated authors choosing the same
   conventional class names (same category of bug as the earlier
   .woocommerce-checkout body-class collision and the Bootstrap .col-1/.col-2
   collisions — grep before trusting a class name is theme-exclusive).
   Excluded via the real `body.single-product` class WC always adds, since
   that wrapper is just an empty pass-through shell there — the theme's own
   real product layout lives entirely inside
   woocommerce/content-single-product.php's own .container. */
body:not(.single-product) .content-area {
  max-width: var(--noorifa-container-width, 1440px);
  width: 100%;
  margin: 0 auto;
  padding: 40px 15px 100px;
  box-sizing: border-box;
}

.content-area__main {
  min-width: 0;
}

@media (min-width: 992px) {
  body:not(.single-product) .content-area:not(.content-area--single):not(.content-area--full-width) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    column-gap: 40px;
    align-items: start;
  }
}

/* Full Width page template (template-full-width.php) — same padding as
   the boxed .content-area above, just without its max-width cap or the
   sidebar grid, so content stretches to fill the actual viewport. Needs
   the extra `.content-area` in the selector to match the base rule's own
   specificity (body:not() + .content-area), or `max-width` would lose. */
body:not(.single-product) .content-area.content-area--full-width {
  max-width: none;
}
.container-2 {
  margin-left: auto;
  margin-right: auto;
  padding-right: 15px;
  padding-left: 15px;
  width: 1320px;
  max-width: 100%;
}

.container-full {
  margin-left: auto;
  margin-right: auto;
  padding-right: 15px;
  padding-left: 15px;
  width: var(--noorifa-container-full-width, 1800px);
  max-width: 100%;
}

/* Full-width layout mode (Noorifa > Layout > Site Width). Stretches the
   theme's fixed-max-width containers — including the plain-page boxed
   wrapper further below — to fill the actual browser viewport instead of
   capping at their original px width. Boxed (no body class) is the
   theme's original, unchanged default; this rule never applies then. */
body.noorifa-full-width .container,
body.noorifa-full-width .container-full,
body.noorifa-full-width:not(.single-product) .content-area {
  width: 100%;
  max-width: 100%;
}

.container-full.full-v2 {
  width: 1760px;
}

.container-full.full-v3 {
  width: 1830px;
}

.container-full.full-v4 {
  width: 1870px;
}

.container-full-2 {
  width: 100%;
  max-width: 100%;
  padding-left: 60px;
  padding-right: 60px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1599px) {
  .container-full-2 {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 1439px) {
  .container-full-2 {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.container-full-3 {
  width: 100%;
  max-width: 100%;
  padding-left: 40px;
  padding-right: 40px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1599px) {
  .container-full-3 {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 1439px) {
  .container-full-3 {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.container-full-4 {
  width: 100%;
  max-width: 100%;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1599px) {
  .container-full-4 {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (max-width: 1439px) {
  .container-full-4 {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.container-layout-right {
  width: calc(100vw - (100vw - 1800px) / 2);
  margin-right: unset;
  max-width: 100%;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container-layout-right .swiper {
  margin-right: -15px;
  padding-right: 15px;
  overflow: hidden;
}

.grid-cls-layout {
  display: grid;
  gap: 15px;
}

@media (min-width: 576px) {
  .grid-cls-layout .item1 {
    grid-area: aa;
  }
  .grid-cls-layout .item2 {
    grid-area: bb;
  }
  .grid-cls-layout .item3 {
    grid-area: cc;
  }
  .grid-cls-layout .item4 {
    grid-area: dd;
  }
}
@media (min-width: 1200px) {
  .grid-cls-layout {
    gap: 30px;
  }
}
@media (min-width: 992px) {
  .grid-cls-v2 {
    grid-template-areas: "aa bb" "aa cc";
    grid-template-columns: 1fr 1fr;
  }
}
.grid-cls-v3 {
  gap: 10px;
}

@media (min-width: 576px) {
  .grid-cls-v3 {
    grid-template-areas: "aa aa" "bb cc";
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .grid-cls-v3 {
    grid-template-areas: "aa aa bb" "aa aa cc";
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
  }
}
@media (min-width: 1200px) {
  .grid-cls-v4 {
    gap: 26px;
    display: grid;
    grid-template-areas: "aa bb bb bb";
    grid-template-columns: 1fr 1fr 1fr 1fr;
    align-items: center;
  }
  .grid-cls-v4 .item1 {
    grid-area: aa;
  }
  .grid-cls-v4 .item2 {
    grid-area: bb;
  }
}
@media (min-width: 1440px) {
  .grid-cls-v4 {
    grid-template-areas: "aa bb bb bb bb";
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
/*------------ Header ---------------- */
/*------------ Header ---------------- */
/*--------- Abstracts variable ---------- */
.header-block-height {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

header {
  position: sticky;
  z-index: 100;
  background: var(--noorifa-header-bg, transparent);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

header.header-sticky:not(.header-s5, .header-abs) {
  background: var(--noorifa-header-bg, var(--white));
}

header.header-sticky.scr-box-shadow {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

header.header-sticky.scr-box-shadow-2 .header-inner {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

header.header-sticky.header-abs .swip-text {
  opacity: 0;
  visibility: hidden;
}

header.header-sticky.header-s7.hds7-type-2 {
  background: rgba(114, 114, 114, 0.6);
  backdrop-filter: blur(12px);
}

header.header-sticky.header-landing {
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.5);
}

@media (min-width: 1200px) {
  header.header-sticky.has-by-category:not(.header-s8) {
    background: transparent;
  }
  header.header-sticky.has-by-category:not(.header-s8) .header-inner_wrap {
    background: var(--white);
  }
  header.header-sticky.has-by-category:not(.header-s8) .header-bottom_wrap {
    background: var(--white);
  }
  header.header-sticky.has-by-category.header-s8 {
    background: transparent;
  }
  header.header-sticky.has-by-category.header-s8 .header-bottom_wrap {
    border-bottom: 1px solid var(--line);
  }
  header.header-sticky.has-by-category.header-s8 .header-bottom_wrap {
    background: var(--white);
  }
}
.header .box-open-menu-mobile {
  flex: 1;
  display: flex;
}

@media (max-width: 1199px) {
  .header {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .header .logo-site img {
    max-width: 120px;
  }
  .header .header-inner {
    align-items: center;
  }
  .header .header-inner .header-zone--left {
    flex: unset;
  }
}
/* "Always use the mobile menu" setting (Layout::force_mobile_menu()) makes
   .box-open-menu-mobile visible above the 1199px breakpoint too — it needs
   the exact same .header-zone--left flex reset the block above already
   gives it below 1199px, or the zone's own flex:1 fights the hamburger's
   flex:1 for the same space and pushes the logo off-center. */
body.noorifa-force-mobile-menu .header .header-inner .header-zone--left {
  flex: unset;
}
.header .dropdown-select.type-currencies > .dropdown-menu {
  width: max-content !important;
}

.header-abs {
  background: transparent;
  margin-top: 15px;
  margin-bottom: -75px;
}

.header-abs .header-inner_wrap {
  position: relative;
  z-index: 2;
}

.header-abs .swip-text {
  margin-top: 16px;
}

.header-abs .header-inner {
  padding-left: 20px;
  padding-right: 20px;
  background: var(--white);
  border-radius: 12px;
}

.header-abs .header-left {
  display: flex;
  align-items: center;
  gap: 40px;
}

.header-abs .header-right {
  gap: 28px;
}

.header-abs .nav-category-wrap {
  min-width: 218px;
}

@media (min-width: 1200px) {
  .header-abs {
    margin-top: 20px;
    margin-bottom: -142px;
  }
  .header-abs .header-left,
  .header-abs .header-right {
    flex: unset !important;
  }
}
@media (min-width: 1600px) {
  .header-abs {
    margin-top: 40px;
    margin-bottom: -162px;
  }
  .header-abs .header-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .header-abs .form-search-nav {
    min-width: 340px;
  }
}
@media (max-width: 1199px) {
  .header-abs {
    padding-top: 0;
    padding-bottom: 0;
  }
  .header-abs .header-inner {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.header-abs-2 {
  margin-bottom: -80px;
}

@media (max-width: 1199px) {
  .header-abs-2 {
    margin-bottom: -60px;
  }
}
.header-abs-3 {
  margin-bottom: -124px;
}

@media (max-width: 1199px) {
  .header-abs-3 {
    margin-bottom: -60px;
  }
}
.header-s2 .header-right {
  gap: 24px;
  align-items: center;
}

.header-s2 .header-right .br-line {
  height: 20px;
}

@media (max-width: 1599px) {
  .header-s2 .sub-menu.mega-menu {
    left: 0px;
  }
}
@media (max-width: 1439px) {
  .header-s2 .box-nav-menu {
    gap: 20px;
  }
}
.header-s3 .header-center {
  flex: 2;
}

.header-s3 .item-link {
  padding-top: 15px;
  padding-bottom: 15px;
}

.header-s3 .header-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-s3 .header-bottom .col-left {
  display: flex;
  align-items: center;
  gap: 40px;
}

@media (min-width: 1200px) {
  .header-s3 .header-inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .header-s3 .header-inner_wrap,
  .header-s3 .header-bottom_wrap {
    position: relative;
  }
  .header-s3 .header-inner_wrap::before,
  .header-s3 .header-bottom_wrap::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--line);
  }
  .header-s3::before {
    display: none;
  }
}
.header-s4 .form-search-nav {
  max-width: 280px;
}

.header-s4 .item-link {
  padding-top: 15px;
  padding-bottom: 15px;
}

@media (min-width: 1200px) {
  .header-s4 .header-inner {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}
.header-s5 {
  background: var(--bg-3);
}

.header-s5 .header-right {
  gap: 24px;
  align-items: center;
}

.header-s5 .header-right .br-line {
  height: 20px;
}

.header-s5 .item-link {
  padding-top: 19px;
  padding-bottom: 19px;
}

@media (min-width: 1200px) {
  .header-s5 .header-inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.header-s6.header-sticky .header-bottom {
  padding-bottom: 15px;
  padding-top: 15px;
}

.header-s6 .header-bottom_wrap {
  position: relative;
  z-index: 1;
}

.header-s6 .header-inner_wrap {
  position: relative;
  z-index: 2;
}

.header-s6 .header-inner .header-left {
  display: flex;
  align-items: center;
  gap: 60px;
}

.header-s6 .header-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding-top: 31px;
  padding-bottom: 41px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.header-s6 .header-bottom .col-center {
  width: 100%;
}

@media (min-width: 1200px) {
  .header-s6 .header-inner .header-left,
  .header-s6 .header-inner .header-right {
    flex: unset;
  }
}
@media (min-width: 1440px) {
  .header-s6 .item-link {
    padding-top: 35px;
    padding-bottom: 35px;
  }
}
.header-s7 .header-left {
  display: flex;
  align-items: center;
  gap: 40px;
}

.header-s7 .header-right {
  gap: 28px;
}

@media (min-width: 1200px) {
  .header-s7 .header-left {
    gap: 78px;
  }
  .header-s7 .header-left,
  .header-s7 .header-right {
    flex: unset !important;
  }
}
@media (min-width: 1440px) {
  .header-s7 .form-search-nav {
    min-width: 340px;
  }
}
@media (min-width: 1200px) {
  .header-s8 .header-bottom_wrap .header-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header-s8 .item-link {
    padding-top: 23px;
    padding-bottom: 23px;
  }
  .header-s8 .header-left {
    display: flex;
    gap: 40px;
  }
  .header-s8 .header-left .wrap-left {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .header-s8 .header-inner_wrap {
    background: var(--bg);
    position: relative;
    z-index: 1;
  }
  .header-s8 .header-inner .header-left,
  .header-s8 .header-inner .header-right {
    flex: unset;
  }
  .header-s8 .header-inner {
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media (min-width: 1440px) {
  .header-s8 .header-left {
    display: flex;
    width: 100%;
    gap: 60px;
  }
  .header-s8 .header-left .wrap-left {
    width: 100%;
  }
}
.header-s9 .header-inner_wrap {
  position: relative;
  z-index: 2;
}

.header-s9 .swip-text {
  margin-top: 16px;
}

.header-s9 .header-inner {
  padding-left: 20px;
  padding-right: 20px;
  background: var(--white);
  border-radius: 12px;
}

.header-s9 .header-left {
  display: flex;
  align-items: center;
  gap: 40px;
}

.header-s9 .header-right {
  gap: 28px;
}

.header-s9 .nav-category-wrap {
  min-width: 218px;
}

@media (min-width: 1200px) {
  .header-s9 .header-left,
  .header-s9 .header-right {
    flex: unset !important;
  }
}
@media (min-width: 1600px) {
  .header-s9 .header-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .header-s9 .form-search-nav {
    min-width: 340px;
  }
}
@media (max-width: 1199px) {
  .header-s9 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .header-s9 .header-inner {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.header-s10 {
  background-color: var(--white);
  margin-bottom: -130px;
}

.has-by-category .box-open-header-bottom {
  display: none;
  margin-right: 20px;
}

.has-by-category.header-sticky {
  pointer-events: none;
}

.has-by-category.header-sticky > * {
  pointer-events: all;
}

.has-by-category.header-sticky .box-open-header-bottom {
  display: block;
}

.has-by-category .header-bottom_wrap {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-top: 0;
  opacity: 1;
  visibility: visible;
}

.has-by-category .header-bottom_wrap.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 1199px) {
  .has-by-category .box-open-header-bottom {
    display: none !important;
  }
}
.btn-open-header-bottom {
  display: flex;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Generic 3-zone builder slots — a zone renders whatever real header
   modules (logo/navigation/search/account/cart) are assigned to it, so
   alignment is per-zone (left/center/right), not tied to any module. */
.header-inner .header-zone {
  display: flex;
  align-items: center;
  gap: 24px;
}

.header-inner .header-zone--left,
.header-inner .header-zone--right {
  flex: 1;
}

.header-inner .header-zone--center {
  justify-content: center;
}

.header-inner .header-zone--right {
  justify-content: flex-end;
}

.nav-icon-list {
  display: flex;
  align-items: center;
  gap: 24px;
}

.nav-icon-list .nav-icon-item {
  display: flex;
  /* Same resting-color override as .item-link (nav menu text) — falls back
     to inherit when the Header Builder's Menu Color is left unset. Hover
     stays untouched (.link:hover already wins via !important). */
  color: var(--noorifa-menu-color, inherit);
}

.nav-icon-list .nav-icon-item .icon {
  font-size: 24px;
}

.nav-icon-list .nav-icon-item.has-text {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nav-icon-list .shop-cart {
  position: relative;
}

.nav-icon-list .shop-cart .count {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 11px;
  line-height: 10px;
  color: var(--white);
  background: var(--primary);
}

@media (max-width: 767px) {
  .nav-icon-list {
    gap: 12px;
  }
}
.box-navigation.style-white .item-link {
  color: var(--white);
}

.box-navigation.style-white-2 .item-link {
  color: var(--white);
}

.box-navigation.style-white-2 .item-link .cus-text::after {
  background: var(--text);
}

.box-navigation.style-white-2 .menu-item:hover .item-link {
  color: var(--text);
}

.box-nav-menu {
  display: flex;
  align-items: center;
  gap: 24px;
}

.item-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-top: 27px;
  padding-bottom: 27px;
  position: relative;
  /* All fall back to their real original value when the matching Header
     Builder setting is left unset — this is the only real source of nav
     menu item links (MegaMenuWalker), desktop and mobile (JS-cloned)
     alike. The hover color (--primary) is untouched, only the resting
     color is overridden. */
  font-family: var(--font-menu, inherit);
  color: var(--noorifa-menu-color, inherit);
  font-size: var(--noorifa-menu-font-size, inherit);
  font-weight: var(--noorifa-menu-weight, 700);
  text-transform: var(--noorifa-menu-transform, none);
}

.item-link::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: calc(100% + 48px);
  height: 100%;
  display: none;
}

.item-link .cus-text {
  position: relative;
}

.item-link .cus-text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: auto;
  right: 0;
  width: 0;
  height: 1px;
  background: var(--primary);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.item-link .icon {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.menu-item:hover .item-link {
  color: var(--primary);
}

.menu-item:hover .item-link::after {
  display: block;
}

.menu-item:hover .item-link .cus-text::after {
  right: auto;
  left: 0;
  width: 100%;
}

.menu-item:hover .item-link .icon {
  transform: rotate(180deg);
}

.menu-item:hover .sub-menu {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

@media (max-width: 1439px) {
  .menu-item.menu-cus {
    position: unset;
  }
}
.sub-menu {
  position: absolute;
  left: -32px;
  right: auto;
  padding: 32px;
  background: var(--white);
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  border-radius: 0px 0px 16px 16px;
  transform: translateY(10px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 1439px) {
  .sub-menu {
    min-width: 180px;
  }
  .sub-menu.mega-menu {
    left: 0;
    right: 0;
  }
}
.mega-menu {
  width: 100%;
  margin: auto;
  left: 0;
  right: 0;
  padding-bottom: 48px;
}

@media (max-width: 1439px) {
  .mega-menu .card-product .card-product_wrapper.square .compare {
    display: none !important;
  }
  .mega-menu .card-product.has-size .variant-box {
    display: none;
  }
  .mega-menu .card-product.has-size .product-action_bot {
    bottom: 16px;
  }
}
.mega-menu-item .menu-heading {
  margin-bottom: 16px;
}

.sub-menu_wrap {
  display: flex;
  gap: 40px;
}

.sub-menu_wrap .sub-image {
  width: 300px;
  border-radius: 8px;
  overflow: hidden;
}

.menu-heading {
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 26px;
}

.sub-menu_list li:not(:first-child) .sub-menu_link {
  padding-top: 8px;
}

.sub-menu_list li:not(:last-child) .sub-menu_link {
  padding-bottom: 8px;
}

@media (min-width: 1440px) {
  .sub-menu_list {
    min-width: 150px;
  }
}
.sub-menu_link {
  white-space: nowrap;
  color: var(--text-2);
  font-weight: 500;
}

.sub-menu_link .cus-text {
  position: relative;
}

.sub-menu_link .cus-text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: auto;
  right: 0;
  width: 0;
  height: 1px;
  background: var(--text);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.sub-menu_link:hover {
  color: var(--text);
}

.sub-menu_link:hover .cus-text::after {
  right: auto;
  left: 0;
  width: 100%;
}

.sub-menu_link.has-text {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sub-menu_link.type-pri:hover {
  color: var(--primary);
}

.sub-menu_link.type-pri .cus-text::after {
  background: var(--primary);
}

.demo-label {
  font-size: 10px;
  line-height: 12px;
  padding: 2px 4px;
  border-radius: 4px;
  color: var(--white);
  font-weight: 600;
}

.demo-label.type-hot {
  background: var(--primary);
}

.demo-label.type-trend {
  background: var(--yellow);
}

.demo-label.type-new {
  background: var(--pink);
}

.demo-label.type-soon {
  background: rgba(147, 39, 166, 0.8);
}

.nav-category-wrap {
  position: relative;
  min-width: 300px;
}

.nav-category-wrap.style-2 .btn-nav-drop {
  background: var(--primary);
}

.nav-category-wrap.style-2 .box-nav-category {
  border: 3px solid var(--primary);
  border-top: 0;
}

.nav-category-wrap.style-2 .has-sub-nav-category .sub-nav-category {
  padding: 24px;
}

.nav-category-wrap.style-2 .sub-nav-category_list .sub-nav__link:not(:last-child) {
  margin-bottom: 24px;
}

.nav-category-wrap.style-3 .btn-nav-drop {
  padding-top: 12px;
  padding-bottom: 12px;
}

.nav-category-wrap.style-3 .btn-nav-drop:not(:hover) {
  background: var(--bg);
  color: var(--text);
}

.nav-category-wrap.style-4 {
  min-width: 220px;
}

.nav-category-wrap.style-4 .btn-nav-drop {
  background: var(--white);
  border: 1px solid var(--line);
  color: var(--text);
  padding: 11px 15px;
}

.box-nav-category {
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  background: var(--white);
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  transform: translateY(10px);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 0px 0px 12px 12px;
}

.box-nav-category.active {
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}

.box-nav-category li:not(:last-child) {
  border-bottom: 1px solid var(--line);
}

.box-nav-category li:last-child .nav-category_link {
  border-radius: 0px 0px 12px 12px;
}

.has-sub-nav-category {
  position: relative;
}

.has-sub-nav-category .sub-nav-category {
  padding: 32px;
  padding-right: 48px;
  border-radius: 12px;
  background: var(--white);
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  position: absolute;
  left: 100%;
  top: 0;
  white-space: nowrap;
  transform: translateY(10px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.has-sub-nav-category .grid-layout {
  gap: 30px 50px;
}

.has-sub-nav-category:hover .nav-category_link {
  color: var(--primary);
  background: var(--bg);
}

.has-sub-nav-category:hover .sub-nav-category {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.sub-nav-category_list {
  display: grid;
  place-items: start;
  min-width: 200px;
}

.sub-nav-category_list .sub-nav__title {
  margin-bottom: 12px;
}

.sub-nav-category_list .sub-nav__link:not(:last-child) {
  margin-bottom: 8px;
}

.nav-category_link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 16px 24px;
  color: var(--text);
  font-weight: 500;
}

.nav-category_link .icon {
  font-size: 20px;
}

.nav-category_link:hover {
  color: var(--primary);
  background: var(--bg);
}

.btn-nav-drop {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  background: var(--black);
  color: var(--white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 15px 20px;
}

.btn-nav-drop .name-category {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  flex: 1;
}

/* -- Nav Mobile -- */
.btn-open-menu {
  font-size: 32px;
  display: inline-flex;
}

.canvas-mb .canvas-header {
  display: grid;
  gap: 20px;
  justify-content: unset;
  padding: 20px;
}

.canvas-mb .canvas-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  padding-top: 0;
}

.canvas-mb .need-help-wrap {
  display: grid;
}

.canvas-mb .canvas-footer {
  display: flex;
  border-top: 1px solid var(--line);
  box-shadow: unset;
  padding: 0;
}

.canvas-mb .canvas-footer > * {
  width: 100%;
  padding: 6px 0 7px;
}

.nav-ul-mb .nav-mb-item:not(:last-child) .mb-menu-link {
  padding-bottom: 12px;
}

.nav-ul-mb .nav-mb-item:not(:last-child) {
  border-bottom: 1px solid var(--line);
}

.nav-ul-mb .nav-mb-item:not(:first-child) .mb-menu-link {
  padding-top: 12px;
}

.mb-menu-link {
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mb-menu-link:not(.collapsed) .ic-custom::before {
  transform: rotate(90deg);
}

.mb-menu-link:not(.collapsed) .ic-custom::after {
  transform: rotate(180deg);
}

.mb-menu-link .ic-custom {
  width: 12px;
  height: 12px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mb-menu-link .ic-custom::after, .mb-menu-link .ic-custom::before {
  content: "";
  position: absolute;
  background: var(--black);
  border-radius: 999px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.mb-menu-link .ic-custom::after {
  width: 100%;
  height: 2px;
}

.mb-menu-link .ic-custom::before {
  height: 100%;
  width: 2px;
}

.mb-menu-link.active {
  font-weight: 700;
  color: var(--black);
}

.sub-nav-link .icon {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.sub-nav-link:not(.collapsed) .icon {
  transform: rotateX(180deg);
}

.sub-nav-menu {
  padding-left: 16px;
  padding-top: 4px;
  padding-bottom: 4px;
  margin-left: 16px;
  border-left: 1px solid var(--line);
  margin-bottom: 20px;
}

.sub-nav-menu .sub-nav-link {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: var(--text);
  display: flex;
  padding-top: 8px;
  padding-bottom: 8px;
  align-items: center;
  justify-content: space-between;
}

.sub-nav-menu .sub-nav-link .icon {
  font-size: 14px;
}

.sub-nav-menu .sub-nav-link.active {
  font-weight: 700;
  color: var(--black);
}

.sub-nav-menu .sub-nav-link.soon {
  pointer-events: none;
  color: var(--text-3);
}

.demo-item {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 12px;
  padding: 8px 8px 12px;
  backdrop-filter: blur(4px);
  border: 1px solid var(--line);
  background-color: var(--bg);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 8px;
}

.demo-item .demo-img {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
}

.demo-item .demo-img img {
  aspect-ratio: 0.9;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.demo-item .demo-name {
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: var(--text-2);
  display: flex;
  align-items: center;
  gap: 8px;
}

.demo-item:hover {
  border-color: var(--text);
}

.demo-item:hover .demo-name {
  color: var(--text);
}

.demo-item.soon {
  pointer-events: none;
  opacity: 0.5;
}

.row-demo {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}

@media (min-width: 1440px) {
  .row-demo {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 1600px) {
  .row-demo {
    grid-template-columns: repeat(7, 1fr);
  }
}
.mega-menu_home .row-demo {
  margin-bottom: 30px;
}

.mega-menu_home_v2 {
  display: flex;
  gap: 40px;
  left: 0;
}

.mega-menu_home_v2 .sub-menu_list {
  min-width: 200px;
}

.mega-menu_home_v2 .sub-menu_list .soon {
  pointer-events: none;
  color: var(--text-3);
}

.mega-menu_home_v2 .image-preview {
  border-radius: 8px;
  overflow: hidden;
  display: flex;
}

.mega-menu_home_v2 .image-preview img {
  max-width: 300px;
}

.mega-menu_home_v2.home-type_2 {
  left: -280px;
}

.mega-menu_home_v2.home-type_4 {
  left: -180px;
}

@media (max-width: 1439px) {
  .mega-menu_home_v2.home-type_3 {
    left: -180px;
  }
}
.nav-account {
  position: relative;
}

.nav-account .dropdown-account {
  pointer-events: none;
  position: absolute;
  background-color: var(--white);
  min-width: 200px;
  z-index: 999;
  visibility: hidden;
  text-align: left;
  top: calc(100% + 28px);
  opacity: 0;
  visibility: hidden;
  border-radius: 8px;
  transform: translateX(0px) translateY(15px);
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.12);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  left: -100px;
  padding: 8px 28px;
}

.nav-account .dropdown-account .list-menu-item li:not(:last-child) {
  margin-bottom: 8px;
}

.nav-account .dropdown-account .list-menu-item li:not(:last-child) a {
  border-bottom: 1px solid var(--line);
}

.nav-account .dropdown-account .list-menu-item a {
  padding: 8px 0px;
  display: block;
}

.nav-account:hover .dropdown-account {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
  transform: translateX(0px) translateY(0px);
}

.nav-account:hover .nav-icon-item::after {
  display: block;
}

.nav-account .dropdown-login {
  left: -200px;
  min-width: 290px;
  padding: 24px;
}

.nav-account .dropdown-login .btn {
  border-radius: 4px;
  width: 100%;
  font-size: 12px;
  line-height: 20px;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.nav-account .dropdown-login .sub-top {
  display: grid;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.nav-account .dropdown-login .sub-bot {
  padding: 16px 0px;
}

.nav-account .nav-icon-item {
  position: relative;
}

.nav-account .nav-icon-item::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 82px;
  display: none;
}

.has-menu-lv2 {
  position: relative;
}

.has-menu-lv2 .sub-menu_link {
  position: relative;
  justify-content: space-between;
}

.has-menu-lv2::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 100%;
  height: 120%;
  width: 50px;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}

.has-menu-lv2:hover > .sub-menu_link .cus-text {
  color: var(--text);
}

.has-menu-lv2:hover > .sub-menu_link .cus-text::after {
  right: auto;
  left: 0;
  width: 100%;
}

.has-menu-lv2:hover::after {
  opacity: 1;
  visibility: visible;
}

.has-menu-lv2:hover .sub-menu-lv2 {
  --tranY: 0px;
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.sub-menu-lv2 {
  --tranY: 10px;
  position: absolute;
  left: calc(100% + 37px);
  top: -22px;
  padding: 32px;
  background: var(--white);
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  border-radius: 16px;
  transform: translateY(var(--tranY));
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.sub-menu-lv2 .sub-menu_list > li:first-child .sub-menu_link {
  padding-top: 0;
}

.sub-menu-lv2 .sub-menu_list > li:last-child .sub-menu_link {
  padding-bottom: 0;
}

/*--------- Abstracts variable ---------- */
.topbar {
  padding-top: 12px;
  padding-bottom: 12px;
  position: relative;
  z-index: 101;
}

/* Scoped to .topbar.bg-dark specifically (not the shared .bg-dark utility
   used elsewhere) so the Topbar Background Color setting never affects
   any other element that happens to use the same class. !important is
   required here to win against .bg-dark's own `!important` rule above. */
.topbar.bg-dark {
  background-color: var(--noorifa-topbar-bg, #101010) !important;
}

/* The topbar message has no font-size rule of its own (inherits body's),
   so this is a fresh, safe addition — falls back to 16px, matching the
   theme's original inherited default exactly. Color used to come from
   Bootstrap's own `.text-white` utility (bootstrap-custom.css, !important)
   — removed from the template in favor of this real, overridable
   declaration, which still falls back to the exact same #fff. */
.topbar p {
  font-size: var(--noorifa-topbar-font-size, 16px);
  color: var(--noorifa-topbar-text, #fff);
}

.topbar .br-line.fake-class {
  position: absolute;
  left: 0;
  right: 0;
}

.swiper-topbar {
  height: 26px;
}

.topbar-s2 {
  position: relative;
}

.topbar-s2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--line);
}

.topbar-s3 {
  padding-top: 9px;
  padding-bottom: 9px;
}

.topbar .dropdown-select.type-currencies > .dropdown-menu {
  width: max-content !important;
}

/*------------ Blog ---------------- */
/*------------ Blog ---------------- */
/*--------- Abstracts variable ---------- */
.article-blog {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 16px;
}

.article-blog .blog-image {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.article-blog .entry-date {
  margin-bottom: 12px;
}

.article-blog .entry-title {
  margin-bottom: 8px;
}

.article-blog .wrap-tags {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 3;
}

.article-blog .wrap-tags .tag {
  padding: 4px 11px;
  background-color: var(--text);
  border-radius: 4px;
  color: var(--white);
}

.article-blog.style-list .entry-desc {
  margin-bottom: 12px;
}

.article-blog.style-list .blog-image {
  border-radius: 8px;
}

@media (min-width: 576px) {
  .article-blog.style-list.list-v2 {
    flex-direction: row;
  }
}
@media (min-width: 576px) {
  .article-blog.style-list.list-v2 .blog-image {
    max-width: 300px;
    width: 100%;
  }
}
.article-blog.style-2 {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.article-blog.style-2 img {
  min-height: 450px;
}

.article-blog.style-2 .blog-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 24px 28px;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(40px);
}

@media (max-width: 767px) {
  .article-blog.style-2 .blog-content {
    padding: 24px 15px;
  }
}
.article-blog.style-3 .blog-image {
  border-radius: 1000px 1000px 0 0;
  position: relative;
}

.article-blog.style-3 .wrap-tags {
  position: absolute;
  left: 12px;
  bottom: 12px;
  top: unset;
  z-index: 3;
}

.article-blog.style-3 .wrap-tags .tag {
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 8px;
  background-color: var(--text);
  border-radius: 4px;
  color: var(--white);
  height: 30px;
}

@media (min-width: 1200px) {
  .article-blog {
    gap: 24px;
  }
  .article-blog.style-list {
    display: flex;
    align-items: center;
    flex-direction: row;
  }
  .article-blog.style-list > * {
    width: 50%;
  }
}
@media (min-width: 1440px) {
  .article-blog.style-list > * {
    width: 100%;
  }
  .article-blog.style-list .blog-image {
    max-width: 340px;
    flex-shrink: 0;
  }
}
.page-pagination .nav-links {
  display: flex;
  gap: 8px;
}

.page-pagination .page-numbers {
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  font-weight: 600;
}

.page-pagination .page-numbers.current,
.page-pagination .page-numbers:hover {
  border-color: var(--text);
  background: var(--text);
  color: var(--white);
}

.page-pagination .page-numbers.dots {
  border-color: transparent;
}

.blog-sidebar {
  max-width: 380px;
  margin-left: auto;
}

.sidebar-item:not(:last-child) {
  margin-bottom: 40px;
}

.sidebar-item .sb-title {
  margin-bottom: 16px;
}

.sb-category {
  display: grid;
  gap: 12px;
}

.sb-category a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sb-category a:not(:hover) {
  color: var(--text-2);
}

.sb-recent .recent-item {
  display: flex;
  align-items: center;
  gap: 28px;
}

.sb-recent .recent-item:not(:last-child) {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.sb-recent .image {
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
}

.sb-recent .image img {
  object-fit: cover;
  aspect-ratio: 1;
}

.sb-recent .meta-date {
  margin-bottom: 4px;
}

.sb-recent .meta-name {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box !important;
  overflow: hidden;
}

@media (max-width: 991px) {
  .sb-recent .recent-item {
    gap: 16px;
  }
}
.sb-tag {
  display: flex;
  gap: 11px;
  flex-wrap: wrap;
}

.sb-tag a {
  padding: 4px 16px;
  border-radius: 100px;
  color: var(--text-2);
  background: var(--bg);
}

.sb-tag a:hover {
  background: var(--primary);
  color: var(--white);
}

@media (max-width: 991px) {
  .sb-tag {
    gap: 8px;
  }
}
.btn-sidebar-mb {
  position: fixed;
  top: 30%;
  left: 0;
  z-index: 51;
}

.btn-sidebar-mb button {
  width: 40px;
  height: 40px;
  border: 1px solid var(--black);
  background-color: var(--black);
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-sidebar-mb button i {
  font-size: 20px;
}

.btn-sidebar-mb.right {
  left: unset;
  right: 0;
  transform: rotate(180deg);
}

.main-blog-single .wg-comment {
  margin-bottom: 40px;
}

.main-blog-single .blog-image {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 60px;
  /* `img { height: 100% }` below only means anything once this container
     has a real height of its own — without one, the image just rendered
     at its own natural aspect ratio stretched to the full content width,
     which for a wide/landscape photo meant an oversized, sometimes
     600-1000px-tall banner dominating the page above the title. */
  height: 500px;
}

.main-blog-single .blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-blog-single .blog-content {
  display: grid;
  gap: 40px;
  margin-bottom: 40px;
}

.main-blog-single .blog-content .list li {
  padding-left: 27px;
  position: relative;
}

.main-blog-single .blog-content .list li::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--text);
  top: 12px;
  left: 13px;
}

.main-blog-single .blog-heading {
  text-align: center;
  display: grid;
  place-items: center;
  gap: 16px;
}

.main-blog-single .blog-heading .entry-tag {
  padding: 7px 16px;
  background: var(--bg);
  display: inline-flex;
  border-radius: 100px;
}

.main-blog-single .blog-heading .entry-meta {
  display: flex;
  align-items: center;
  gap: 16px;
}

.main-blog-single .blog-heading .meta-item {
  display: flex;
  align-items: center;
  gap: 4px;
}

.main-blog-single .blog-heading .meta-item .icon {
  font-size: 20px;
}

.main-blog-single .blog-image-2 {
  border-radius: 8px;
  overflow: hidden;
}

.main-blog-single .box-social-tag {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.main-blog-single .box-social-tag .social-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.main-blog-single .box-social-tag .tags-right a {
  padding: 4px 16px;
  border-radius: 100px;
  color: var(--text-2);
  background: var(--bg);
}

.main-blog-single .box-social-tag .tags-right a:hover {
  background: var(--primary);
  color: var(--white);
}

.main-blog-single .box-social-tag .social-icon-2 a {
  width: 32px;
  height: 32px;
}

.main-blog-single .box-social-tag .social-icon-2 .icon {
  font-size: 16px;
}

.main-blog-single .group-direc {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 23px;
  padding-bottom: 23px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.main-blog-single .group-direc .br-line {
  height: 100%;
}

.main-blog-single .group-direc .btn-direc {
  display: grid;
  gap: 8px;
}

.main-blog-single .group-direc .btn-direc.next {
  text-align: end;
}

@media (max-width: 991px) {
  .main-blog-single .wg-comment {
    margin-bottom: 30px;
  }
  .main-blog-single .blog-image {
    margin-bottom: 40px;
    height: 360px;
  }
  .main-blog-single .blog-content {
    gap: 30px;
    margin-bottom: 30px;
  }
}
/*------------ Element ---------------- */
/*------------ Entry Content ---------------- */
/* Real page/post body typography — page.php, single.php, archive.php,
   search.php, 404.php all render raw the_content()/the_excerpt() output
   with zero prior styling (the theme's global reset strips all default
   margins/list-style). Scoped to .entry-content so it never touches
   WooCommerce's own real card/product text elsewhere on the site. */
.entry--page {
  margin-bottom: 40px;
}

.entry-thumbnail {
  margin-bottom: 32px;
  border-radius: 12px;
  overflow: hidden;
}

.entry-thumbnail img {
  width: 100%;
  height: auto;
}

.entry-content > * + * {
  margin-top: 20px;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin-top: 32px;
  margin-bottom: 4px;
}

.entry-content p {
  line-height: 26px;
  color: var(--text-2);
}

.entry-content a {
  color: var(--text);
  text-decoration: underline;
}

.entry-content ul,
.entry-content ol {
  padding-left: 20px;
}

.entry-content ul {
  list-style: disc;
}

.entry-content ol {
  list-style: decimal;
}

.entry-content li {
  line-height: 26px;
  color: var(--text-2);
  margin-bottom: 8px;
}

.entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.entry-content blockquote {
  padding: 16px 24px;
  border-left: 3px solid var(--black);
  font-style: italic;
  color: var(--text);
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
}

.entry-content table th,
.entry-content table td {
  padding: 10px 12px;
  border: 1px solid var(--line);
  text-align: left;
}

.error-404 {
  text-align: center;
}

.error-404__description {
  margin: 16px 0 24px;
  color: var(--text-2);
}

.error-404__home-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 28px;
  margin-top: 16px;
  border-radius: 60px;
  background: var(--black);
  color: var(--white);
  font-weight: 600;
}

.no-results {
  text-align: center;
  padding: 40px 0;
}

.no-results__title {
  margin-bottom: 12px;
}

.no-results p {
  color: var(--text-2);
  margin-bottom: 16px;
}

.site-sidebar {
  min-width: 0;
}

/*------------ Animation (only keyframes real components depend on) ---------------- */
@keyframes shine-reverse {
  0% {
    left: 100%;
  }
  100% {
    left: -100%;
  }
}
@-webkit-keyframes spinner-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes spinner-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
/*--------- Abstracts variable ---------- */
.hover-img .img-style {
  overflow: hidden;
}

.hover-img .img-style > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transition: opacity 0.5s ease, transform 1.5s cubic-bezier(0, 0, 0.44, 1.18);
  transition: opacity 0.5s ease, transform 1.5s cubic-bezier(0, 0, 0.44, 1.18);
}

.hover-img:hover .img-style > img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.hover-img .img-style2 {
  overflow: hidden;
  border-radius: 10px;
}

.hover-img .img-style2 .img-hv {
  width: 100%;
  object-fit: cover;
  -webkit-transition: all 1s cubic-bezier(0.3, 1, 0.35, 1) 0s;
  transition: all 1s cubic-bezier(0.3, 1, 0.35, 1) 0s;
  transition: transform 500ms ease;
}

.hover-img2 .img-style2 {
  overflow: hidden;
  border-radius: 8px;
}

.hover-img2 .img-style2 .img2 {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.hover-img2:hover .img2 {
  transform: scale(1.1) rotate(3deg);
}

.hover-img3 .img-style3 {
  border-radius: 8px;
  overflow: hidden;
}

.hover-img3 .img-style3 img {
  width: 100%;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.hover-img3:hover img {
  transform: scale(1.075);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.hover-img4 .img-style4 {
  position: relative;
  overflow: hidden;
}

.hover-img4 .img-style4:after {
  content: "";
  position: absolute;
  width: 200%;
  height: 0%;
  left: 50%;
  top: 50%;
  background-color: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%) rotate(-45deg);
  z-index: 1;
  pointer-events: none;
}

.hover-img4 .img-style4 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 1s;
}

.hover-img4:hover .img-style4:after {
  height: 250%;
  transition: all 600ms linear;
  background-color: transparent;
}

.hover-img4:hover .img-style4 img {
  transform: scale(1.1);
}

.pagi2 .swiper-pagination2:hover .box-img .icon-practice,
.swiper-button-next2:hover .box-img .icon-practice,
.swiper-button-prev2:hover .box-img .icon-practice,
.hv-one:hover .box-img .icon-practice {
  opacity: 1;
  z-index: 99;
  top: 50%;
  transition-delay: 0.5s;
}

.pagi2 .swiper-pagination2:hover .img-style::before,
.swiper-button-next2:hover .img-style::before,
.swiper-button-prev2:hover .img-style::before,
.hv-one:hover .img-style::before {
  opacity: 1;
}

.pagi2 .swiper-pagination2 .img-style,
.swiper-button-next2 .img-style,
.swiper-button-prev2 .img-style,
.hv-one .img-style {
  border-radius: 10px;
  overflow: hidden;
}

.pagi2 .swiper-pagination2 .img-style::before,
.swiper-button-next2 .img-style::before,
.swiper-button-prev2 .img-style::before,
.hv-one .img-style::before {
  content: "";
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  position: absolute;
  background: rgba(0, 0, 0, 0.5019607843);
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 99;
  opacity: 0;
  border-radius: 10px;
}

.pagi2 .swiper-pagination2 .img-style.s-one::before,
.swiper-button-next2 .img-style.s-one::before,
.swiper-button-prev2 .img-style.s-one::before,
.hv-one .img-style.s-one::before {
  border-radius: 50%;
}

.hv-one2:hover .img-style2::before {
  opacity: 1;
  visibility: visible;
}

.hv-one2 .img-style2::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.4s ease-out 0s;
  -moz-transition: all 0.4s ease-out 0s;
  -ms-transition: all 0.4s ease-out 0s;
  -o-transition: all 0.4s ease-out 0s;
  transition: all 0.4s ease-out 0s;
  opacity: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  border-radius: 10px;
}

.hv-tool {
  position: relative;
  transition: all 0.3s ease;
}

.hover-tooltip {
  position: relative;
}

.hover-tooltip .tooltip {
  font-family: "DM Sans", sans-serif;
  position: absolute;
  white-space: nowrap;
  padding: 2px 12px;
  border-radius: 2px;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  color: var(--white);
  background-color: var(--black);
  transition: transform 0.3s ease 0.1s, opacity 0.3s ease 0.1s;
  z-index: 5;
  font-size: 12px;
  line-height: 22px;
  font-weight: 400;
  border-radius: 8px;
  text-align: center;
  display: none;
}

.hover-tooltip .tooltip::before {
  content: "";
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  top: 22px;
  position: absolute;
  background: var(--black);
  width: 9px;
  height: 9px;
  z-index: -1;
}

@media (min-width: 1200px) {
  .hover-tooltip .tooltip {
    display: block;
  }
}
.hover-tooltip:hover .tooltip {
  opacity: 1;
  visibility: visible;
}

.hover-tooltip.tooltip-bot .tooltip {
  top: calc(100% + 9px);
  bottom: unset;
}

.hover-tooltip.tooltip-bot .tooltip::before {
  top: -5px;
}

.hover-tooltip.tooltip-left .tooltip {
  right: 100%;
  bottom: auto;
  transform: translateX(0px);
  left: unset;
}

.hover-tooltip.tooltip-left .tooltip::before {
  top: 50%;
  left: auto;
  transform: translateY(-50%) rotate(45deg);
  right: -4px;
}

.hover-tooltip.tooltip-left:hover .tooltip {
  transform: translateX(-12px);
}

.hover-tooltip.tooltip-right .tooltip {
  left: 100%;
  bottom: auto;
  transform: translateX(0px);
}

.hover-tooltip.tooltip-right .tooltip::before {
  top: 50%;
  right: auto;
  transform: translateY(-50%) rotate(45deg);
  left: -4px;
}

.hover-tooltip.tooltip-right:hover .tooltip {
  transform: translateX(8px);
}

.hover-overlay {
  position: relative;
}

.hover-overlay::before {
  position: absolute;
  z-index: 2;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  top: 0;
  left: 0;
  transition: 0.4s ease 0.1s;
  opacity: 0;
  visibility: hidden;
}

.hover-overlay:hover::before {
  opacity: 1;
  visibility: visible;
}

.hover-cursor-img .hover-image {
  display: none;
}

@media (min-width: 1200px) {
  .hover-cursor-img {
    position: relative;
  }
  .hover-cursor-img .hover-image {
    position: fixed;
    display: block;
    transform: scale(0);
    pointer-events: none;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 1000;
  }
  .hover-cursor-img .hover-image img {
    border-radius: 50%;
    max-width: 150px;
    box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  }
}
/*--------- Abstracts variable ---------- */
.box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}

.social-color {
  --facebook-cl: rgb(59, 89, 152);
  --x-cl: rgb(85, 85, 85);
  --instagram-cl: linear-gradient(#8a3ab9, #e95950, #fccc63);
  --threads-cl: rgb(224, 53, 102);
  --youtube-cl: rgb(205, 32, 31);
  --tiktok-cl: linear-gradient(#25f4ee, #000, #fe2c55);
  --tiktok-cl2: rgb(254, 44, 85);
  --pinterest-cl: rgb(203, 32, 39);
  --tumblr-cl: rgb(55, 69, 92);
  --vimeo-cl: rgb(26, 183, 234);
  --snapchat-cl: rgb(255, 221, 0);
  --whatsapp-cl: rgb(0, 230, 118);
  --linked_in-cl: rgb(23, 106, 255);
  --wechat-cl: rgb(26, 173, 24);
  --reddit-cl: rgb(255, 69, 0);
  --line-cl: rgb(0, 195, 77);
  --spotify-cl: rgb(30, 125, 96);
}

.social-color a {
  position: relative;
  overflow: hidden;
}

.social-color a::after {
  content: "";
  position: absolute;
  background: transparent;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  z-index: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}

.social-color .social-facebook::after {
  background: var(--facebook-cl);
}

.social-color .social-facebook:hover {
  color: var(--white);
}

.social-color .social-facebook:hover::after {
  opacity: 1;
  visibility: visible;
}

.social-color .social-instagram::after {
  background: var(--instagram-cl);
}

.social-color .social-instagram:hover {
  color: var(--white);
}

.social-color .social-instagram:hover::after {
  opacity: 1;
  visibility: visible;
}

.social-color .social-x::after {
  background: var(--x-cl);
}

.social-color .social-x:hover {
  color: var(--white);
}

.social-color .social-x:hover::after {
  opacity: 1;
  visibility: visible;
}

.social-color .social-snapchat::after {
  background: var(--snapchat-cl);
}

.social-color .social-snapchat:hover {
  color: var(--white);
}

.social-color .social-snapchat:hover::after {
  opacity: 1;
  visibility: visible;
}

.social-color .social-pinterest::after {
  background: var(--pinterest-cl);
}

.social-color .social-pinterest:hover {
  color: var(--white);
}

.social-color .social-pinterest:hover::after {
  opacity: 1;
  visibility: visible;
}

.social-color .social-linkin::after {
  background: var(--linked_in-cl);
}

.social-color .social-linkin:hover {
  color: var(--white);
}

.social-color .social-linkin:hover::after {
  opacity: 1;
  visibility: visible;
}

.social-color .social-tiktok::after {
  background: var(--tiktok-cl);
}

.social-color .social-tiktok:hover {
  color: var(--white);
}

.social-color .social-tiktok:hover::after {
  opacity: 1;
  visibility: visible;
}

.social-icon-2 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.social-icon-2 a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--line);
}

.social-icon-2 a:hover {
  border-color: var(--primary);
  background-color: var(--primary);
  color: var(--white);
}

.social-icon-2 .icon {
  font-size: 24px;
}

.social-icon-2.style-2 a {
  width: 32px;
  height: 32px;
}

.social-icon-2.style-2 a:hover {
  border-color: var(--text);
  background-color: var(--text);
}

.social-icon-2.style-2 .icon {
  font-size: 16px;
}

.social-icon-2.hv-dark a:hover {
  border-color: var(--text);
  background-color: var(--text);
}

@media (min-width: 1200px) {
  .social-icon-2 a {
    width: 44px;
    height: 44px;
  }
}
.box-icon_V01 {
  text-align: center;
  position: relative;
}

.box-icon_V01 .icon {
  font-size: 40px;
  margin-bottom: 20px;
  display: inline-flex;
  transition-duration: 0.5s;
}

.box-icon_V01 .title {
  margin-bottom: 8px;
}

.box-icon_V01:hover .icon {
  transform: scale(1.1);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

.box-icon_V01.has-line .icon {
  font-size: 60px;
}

.box-icon_V01.has-line::after {
  content: "";
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  height: 80px;
  width: 1px;
  background-color: var(--line);
}

@media (max-width: 1199px) {
  .box-icon_V01.has-line::after {
    right: -16px;
  }
}
@media (max-width: 767px) {
  .box-icon_V01.has-line::after {
    right: -6px;
  }
}
.box-icon_V01.style-2 .icon {
  margin-bottom: 16px;
}

@media (min-width: 576px) {
  .box-icon_V01.style-3 {
    display: flex;
    align-items: center;
    gap: 20px;
    text-align: start;
  }
  .box-icon_V01.style-3 .icon {
    margin-bottom: 0;
    font-size: 60px;
  }
}
@media (min-width: 992px) {
  .box-icon_V01 .icon {
    font-size: 48px;
  }
}
@media (min-width: 1200px) {
  .box-icon_V01.style-2 .icon {
    font-size: 60px;
  }
}
.box-icon_V02 {
  text-align: center;
  padding: 31px;
  border: 1px solid var(--white-10);
  border-radius: 12px;
  display: grid;
  gap: 16px;
}

.box-icon_V02 .icon {
  font-size: 60px;
  transition-duration: 0.5s;
}

.box-icon_V02:hover .icon {
  transform: scale(1.1);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

@media (max-width: 1199px) {
  .box-icon_V02 .icon {
    font-style: 40px;
  }
}
@media (max-width: 767px) {
  .box-icon_V02 {
    padding: 20px 15px;
  }
}
.box-icon_V03 {
  text-align: start;
  place-items: start;
  background: rgba(255, 255, 255, 0.0588235294);
  border: 0;
  padding: 20px;
  border-radius: 8px;
  display: grid;
}

.box-icon_V03 .icon {
  font-size: 60px;
  transition-duration: 0.5s;
}

.box-icon_V03 .ic-wrap {
  margin-bottom: 20px;
}

.box-icon_V03 .btn-line-2 {
  padding-bottom: 2px;
}

.box-icon_V03:hover .icon {
  transform: scale(1.1);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

@media (max-width: 1199px) {
  .box-icon_V03 .icon {
    font-style: 40px;
  }
}
/*--------- Abstracts variable ---------- */
.offcanvas {
  border: none !important;
  color: var(--black);
  z-index: 3000;
  background-color: var(--white);
}

.offcanvas.offcanvas-end, .offcanvas.offcanvas-start {
  width: 320px;
}

.offcanvas .icon-close-popup {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  font-size: 24px;
  z-index: 2;
}

.offcanvas .icon-close-popup:hover {
  color: var(--primary);
}

.offcanvas .offcanvas-content {
  height: 100%;
}

.offcanvas.offcanvas-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
  opacity: 0;
  visibility: hidden;
  max-width: calc(100vw - 30px);
}

.offcanvas.offcanvas-center.show {
  visibility: visible;
  opacity: 1;
}

.offcanvas-backdrop {
  z-index: 2999;
  cursor: url(../images/cursor-close.svg), auto;
}

.overflow-x-auto::-webkit-scrollbar,
.overflow-y-auto::-webkit-scrollbar {
  width: 0px;
}

.modal {
  cursor: url(../images/cursor-close.svg), auto;
}

.modal .icon-close-popup {
  top: 10px;
  right: 10px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  z-index: 2;
}

.modal .icon-close-popup:hover {
  background: var(--text);
  color: var(--white);
  transform: rotate(180deg);
}

@media (min-width: 992px) {
  .modal .icon-close-popup {
    top: 20px;
    right: 20px;
  }
}
.modal .modal-content {
  border: 0;
}

.modal .modal-body {
  padding: 0;
}

.modal.fullRight .modal-dialog {
  transform: translate(100%, 0);
  min-width: 100%;
  height: 100%;
  margin: 0;
  transition: transform 1s ease-out;
}

.modal.fullRight .modal-dialog .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  top: 0;
  padding: 0;
}

.modal.fullRight .modal-dialog .modal-content .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}

.modal.fullRight.show .modal-dialog {
  transform: none;
  transition: transform 0.4s ease-out;
}

.modal.fullLeft .modal-dialog {
  transform: translate(-100%, 0) !important;
  min-width: 100%;
  height: 100%;
  margin: 0;
  transition: all 0.3s !important;
}

.modal.fullLeft .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  padding: 0;
}

.modal.fullLeft .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}

.modal.fullLeft.show .modal-dialog {
  transform: translate(0, 0) !important;
}

.modal.fullBottom .modal-dialog {
  transform: translate(0, 100%);
  min-width: 100%;
  height: 100%;
  max-height: unset;
  margin: 0;
  transition: transform 0.3s linear !important;
}

.modal.fullBottom .modal-content {
  border-radius: 0;
  border: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0;
  max-height: max-content;
}

.modal.fullBottom .modal-body {
  overflow: auto;
  padding: 0;
  padding-bottom: 30px;
}

.modal.fullBottom.show .modal-dialog {
  transform: translate(0, 0);
}

.modal.modalCentered .modal-dialog {
  margin: 15px auto;
  padding-left: 15px;
  padding-right: 15px;
  transform: translate(0, 0) !important;
}

.modal.fade:not(.show) {
  opacity: 0;
}

.modal .modal-content {
  cursor: default !important;
  border-radius: 0px;
}

@media (max-width: 575px) {
  .modal {
    --bs-modal-margin: 1.75rem;
  }
}
.modal-dialog {
  background-clip: var(--white);
}

.modal-heading {
  position: relative;
  margin-bottom: 28px;
}

.canvas-wrapper {
  padding: 0;
  isolation: isolate;
  height: 100%;
  width: 100%;
  max-height: none;
  display: grid;
  grid-auto-rows: auto minmax(0, 1fr) auto;
  align-content: start;
}

.canvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  position: relative;
  text-transform: capitalize;
}

.canvas-header::after {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 1px;
  background-color: var(--line);
}

.canvas-body {
  background-color: var(--white);
  padding: 24px;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  flex: 1;
}

.canvas-body::-webkit-scrollbar {
  width: 2px;
}

.canvas-body::-webkit-scrollbar-track {
  background-color: var(--white);
}

.canvas-body::-webkit-scrollbar-thumb {
  background: var(--primary);
  border-radius: 4px;
}

.canvas-footer,
.canvas-bottom {
  padding: 20px 24px;
  box-shadow: 0px 5px 18px 5px rgba(64, 72, 87, 0.1490196078);
}

.canvas-filter .canvas-header {
  padding: 15px 24px;
  background: var(--bg);
}

.canvas-filter .canvas-body > *:not(:last-child) {
  margin-bottom: 20px;
}

@media (min-width: 576px) {
  .canvas-filter {
    width: 400px !important;
  }
  .canvas-filter .canvas-header {
    padding-left: 32px;
    padding-right: 32px;
  }
  .canvas-filter .canvas-body {
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media (min-width: 1200px) {
  .canvas-filter .canvas-body > *:not(:last-child) {
    margin-bottom: 28px;
  }
  .canvas-filter.offcanvas .canvas-body > *:not(:last-child) {
    margin-bottom: 20px;
  }
}
.sidebar-filter {
  background-color: var(--white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  max-width: 360px;
}

.sidebar-filter .canvas-header {
  color: var(--black);
}

.sidebar-filter .canvas-body {
  overflow-x: hidden;
}

@media (min-width: 1200px) {
  .sidebar-filter .canvas-body,
  .sidebar-filter .canvas-bottom {
    padding: 0;
  }
}
@media (max-width: 1199px) {
  .sidebar-filter {
    position: fixed;
    bottom: 0;
    z-index: 3000;
    display: flex;
    flex-direction: column;
    background-clip: padding-box;
    outline: 0;
  }
  .sidebar-filter.left {
    top: 0;
    left: 0;
    transform: translateX(-100%);
  }
  .sidebar-filter.right {
    top: 0;
    right: 0;
    transform: translateX(100%);
  }
  .sidebar-filter.show {
    transform: none;
  }
}
@media (min-width: 1200px) {
  .sidebar-filter {
    max-width: 300px !important;
  }
  .sidebar-filter .canvas-header {
    background: unset;
    padding: 0;
    padding-bottom: 28px;
  }
}
.modal-log .modal-dialog {
  max-width: 510px;
}

.modal-log .modal-content {
  position: relative;
  padding: 20px 15px;
  border-radius: 20px;
  overflow: hidden;
}

@media (min-width: 992px) {
  .modal-log .modal-content {
    padding: 32px;
  }
}
.modal-ask .modal-dialog {
  max-width: 710px;
}

.modal-ask .field textarea {
  height: 160px;
}

.toolbar-bottom {
  display: none;
  padding: 15px 0px 15px;
  position: fixed;
  z-index: 200;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: var(--white);
  box-shadow: 0px 5px 18px 5px rgba(64, 72, 87, 0.1490196078);
}

.toolbar-bottom .toolbar-item {
  flex: 1 0 20%;
  position: relative;
}

.toolbar-bottom a {
  width: 100%;
  gap: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.toolbar-bottom .toolbar-icon {
  font-size: 20px;
  position: relative;
  display: flex;
}

.toolbar-bottom .toolbar-count {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--primary);
  border-radius: 50%;
  font-size: 11px;
  line-height: 10px;
  color: var(--white);
}

.toolbar-bottom .toolbar-label {
  font-size: 12px;
  line-height: 16px;
}

@media (max-width: 1199px) {
  .toolbar-bottom {
    display: flex;
  }
}
.modal-newsletter .modal-dialog {
  max-width: 870px;
}

.modal-newsletter .modal-content {
  border-radius: 16px;
  overflow: hidden;
}

.modal-newsletter .image-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateX(20px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-delay: 0.1s;
}

.modal-newsletter .content-right {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: translateX(-20px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-delay: 0.1s;
}

.modal-newsletter .desc-pop {
  margin-bottom: 28px;
}

.modal-newsletter.show .image-left img {
  transform: translateX(0px);
}

.modal-newsletter.show .content-right {
  transform: translateX(0px);
}

@media (min-width: 768px) {
  .modal-newsletter .image-left {
    max-width: 360px;
    width: 100%;
  }
  .modal-newsletter .modal-content {
    flex-direction: row;
  }
}
@media (min-width: 1200px) {
  .modal-newsletter .desc-pop {
    margin-bottom: 40px;
  }
  .modal-newsletter .content-right {
    padding: 32px;
  }
}
@media (max-width: 767px) {
  .modal-newsletter .image-left img {
    max-height: 300px;
    object-position: top;
  }
}
.modal-search .modal-dialog {
  max-width: 1154px;
}

.modal-search .modal-content {
  gap: 24px;
  padding: 20px 20px 20px;
  border-radius: 24px;
}

.modal-search .icon-close-popup {
  position: unset;
}

.modal-search .form-search-nav input {
  border-radius: 12px;
}

.modal-search .list-tag {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.modal-search .link-tag {
  padding-left: 15px;
  padding-right: 15px;
  border: 1px solid var(--line);
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
}

.modal-search .link-tag:hover {
  background: var(--line);
}

@media (min-width: 1200px) {
  .modal-search .modal-content {
    gap: 32px;
  }
  .modal-search .form-search-nav input {
    padding: 12px 23px;
    padding-right: 52px;
    font-size: 18px;
    line-height: 28px;
  }
  .modal-search .modal-content {
    padding: 40px;
  }
}
.search-live-results {
  max-height: 60vh;
  overflow-y: auto;
}

.search-live-results:empty {
  display: none;
}

.search-results_empty {
  padding: 12px 0;
  color: var(--text-2);
}

.search-results_group:not(:last-child) {
  margin-bottom: 20px;
}

.search-results_label {
  margin-bottom: 8px;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: 12px;
  font-weight: 600;
}

.search-results_list {
  display: grid;
  gap: 4px;
}

.search-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  border-radius: 8px;
}

.search-result-item:hover {
  background: var(--bg);
}

.search-result-item--compact {
  padding: 8px 8px;
  color: var(--text-2);
}

.search-result-image {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 6px;
  overflow: hidden;
}

.search-result-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.search-result-info {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.search-result-name {
  color: var(--text);
  font-weight: 500;
}

.search-result-price {
  font-size: 14px;
}

.search-result-price del {
  order: 2;
  margin-left: 6px;
  color: var(--text-3);
  text-decoration: line-through;
}

.search-result-price ins {
  order: 1;
  text-decoration: none;
  color: var(--text);
}

.search-result-price,
.search-result-price .woocommerce-Price-amount {
  display: inline-flex;
}

.search-results_view-all {
  display: block;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  text-align: center;
  font-weight: 600;
  text-decoration: underline;
}

/* -- Shoping Cart -- */
.minicart-recommendations {
  width: 260px;
  flex-shrink: 0;
  padding: 24px 23px 0px 24px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
}

.minicart-recommendations .title {
  margin-bottom: 12px;
}

.minicart-recommendations > .wrap-recommendations {
  flex-grow: 1;
  overflow-y: auto;
}

.minicart-recommendations > .wrap-recommendations::-webkit-scrollbar {
  width: 0px;
}

.minicart-recommendations .list-cart-item:not(:last-child) {
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 20px;
}

.minicart-recommendations .list-cart-item .image {
  margin-bottom: 12px;
  overflow: hidden;
  display: flex;
  border-radius: 8px;
}

.minicart-recommendations .list-cart-item .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.minicart-recommendations .list-cart-item .name {
  margin-bottom: 2px;
}

@media (max-width: 767px) {
  .minicart-recommendations {
    display: none;
  }
}
.popup-shopping-cart {
  flex-direction: row;
}

.popup-shopping-cart .popup-header {
  padding: 24px 24px 20px;
}

.popup-shopping-cart .cart-threshold {
  padding: 20px;
  background: var(--bg);
  border-radius: 12px;
}

.popup-shopping-cart .cart-threshold .progress-ship {
  border-radius: 100px;
  height: 4px;
  background: var(--line);
  margin-top: 8px;
  margin-bottom: 8px;
}

.popup-shopping-cart .cart-threshold .progress-ship .value {
  background: var(--success);
  height: 4px;
  border-radius: 100px;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: relative;
}

.popup-shopping-cart .cart-threshold .progress-ship .value .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  background: var(--white);
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  padding: 4px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid var(--success);
  fill: var(--success);
}

.popup-shopping-cart .wrap {
  display: flex;
  flex-direction: column;
}

.popup-shopping-cart .mini-cart-wrap {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
}

.popup-shopping-cart .mini-cart-bottom-wrap {
  padding: 16px 24px 20px;
}

.popup-shopping-cart .mini-cart-bottom-wrap .mini-cart-total {
  margin-bottom: 12px;
}

.popup-shopping-cart .mini-cart-bottom-wrap .checkbox-wrap {
  padding-top: 4px;
  margin-bottom: 16px;
  padding-bottom: 4px;
}

.popup-shopping-cart .mini-cart-bottom-wrap .mini-cart-view-checkout {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.popup-shopping-cart .mini-cart-bottom-wrap .mini-cart-view-checkout a {
  width: 100%;
}

.popup-shopping-cart .mini-cart-view-checkout {
  display: grid;
  gap: 12px;
}

@media (min-width: 576px) {
  .popup-shopping-cart {
    max-width: 740px;
    width: 100% !important;
  }
}
@media (min-width: 768px) {
  .popup-shopping-cart {
    background: transparent;
    pointer-events: none;
  }
  .popup-shopping-cart .minicart-recommendations,
  .popup-shopping-cart .canvas-wrapper {
    background: var(--white);
    pointer-events: all;
  }
  .popup-shopping-cart .canvas-wrapper {
    max-width: 480px;
    margin-left: auto;
  }
}
@media (max-width: 767px) {
  .popup-shopping-cart {
    flex-direction: column;
    max-width: min(500px, 100vw);
    max-width: 340px;
  }
  .popup-shopping-cart .minicart-recommendations {
    padding: 16px 16px 0;
    width: unset;
  }
  .popup-shopping-cart .minicart-recommendations .title {
    margin-bottom: 16px;
  }
  .popup-shopping-cart .list-cart {
    display: flex;
    gap: 15px;
    overflow-x: auto;
  }
  .popup-shopping-cart .list-cart .list-cart-item {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
    min-width: 120px;
  }
  .popup-shopping-cart .list-cart .list-cart-item .image {
    max-height: 150px;
    margin-bottom: 12px;
  }
  .popup-shopping-cart .cart-threshold {
    padding: 15px;
  }
  .popup-shopping-cart .mini-cart-sroll {
    padding: 0 16px;
  }
  .popup-shopping-cart .mini-cart-item {
    gap: 12px;
  }
  .popup-shopping-cart .mini-cart-item .mini-cart-image {
    max-width: 80px;
  }
  .popup-shopping-cart .popup-header {
    padding: 16px;
  }
  .popup-shopping-cart .mini-cart-tool {
    padding: 10px 16px;
  }
  .popup-shopping-cart .mini-cart-tool-btn {
    padding: 6px 8px;
  }
  .popup-shopping-cart .mini-cart-bottom-wrap {
    padding: 20px 16px 20px;
  }
  .popup-shopping-cart .mini-cart-tool-openable .mini-cart-tool-content {
    padding: 24px 16px;
  }
}
.mini-cart-main {
  flex: 1 1 auto;
  position: relative;
}

.mini-cart-sroll {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: auto;
  padding: 0px 24px;
}

.mini-cart-sroll::-webkit-scrollbar {
  width: 4px;
  background: var(--line);
}

.mini-cart-sroll::-webkit-scrollbar-thumb {
  background-color: var(--text-3);
}

@media (min-width: 1200px) {
  .mini-cart-sroll::-webkit-scrollbar {
    width: 8px;
    background: var(--line);
  }
}
.mini-cart-items {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.mini-cart-items .mini-cart-item:not(:last-child) {
  padding-bottom: 19px;
  margin-bottom: 19px;
  border-bottom: 1px solid var(--line);
}

.mini-cart-items .mini-cart-item:last-child {
  padding-bottom: 24px;
}

.mini-cart-tool {
  padding: 10px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--bg-2);
}

@media (max-width: 767px) {
  .mini-cart-tool {
    gap: 6px;
  }
}
.mini-cart-tool-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
  border-radius: 4px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: var(--white);
}

.mini-cart-tool-btn .icon {
  font-size: 20px;
}

.mini-cart-tool-btn:hover {
  background: var(--text);
  color: var(--white);
}

@media (max-width: 767px) {
  .mini-cart-tool-btn {
    gap: 6px;
  }
}
.mini-cart-tool-openable {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateY(100%);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 70;
  opacity: 0;
  visibility: hidden;
}

.mini-cart-tool-openable.open {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.mini-cart-tool-openable.open > .overlay {
  opacity: 0;
  visibility: visible;
}

.mini-cart-tool-openable.open .mini-cart-tool-content {
  box-shadow: 0px -10px 20px 0px rgba(0, 0, 0, 0.1019607843);
}

.mini-cart-tool-openable > .overlay {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 200vh;
  right: 0;
  background-color: transparent;
  opacity: 0;
  background-color: var(--black);
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.mini-cart-tool-openable .mini-cart-tool-close {
  cursor: pointer;
}

.mini-cart-tool-openable .mini-cart-tool-content {
  position: relative;
  z-index: 80;
  padding: 24px;
  background-color: var(--white);
}

.mini-cart-tool-openable .mini-cart-tool-content .mini-cart-tool-text {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  color: var(--black);
}

.mini-cart-tool-openable .mini-cart-tool-content .mini-cart-tool-text .icon {
  font-size: 20px;
}

.mini-cart-tool-openable .mini-cart-tool-content .cart-tool-btns {
  display: flex;
  gap: 12px;
  flex-direction: column;
}

.mini-cart-tool-openable.add-note textarea {
  height: 150px;
  margin-bottom: 12px;
}

.mini-cart-tool-openable.add-gift .wrap {
  padding: 44px 15px;
  border-radius: 12px;
  border: 1px solid var(--line);
  text-align: center;
  margin-bottom: 24px;
}

.mini-cart-tool-openable.add-gift .wrap .icon {
  margin-bottom: 8px;
  font-size: 40px;
}

.mini-cart-tool-openable.estimate-shipping .cart-tool-btns {
  margin-top: 24px;
}

.mini-cart-tool-openable.estimate-shipping .error {
  color: #FF6F61;
}

.mini-cart-tool-openable.estimate-shipping .success .standard {
  color: #1CAA23;
  margin-top: 4px;
}

.mini-cart-item {
  display: flex;
  align-items: center;
  gap: 24px;
}

.mini-cart-item .mini-cart-image {
  max-width: 100px;
  border-radius: 8px;
  overflow: hidden;
}

.mini-cart-item .mini-cart-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 0.7518796992;
}

.mini-cart-item .mini-cart-info {
  display: flex;
  flex-direction: column;
  align-items: start;
  flex: 1;
  align-items: stretch;
}

.mini-cart-item .mini-cart-info .name {
  margin-bottom: 8px;
}

.mini-cart-item .mini-cart-price {
  display: grid;
  place-items: end;
  gap: 12px;
}

/* -- Quick View -- */
.canvas-quickview {
  flex-direction: row;
}

.canvas-quickview .mini-quick-image {
  display: flex;
  width: 100%;
}

.canvas-quickview .wrap-quick {
  flex-grow: 1;
  overflow-y: auto;
  display: grid;
  gap: 28px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 16px;
}

.canvas-quickview .wrap-quick::-webkit-scrollbar {
  width: 8px;
  height: 4px;
  background-color: var(--line);
}

.canvas-quickview .wrap-quick::-webkit-scrollbar-thumb {
  background-color: var(--text-3);
}

.canvas-quickview .wrap-quick .image {
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
}

.canvas-quickview .wrap-quick .image img {
  border-radius: 12px;
  aspect-ratio: 0.7657657658;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.canvas-quickview .wrap-canvas {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.canvas-quickview .quick-view {
  display: grid;
  gap: 20px;
  padding-top: 0;
}

@media (min-width: 768px) {
  .canvas-quickview {
    gap: 24px;
    width: 848px !important;
  }
  .canvas-quickview .mini-quick-image {
    max-width: 340px;
    direction: rtl;
  }
  .canvas-quickview.style-2 {
    max-width: 468px !important;
  }
  .canvas-quickview.style-2 .mini-quick-image {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .canvas-quickview {
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .canvas-quickview {
    flex-direction: column;
  }
  .canvas-quickview .wrap-quick {
    display: flex;
    overflow-x: auto;
    padding: 15px 16px 15px;
    gap: 8px;
  }
  .canvas-quickview .wrap-quick .image {
    max-width: 120px;
    width: 100%;
    flex-shrink: 0;
  }
  .canvas-quickview .wrap-canvas {
    overflow: auto;
  }
  .canvas-quickview .canvas-header {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.product-quick_view {
  display: grid;
  gap: 24px;
}

.product-quick_view .product-info-heading .product-infor-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.product-quick_view .product-info-heading .meta_rate,
.product-quick_view .product-info-heading .meta_sold {
  display: flex;
  align-items: center;
  gap: 4px;
}

.product-quick_view .product-info-heading .br-line {
  height: 12px;
}

.product-quick_view .product-info-heading .product-infor-reality {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-quick_view .product-infor-price {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-quick_view .product-infor-price .badge-sale {
  margin-left: 8px;
}

.product-quick_view .product-variant {
  display: grid;
  gap: 20px;
}

.product-quick_view .product-variant .variant-picker-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.product-quick_view .product-variant .variant-picker-values {
  display: flex;
  align-items: center;
  gap: 12px;
}

.product-quick_view .variant-color .variant-picker-values {
  display: flex;
  align-items: center;
  gap: 20px;
}

.product-quick_view .variant-color .color-btn_quick:not(.select-item) {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-align: center;
  border: 1px solid var(--line);
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 50%;
}

.product-quick_view .variant-color .color-btn_quick:not(.select-item) .check-color {
  width: 32px;
  height: 32px;
  display: flex;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid #dcdcdc;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.product-quick_view .variant-color .color-btn_quick:not(.select-item).active {
  border-color: var(--black);
}

.product-quick_view .variant-color .color-btn_quick.style-image {
  width: 60px;
  height: 60px;
  border-radius: 4px;
  border: 1px solid transparent;
  overflow: hidden;
}

.product-quick_view .variant-color .color-btn_quick.style-image .img {
  display: flex;
  align-items: center;
}

.product-quick_view .variant-color .color-btn_quick.style-image .img img {
  object-fit: cover;
}

.product-quick_view .variant-color .color-btn_quick.style-image.style-small {
  width: 40px;
  height: 40px;
  padding: 4px;
}

.product-quick_view .variant-color .color-btn_quick.style-image-square {
  width: 120px;
  height: 160px;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.product-quick_view .variant-color .color-btn_quick.style-image-square .img {
  width: 100%;
  height: 100%;
  border-radius: 6px;
  overflow: hidden;
}

.product-quick_view .variant-color .color-btn_quick.style-image-square img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-quick_view .variant-color .color-btn_quick.style-image-square.active {
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.0784313725);
}

@media (max-width: 1199px) {
  .product-quick_view .variant-color .color-btn_quick.style-image-square {
    width: 80px;
    height: 120px;
  }
}
.product-quick_view .variant-size .variant-picker-label {
  justify-content: space-between;
}

.product-quick_view .variant-size .size-btn {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  cursor: pointer;
  border-radius: 4px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.product-quick_view .variant-size .size-btn:hover {
  border-color: var(--text);
}

.product-quick_view .variant-size .size-btn.active {
  background: var(--text);
  color: var(--white);
  border-color: var(--text);
}

.product-quick_view .variant-size .size-btn.disabled {
  opacity: 0.3;
  pointer-events: none;
}

.product-quick_view .product-total-quantity {
  display: grid;
  gap: 12px;
}

.product-quick_view .product-total-quantity .group-action {
  display: flex;
  align-items: center;
  gap: 10px;
}

.product-quick_view .product-total-quantity .btn-action-price {
  gap: 0;
}

@media (max-width: 767px) {
  .product-quick_view .product-total-quantity .group-action {
    flex-wrap: wrap;
    gap: 12px;
  }
  .product-quick_view .product-total-quantity .group-action .wg-quantity {
    width: 100%;
  }
}
.modal-quickadd .modal-dialog {
  max-width: 498px;
}

.modal-quickadd .modal-content {
  padding: 24px;
  border-radius: 16px;
}

@media (max-width: 767px) {
  .modal-quickadd .modal-content {
    padding: 20px 15px;
  }
}
.product-quick_add {
  display: grid;
  gap: 20px;
}

.product-quick_add .product-mini-view {
  display: flex;
  align-items: center;
  gap: 12px;
}

.product-quick_add .product-mini-view .prd-content {
  display: grid;
  gap: 4px;
}

.product-quick_add .product-mini-view .prd-image {
  border-radius: 8px;
  overflow: hidden;
}

.product-quick_add .wg-quantity {
  min-width: 140px;
}

.product-quick_add .btn-action-price {
  padding-left: 15px;
  padding-right: 15px;
  gap: 0px;
}

.product-quick_add .product-total-quantity {
  display: grid;
  gap: 12px;
}

.product-quick_add .group-action {
  gap: 10px;
  display: flex;
}

@media (max-width: 767px) {
  .product-quick_add .wg-quantity {
    min-width: 120px;
  }
}
.box-text_empty.type-shop_cart {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: 32px;
  gap: 30px;
}

.box-text_empty.type-shop_cart .shop-empty_top {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  max-width: 354px;
  margin: 0 auto;
  flex: 1;
}

.box-text_empty.type-shop_cart .shop-empty_top .icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: var(--black);
  font-size: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  margin-bottom: 24px;
}

.box-text_empty.type-shop_cart .shop-empty_top .text-emp {
  margin-bottom: 12px;
}

.box-text_empty.type-shop_cart .shop-empty_bot {
  display: grid;
  gap: 12px;
}

@media (max-width: 767px) {
  .box-text_empty.type-shop_cart .shop-empty_top .icon {
    width: 60px;
    height: 60px;
    font-size: 24px;
  }
  .box-text_empty.type-shop_cart .text-emp {
    font-size: 24px;
    line-height: 32px;
  }
}
.modal-order_detail .modal-dialog {
  max-width: 1191px;
}

.modal-order_detail .modal-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.modal-order_detail .modal-content {
  border-radius: 16px;
}

.modal-order_detail .col-left {
  padding: 40px;
  border-right: 1px solid var(--line);
}

.modal-order_detail .col-right {
  padding: 40px;
}

.modal-order_detail .box-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.modal-order_detail .list-order-product .order-item {
  padding-bottom: 15px;
  margin-bottom: 16px;
}

.modal-order_detail .list-order-product .order-item:last-child {
  border: 0;
  padding-bottom: 0;
  margin-bottom: 20px;
}

.modal-order_detail .list-total {
  padding-top: 19px;
  padding-bottom: 19px;
  margin-bottom: 20px;
}

.modal-order_detail .list-total .total-item:not(:last-child) {
  margin-bottom: 16px;
}

@media (min-width: 1200px) {
  .modal-order_detail .col-left .grid-layout {
    gap: 40px;
  }
}
@media (max-width: 991px) {
  .modal-order_detail .col-left,
  .modal-order_detail .col-right {
    padding: 20px;
  }
  .modal-order_detail .grid-info {
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .modal-order_detail .col-left {
    border: 0;
    order: 2;
  }
  .modal-order_detail .box-info {
    gap: 4px;
  }
}
.canvas-compare {
  height: max-content !important;
  width: 100% !important;
  z-index: 5000;
}

.canvas-compare .close-popup {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
}

.canvas-compare .canvas-body {
  padding: 32px 0;
}

.canvas-compare .canvas-wrapper {
  height: unset;
}

.compare-list {
  display: flex;
  align-items: center;
  gap: 10px;
}

.compare-list .compare-head {
  flex: 0 0 18.96%;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.compare-list .compare-head .title {
  font-size: 28px;
  line-height: 34px;
}

.compare-list .compare-offcanvas {
  display: flex;
  align-items: center;
  flex: 1 1 100%;
  overflow-x: auto;
}

.compare-list .compare-item {
  flex: 0 0 25%;
  max-width: 170px;
  padding: 0 12px;
  display: flex;
}

.compare-list .compare-item a {
  display: flex;
  position: relative;
}

.compare-list .compare-item .icon {
  position: absolute;
  z-index: 5;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  background: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.compare-list .compare-item .icon:hover {
  background: var(--text);
  color: var(--white);
}

.compare-list .compare-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 0.75;
}

.compare-list .compare-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 0 0 17%;
}

.compare-list .compare-buttons .compare-button-clear-all {
  cursor: pointer;
}

@media (max-width: 1024px) {
  .compare-list {
    flex-direction: column;
    max-height: 100%;
    overflow-y: auto;
    gap: 20px;
  }
  .compare-list > div {
    flex: 0 0 100% !important;
  }
  .compare-list .compare-offcanvas .compare-item {
    max-width: unset;
    height: unset;
  }
  .compare-list .compare-buttons {
    width: 100%;
    justify-content: space-between;
    flex-direction: row;
  }
}
@media (max-width: 767px) {
  .compare-list .compare-offcanvas .compare-item {
    flex: 0 0 33.333%;
  }
}
@media (max-width: 575px) {
  .compare-list .compare-offcanvas .compare-item {
    flex: 0 0 50%;
    padding-left: 6px;
    padding-right: 6px;
  }
}
.modal-share .modal-dialog {
  max-width: 620px;
}

.modal-share .wrap-code {
  position: relative;
  border-radius: 999px;
  padding: 12px 20px;
  background-color: var(--bg-2);
}

.modal-share .btn-action-copy {
  position: absolute;
  top: 3px;
  right: 3px;
  bottom: 3px;
  min-width: 100px;
  height: unset;
}

.modal-share .modal-content {
  position: relative;
  padding: 20px 15px;
  border-radius: 20px;
  overflow: hidden;
}

@media (min-width: 992px) {
  .modal-share .modal-content {
    padding: 32px;
  }
}
@media (min-width: 1200px) {
  .modal-share .social-icon {
    margin-bottom: 40px;
  }
}
.title-pop {
  letter-spacing: 0;
}

.modal-find_size .modal-dialog {
  max-width: 900px;
}

.modal-find_size .sizeguide-table {
  border: 1px solid var(--line);
  border-radius: 5px;
  width: 100%;
  white-space: nowrap;
}

.modal-find_size .sizeguide-table th {
  border: 1px solid var(--line);
  padding: 10px;
  font-weight: 600;
  line-height: 20px;
}

.modal-find_size .sizeguide-table td {
  border: 1px solid var(--line);
  border-width: 0 1px 1px 0;
  padding: 10px;
  line-height: 20px;
}

.modal-find_size .page-size-chart-content {
  display: grid;
  gap: 10px;
  grid-template-columns: 8fr 4fr;
}

.modal-find_size p {
  color: var(--text-2);
}

.modal-find_size .modal-content {
  position: relative;
  padding: 20px 15px;
  border-radius: 20px;
  overflow: hidden;
}

@media (min-width: 992px) {
  .modal-find_size .modal-content {
    padding: 32px;
  }
}
@media (max-width: 767px) {
  .modal-find_size .page-size-chart-content {
    grid-template-columns: unset;
  }
  .modal-find_size .page-size-chart-content > div:last-child {
    text-align: center;
  }
}
.pop-notice-sale {
  position: fixed;
  right: 40px;
  top: 160px;
  z-index: 22;
  display: flex;
  gap: 12px;
  padding: 16px;
  background: var(--white);
  border-radius: 8px;
  min-width: 340px;
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transform: translateX(20px);
}

.pop-notice-sale .pns-thumb {
  position: relative;
  max-width: 63px;
  width: 100%;
}

.pop-notice-sale .pns-content {
  width: 100%;
  display: grid;
}

.pop-notice-sale .image {
  border-radius: 4px;
  overflow: hidden;
}

.pop-notice-sale .purchase {
  padding: 6px;
  background: var(--primary);
  position: absolute;
  left: -8px;
  top: -8px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pop-notice-sale .bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pop-notice-sale .pns_date {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pop-notice-sale .btn-cl-pop {
  position: absolute;
  right: 12px;
  top: 12px;
}

.pop-notice-sale.active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

@media (max-width: 1199px) {
  .pop-notice-sale {
    top: 120px;
    right: 15px;
  }
}
@media (max-width: 991px) {
  .pop-notice-sale {
    display: none;
  }
}
.quick-variant-picker .variant-picker_values {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.quick-variant-picker.picker_color .color_btn .img {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 4px;
  border: 1px solid transparent;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.quick-variant-picker.picker_color .color_btn .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1;
}

.quick-variant-picker.picker_color .color_btn.active .img {
  border-color: var(--text);
}

.quick-variant-picker.picker_size .variant-picker_values {
  gap: 12px;
}

.quick-variant-picker.picker_size .variant-picker_label {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.quick-variant-picker.picker_size .size_btn {
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
}

.quick-variant-picker.picker_size .size_btn:hover {
  border-color: var(--text);
}

.quick-variant-picker.picker_size .size_btn.active {
  border-color: var(--text);
  background: var(--text);
  color: var(--white);
}

.quick-variant-picker.picker_size .size_btn.disabled {
  border-color: var(--bg);
  background: var(--bg);
  pointer-events: none;
  color: var(--line);
}

.quick-variant-picker.picker_size .size_btn.style-2 {
  width: auto;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 40px;
}

.quick-variant-picker.picker_size .size_btn.style-2::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 40px;
  border: 1px solid var(--text);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.quick-variant-picker.picker_size .size_btn.style-2:hover::after {
  opacity: 1;
  visibility: visible;
}

.offcanvas-pickup .pickup-available-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.offcanvas-pickup .pickup-available-item .title {
  margin-bottom: 8px;
}

.offcanvas-pickup .pickup-available-item .desc {
  margin-bottom: 12px;
}

.offcanvas-pickup .pickup-available-item ul {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 12px;
}

.offcanvas-pickup .pickup-available-item a {
  display: flex;
  align-items: center;
  gap: 8px;
}

.offcanvas-pickup .pickup-available-item a .icon {
  font-size: 10px;
}

@media (min-width: 576px) {
  .offcanvas-pickup {
    width: 520px !important;
  }
}
@media (min-width: 1200px) {
  .offcanvas-pickup .modal-inner {
    padding: 40px 32px;
  }
  .offcanvas-pickup .pickup-available-list {
    gap: 40px;
  }
}
.canvas-lookbook.offcanvas {
  height: auto;
}

.canvas-lookbook .canvas-body {
  padding: 0;
}

.canvas-lookbook .popup-look-item {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 400px;
  margin: 0 auto;
  padding: 12px;
}

.canvas-lookbook .popup-look-item .look-image {
  border-radius: 4px;
  overflow: hidden;
}

.canvas-lookbook .popup-look-item .look-content {
  display: grid;
  gap: 4px;
}

.modalDemo .demo-title {
  margin-top: 40px;
  margin-bottom: 30px;
  text-align: center;
}

.modalDemo .modal-dialog {
  max-width: 1540px;
  margin-top: 8px;
  margin-bottom: 8px;
}

.modalDemo .modal-content {
  padding: 0 40px 40px;
  background-color: var(--white);
  width: 100%;
  border-radius: 20px;
  margin: 0 30px;
  max-height: calc(100vh - 60px);
  border: 0;
  cursor: default;
  overflow: hidden;
}

.modalDemo .mega-menu {
  padding: 0 20px;
  overscroll-behavior-y: contain;
  overflow-y: auto;
}

.modalDemo .mega-menu::-webkit-scrollbar {
  width: 6px;
  background: var(--line);
}

.modalDemo .mega-menu::-webkit-scrollbar:hover {
  width: 12px;
  height: 12px;
}

.modalDemo .mega-menu::-webkit-scrollbar-thumb {
  background: var(--text);
  transition: all 0.3s ease;
}

.modalDemo .top {
  position: relative;
}

.modalDemo .top .btn-close-popup {
  position: absolute;
  top: 18px;
  right: 0;
  font-size: 24px;
}

.modalDemo .row-demo {
  grid-template-columns: repeat(5, 1fr);
  row-gap: 32px;
}

@media (max-width: 1439px) {
  .modalDemo .row-demo {
    grid-template-columns: repeat(4, 1fr);
  }
}
.modal-before-you-leave .modal-content {
  max-width: 485px;
}

.modal-before-you-leave .modal-inner {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.modal-before-you-leave .modal-inner .icon-close {
  font-size: 16px;
  position: absolute;
  top: 20px;
  right: 20px;
}

.modal-before-you-leave .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1.6666666667;
  object-position: top;
}

.modal-before-you-leave .content {
  margin: 0 32px;
  padding: 32px 0;
  border-bottom: 1px solid var(--line);
  margin-bottom: 32px;
}

.modal-before-you-leave .content > .heading {
  margin-bottom: 24px;
}

.modal-before-you-leave .content > p {
  margin-bottom: 10px;
}

.modal-before-you-leave .content .enter-code {
  margin-bottom: 24px;
  display: flex;
  justify-content: center;
  gap: 4px;
}

.modal-before-you-leave .mini-cart-sroll {
  padding: 0 32px 32px;
}

.modal-before-you-leave .mini-cart-sroll .minicart-recommendations-title {
  margin-bottom: 18px;
}

.sidebar-product {
  width: 410px !important;
}

.sidebar-product .widget-facet:not(:last-child) {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
}

/*--------- Abstracts variable ---------- */
.flat-animate-tab {
  overflow: hidden;
}

.flat-animate-tab .tab-content {
  position: relative;
}

.flat-animate-tab .tab-pane {
  display: block;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  transition-timing-function: ease-in;
  transition-duration: 0.2s;
}

.flat-animate-tab .tab-pane.active {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 2;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-delay: 0.3s;
}

.flat-animate-tab-2 {
  overflow: hidden;
}

.flat-animate-tab-2 .tab-content {
  position: relative;
}

.flat-animate-tab-2 .tab-pane {
  display: block;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  transition-timing-function: ease-in;
  transition-duration: 0.2s;
}

.flat-animate-tab-2 .tab-pane.active {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 2;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-delay: 0.3s;
}

.tab-btn-wrap-v1 {
  display: flex;
  gap: 20px;
  position: relative;
  overflow: auto;
  white-space: nowrap;
  margin-bottom: 40px;
}

.tab-btn-wrap-v1::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--line);
}

.tab-btn-wrap-v1 .btn-tab {
  padding-bottom: 14px;
  border-bottom: 2px solid transparent;
  display: flex;
  position: relative;
  z-index: 2;
  color: var(--text-2);
}

.tab-btn-wrap-v1 .btn-tab.active {
  border-color: var(--text);
  color: var(--text);
}

.tab-btn-wrap-v1 .btn-tab:hover {
  color: var(--text);
}

.tab-btn-wrap-v1.style-2::after {
  display: none;
}

.tab-btn-wrap-v1.style-2 .btn-tab {
  padding-bottom: 2px;
}

.tab-btn-wrap-v1.style-3::after {
  display: none;
}

@media (min-width: 1440px) {
  .tab-btn-wrap-v1.style-vertical {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .tab-btn-wrap-v1.style-vertical {
    display: grid;
  }
  .tab-btn-wrap-v1.style-vertical::after {
    display: none;
  }
  .tab-btn-wrap-v1.style-vertical .btn-tab {
    border-color: var(--line);
  }
  .tab-btn-wrap-v1.style-vertical .btn-tab .text {
    position: relative;
  }
  .tab-btn-wrap-v1.style-vertical .btn-tab .text::before {
    content: "";
    position: absolute;
    bottom: -16px;
    left: auto;
    right: 0;
    height: 2px;
    width: 0%;
    background: var(--text);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .tab-btn-wrap-v1.style-vertical .btn-tab.active .text::before {
    width: 100%;
    left: 0;
    right: auto;
  }
}
@media (min-width: 1200px) {
  .tab-btn-wrap-v1 {
    gap: 32px;
  }
}
.tab-btn-wrap-v2 {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tab-btn-wrap-v2 .btn-tab {
  padding: 7px 23px;
  border-radius: 68px;
  border: 1px solid var(--line);
}

.tab-btn-wrap-v2 .btn-tab:hover, .tab-btn-wrap-v2 .btn-tab.active {
  border-color: var(--primary);
}

.tab-btn-wrap-v2.style-2 .btn-tab {
  line-height: 24px;
}

.tab-btn-wrap-v2.style-2 .btn-tab:hover, .tab-btn-wrap-v2.style-2 .btn-tab.active {
  color: var(--primary);
}

.tab-btn-wrap-v2.style-3 .btn-tab {
  line-height: 24px;
}

.tab-btn-wrap-v2.style-3 .btn-tab:hover, .tab-btn-wrap-v2.style-3 .btn-tab.active {
  background-color: #f7f7f7;
  color: var(--primary);
}

.tab-btn-wrap-v3 {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tab-btn-wrap-v3 .spread {
  color: var(--line);
}

.tab-btn-wrap-v3 .btn-tab {
  color: var(--text-2);
  padding-top: 4px;
  padding-bottom: 4px;
  position: relative;
  line-height: 24px;
}

.tab-btn-wrap-v3 .btn-tab::after {
  content: "";
  bottom: 0;
  left: auto;
  right: 0;
  position: absolute;
  width: 0;
  height: 2px;
  background: var(--text);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.tab-btn-wrap-v3 .btn-tab.active {
  color: var(--text);
}

.tab-btn-wrap-v3 .btn-tab.active::after {
  width: 100%;
  left: 0;
  right: auto;
}

.tab-btn-wrap-v3 .btn-tab:hover {
  color: var(--text);
}

.tab-btn-wrap-v3.style-2 {
  white-space: nowrap;
  margin-bottom: 30px;
}

.tab-btn-wrap-v3.style-2 .btn-tab {
  padding: 0;
}

.tab-btn-wrap-v3.style-3 {
  flex-direction: column;
  gap: 20px;
  align-items: start;
}

.tab-btn-wrap-v3.style-3 .nav-tab-item {
  width: 100%;
}

.tab-btn-wrap-v3.style-3 .btn-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tab-btn-wrap-v3.style-3 .btn-tab .text {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box !important;
  overflow: hidden;
}

.tab-btn-wrap-v3.style-3 .btn-tab .icon {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.tab-btn-wrap-v3.style-3 .btn-tab:not(.active) {
  color: var(--text-3);
}

.tab-btn-wrap-v3.style-3 .btn-tab.active .icon {
  transform: rotate(45deg);
}

.tab-btn-wrap-v3.style-white {
  gap: 20px;
}

.tab-btn-wrap-v3.style-white .btn-tab {
  color: var(--white-20);
  padding-top: 0;
}

.tab-btn-wrap-v3.style-white .btn-tab.active {
  color: var(--white);
}

.tab-btn-wrap-v3.style-white .btn-tab::after {
  background: var(--white);
}

.tab-btn-wrap-v3.style-4 {
  gap: 28px;
}

@media (min-width: 1200px) {
  .tab-btn-wrap-v3.style-white {
    gap: 48px;
  }
  .tab-btn-wrap-v3.style-4 {
    gap: 40px;
  }
}
@media (min-width: 992px) {
  .tab-btn-wrap-v3.style-2 {
    flex-direction: column;
    gap: 28px;
    align-items: start;
  }
  .tab-btn-wrap-v3.style-2 .btn-tab {
    padding: 0;
    display: inline-flex;
  }
  .tab-btn-wrap-v3.style-3 .btn-tab {
    padding: 8px 0px;
  }
}
@media (max-width: 1199px) {
  .tab-btn-wrap-v3 {
    margin-bottom: 24px;
  }
  .tab-btn-wrap-v3.style-2 {
    gap: 16px;
  }
}
@media (max-width: 991px) {
  .tab-btn-wrap-v3.style-3 {
    gap: 12px;
  }
}
.tab-btn-wrap-v4 {
  background: var(--white);
  padding: 24px 20px;
  border-radius: 16px;
  display: flex;
  gap: 20px;
  overflow: auto;
}

.tab-btn-wrap-v4 .btn-tab {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 8px;
}

.tab-btn-wrap-v4 .btn-tab:hover, .tab-btn-wrap-v4 .btn-tab.active {
  background: var(--bg);
}

@media (min-width: 1200px) {
  .tab-btn-wrap-v4 {
    display: grid;
    gap: 22.3px;
  }
  .tab-btn-wrap-v4 .btn-tab .text {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box !important;
    overflow: hidden;
  }
}
@media (max-width: 1199px) {
  .tab-btn-wrap-v4 {
    margin-bottom: 30px;
    padding: 15px;
    gap: 10px;
  }
  .tab-btn-wrap-v4 .btn-tab {
    padding: 12px;
    white-space: nowrap;
  }
  .tab-btn-wrap-v4 .btn-tab .img {
    display: none;
  }
}
/*--------- Abstracts variable ---------- */
form {
  position: relative;
  z-index: 30;
}

form select,
form textarea,
form input[type=text],
form input[type=password],
form input[type=datetime],
form input[type=datetime-local],
form input[type=date],
form input[type=month],
form input[type=time],
form input[type=week],
form input[type=number],
form input[type=email],
form input[type=url],
form input[type=search],
form input[type=tel],
form input[type=color] {
  outline: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  width: 100%;
  padding: 11px 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

form select::placeholder,
form textarea::placeholder,
form input[type=text]::placeholder,
form input[type=password]::placeholder,
form input[type=datetime]::placeholder,
form input[type=datetime-local]::placeholder,
form input[type=date]::placeholder,
form input[type=month]::placeholder,
form input[type=time]::placeholder,
form input[type=week]::placeholder,
form input[type=number]::placeholder,
form input[type=email]::placeholder,
form input[type=url]::placeholder,
form input[type=search]::placeholder,
form input[type=tel]::placeholder,
form input[type=color]::placeholder {
  color: var(--text-3);
  font-size: 16px;
  line-height: 26px;
}

form select:focus,
form textarea:focus,
form input[type=text]:focus,
form input[type=password]:focus,
form input[type=datetime]:focus,
form input[type=datetime-local]:focus,
form input[type=date]:focus,
form input[type=month]:focus,
form input[type=time]:focus,
form input[type=week]:focus,
form input[type=number]:focus,
form input[type=email]:focus,
form input[type=url]:focus,
form input[type=search]:focus,
form input[type=tel]:focus,
form input[type=color]:focus {
  border-color: var(--black);
}

form select.style-stroke-bottom,
form textarea.style-stroke-bottom,
form input[type=text].style-stroke-bottom,
form input[type=password].style-stroke-bottom,
form input[type=datetime].style-stroke-bottom,
form input[type=datetime-local].style-stroke-bottom,
form input[type=date].style-stroke-bottom,
form input[type=month].style-stroke-bottom,
form input[type=time].style-stroke-bottom,
form input[type=week].style-stroke-bottom,
form input[type=number].style-stroke-bottom,
form input[type=email].style-stroke-bottom,
form input[type=url].style-stroke-bottom,
form input[type=search].style-stroke-bottom,
form input[type=tel].style-stroke-bottom,
form input[type=color].style-stroke-bottom {
  border-radius: 0px;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  padding: 0px 30px 11px 0px;
}

form select.style-stroke-bottom::placeholder,
form textarea.style-stroke-bottom::placeholder,
form input[type=text].style-stroke-bottom::placeholder,
form input[type=password].style-stroke-bottom::placeholder,
form input[type=datetime].style-stroke-bottom::placeholder,
form input[type=datetime-local].style-stroke-bottom::placeholder,
form input[type=date].style-stroke-bottom::placeholder,
form input[type=month].style-stroke-bottom::placeholder,
form input[type=time].style-stroke-bottom::placeholder,
form input[type=week].style-stroke-bottom::placeholder,
form input[type=number].style-stroke-bottom::placeholder,
form input[type=email].style-stroke-bottom::placeholder,
form input[type=url].style-stroke-bottom::placeholder,
form input[type=search].style-stroke-bottom::placeholder,
form input[type=tel].style-stroke-bottom::placeholder,
form input[type=color].style-stroke-bottom::placeholder {
  font-size: 16px;
  line-height: 26px;
}

form button,
form input[type=button],
form input[type=reset],
form input[type=submit] {
  background-color: transparent;
  overflow: hidden;
  padding: 0;
}

form textarea {
  height: 100px;
  resize: none;
}

form .form-content {
  display: grid;
  gap: 20px;
}

form .grid-layout {
  gap: 20px;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.check {
  position: relative;
  background: transparent;
  cursor: pointer;
  outline: 0;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid var(--text-3);
  padding: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 1;
  border-radius: 1px;
}

.check:checked {
  background: var(--black);
  border-color: var(--black);
}

.check:checked::before {
  opacity: 1;
  transform: scale(1);
}

.check::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background-color: var(--white);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M139.704 454.884l194.783-250.436c4.845-6.227 10.96-11.354 17.938-15.040s14.66-5.843 22.536-6.33c7.876-0.493 15.766 0.698 23.147 3.494 7.381 2.79 14.083 7.123 19.663 12.704l473.045 473.041c5.312 5.133 9.555 11.274 12.467 18.064 2.918 6.79 4.454 14.093 4.518 21.482s-1.344 14.717-4.141 21.557c-2.797 6.84-6.931 13.053-12.16 18.278-5.222 5.226-11.437 9.357-18.278 12.156-6.835 2.798-14.163 4.206-21.555 4.142-7.386-0.065-14.688-1.599-21.478-4.516s-12.934-7.156-18.067-12.472l-428.466-428.466-156.076 200.682c-9.070 11.642-22.39 19.21-37.034 21.041s-29.417-2.223-41.075-11.274c-11.642-9.070-19.21-22.389-21.041-37.034s2.223-29.417 11.274-41.075z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M139.704 454.884l194.783-250.436c4.845-6.227 10.96-11.354 17.938-15.040s14.66-5.843 22.536-6.33c7.876-0.493 15.766 0.698 23.147 3.494 7.381 2.79 14.083 7.123 19.663 12.704l473.045 473.041c5.312 5.133 9.555 11.274 12.467 18.064 2.918 6.79 4.454 14.093 4.518 21.482s-1.344 14.717-4.141 21.557c-2.797 6.84-6.931 13.053-12.16 18.278-5.222 5.226-11.437 9.357-18.278 12.156-6.835 2.798-14.163 4.206-21.555 4.142-7.386-0.065-14.688-1.599-21.478-4.516s-12.934-7.156-18.067-12.472l-428.466-428.466-156.076 200.682c-9.070 11.642-22.39 19.21-37.034 21.041s-29.417-2.223-41.075-11.274c-11.642-9.070-19.21-22.389-21.041-37.034s2.223-29.417 11.274-41.075z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  opacity: 0;
  transform: scale(0);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.check.style-2 {
  width: 20px;
  height: 20px;
  border-radius: 3px;
}

.check.style-2::before {
  font-size: 14px;
}

.check-rounded {
  padding: 0 !important;
  position: relative;
  border: 1px solid #9a9a9a;
  border-radius: 50%;
  background: none;
  cursor: pointer;
  outline: 0;
  height: 14px;
  width: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  -webkit-appearance: none;
}

.check-rounded::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: var(--text);
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.check-rounded:checked {
  border-color: var(--text);
}

.check-rounded:checked::before {
  opacity: 1;
}

.check-rounded.style-2 {
  width: 22px;
  height: 22px;
}

.check-rounded.style-2::before {
  width: 16px;
  height: 16px;
}

.check-rounded.style-small {
  width: 12px;
  height: 12px;
}

.check-rounded.style-small::before {
  width: 6px;
  height: 6px;
}

.checkbox-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
}

.checkbox-wrap input {
  padding: 0;
}

.checkbox-wrap label {
  cursor: pointer;
}

.field {
  position: relative;
  display: grid;
  place-items: start;
}

.field .lable {
  margin-bottom: 6px;
}

.form-search-nav {
  position: relative;
  width: 100%;
}

.form-search-nav .btn-action {
  position: absolute;
  font-size: 24px;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
}

.form-search-nav .btn-action .icon {
  color: var(--text);
}

.form-search-nav fieldset input {
  padding-left: 44px;
  padding-top: 11px;
  padding-bottom: 11px;
}

.form-search-nav.style-2 .btn-action {
  right: 16px;
  left: auto;
}

.form-search-nav.style-2 fieldset input {
  padding-left: 15px;
  padding-right: 52px;
}

.form-search-nav.style-2 fieldset input::placeholder {
  font-size: 18px;
  line-height: 28px;
  color: var(--text-3);
  font-weight: normal;
}

.form-search-nav.style-3 .btn-action {
  right: 12px;
  left: auto;
}

.form-search-nav.style-3 fieldset input {
  padding-left: 12px;
  padding-right: 48px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.form-search-nav.style-4 {
  min-width: 320px;
}

.form-search-nav.style-4 fieldset input {
  background: transparent;
  padding-bottom: 7px;
  padding-top: 8px;
}

.form-search-nav.style-4 fieldset input::placeholder {
  color: var(--white);
}

.form-search-nav.style-4 .btn-action {
  right: 0;
  left: auto;
}

.form-search-nav.style-5 {
  position: relative;
  width: auto;
}

.form-search-nav.style-5 input {
  padding-top: 10px;
  padding-bottom: 10px;
}

.form-search-nav.style-5 .btn-action-submit {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
}

@media (min-width: 1440px) {
  .form-search-nav.style-5 {
    width: 100%;
    max-width: 690px;
  }
}
.form-sub {
  position: relative;
}

.form-sub fieldset input {
  border-radius: 128px;
  padding-left: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 50px;
}

.form-sub .btn-action {
  position: absolute;
  top: 4px;
  bottom: 4px;
  right: 4px;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--black);
  border-radius: 50%;
  color: var(--white);
  font-size: 20px;
}

.form-sub .btn-action .icon {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.form-sub .btn-action:hover {
  background: var(--primary);
}

.form-sub .btn-action:hover .icon {
  transform: rotate(45deg);
}

.form-search-blog {
  position: relative;
}

.form-search-blog .btn-action {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 24px;
}

.form-leave-comment textarea {
  min-height: 248px;
}

.form-leave-comment .form-content {
  margin-bottom: 24px;
}

.form_search-product {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 680px;
  width: 100%;
  padding: 8px 20px;
  border-radius: 999px;
  background: var(--bg);
}

.form_search-product .select-category {
  white-space: nowrap;
}

.form_search-product .ipt {
  border: 0;
  background: transparent;
  padding: 0;
  width: 100%;
}

.form_search-product .btn-action {
  font-size: 24px;
}

.form_search-product .fieldset-search {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
}

.form_search-product.style-2 {
  max-width: unset;
  padding-top: 12px;
  padding-bottom: 12px;
}

select.select-2 {
  padding: 6px 56px 6px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

select.select-3 {
  padding: 10px 19px;
  padding-right: 39px;
  border: 1px solid var(--line);
  border-radius: 100px;
}

select.select-3:focus {
  border-color: var(--text);
  outline: unset !important;
}

@media (min-width: 1200px) {
  select.select-3 {
    min-width: 200px;
  }
}
.form-quick-login .grid-layout {
  margin-bottom: 12px;
}

@media (min-width: 1200px) {
  .form-quick-login .action {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.select-wrap {
  position: relative;
  display: inline-flex;
}

.select-wrap .icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
}

.password-wrapper {
  position: relative;
}

.password-wrapper .toggle-pass {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.form-setting {
  display: grid;
  gap: 28px;
}

.form-log .form-content {
  gap: 16px;
  margin-bottom: 28px;
}

.form-log .field-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.form-log .group-action {
  display: grid;
  gap: 16px;
}

.form-newsletter {
  position: relative;
}

.form-newsletter fieldset input {
  border-radius: 100px;
  padding: 15px 23px;
  padding-right: 150px;
}

.form-newsletter .btn-action {
  position: absolute;
  top: 8px;
  right: 8px;
  bottom: 8px;
}

.form-cta {
  display: grid;
  gap: 24px;
  padding: 48px 48px 47px 48px;
  border-radius: 16px;
  background: var(--bg);
}

.form-cta .heading {
  display: grid;
  gap: 7px;
}

.form-cta fieldset input {
  padding-top: 10px;
  padding-bottom: 10px;
}

@media (min-width: 1200px) {
  .form-cta textarea {
    height: 200px;
  }
}
@media (max-width: 767px) {
  .form-cta {
    padding: 20px;
  }
}
.form-get textarea {
  height: 128px;
}

.form-get .form-content {
  margin-bottom: 24px;
}

.form-notice-stock {
  padding: 32px;
  border-radius: 12px;
  border: 1px solid var(--text);
}

.form-notice-stock .title {
  margin-bottom: 12px;
}

.form-notice-stock .desc {
  margin-bottom: 28px;
}

@media (max-width: 991px) {
  .form-notice-stock {
    padding: 20px;
  }
}
.form-tracking .form-content {
  margin-bottom: 32px;
}

.btn-open-search {
  min-width: 320px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--white);
  padding-top: 8px;
  padding-bottom: 7px;
  color: var(--white);
}

.btn-open-search .icon {
  font-size: 24px;
}

.btn-open-search.style-2 {
  color: var(--text-2);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 19px;
}

.btn-open-search.style-2 .icon {
  color: var(--text);
}

@media (min-width: 1440px) {
  .btn-open-search.style-2 {
    width: 100%;
    max-width: 690px;
  }
}
.form-gift .form-content {
  padding: 23px;
  border: 1px solid var(--black);
  border-radius: 8px;
  gap: 8px;
  display: none;
}

.form-gift .product-form-gift:has(input:checked) .checkbox-wrap {
  margin-bottom: 16px;
}

.form-gift .product-form-gift:has(input:checked) .form-content {
  display: grid;
}

/*--------- Abstracts variable ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 44px;
  padding-left: 24px;
  padding-right: 24px;
  position: relative;
  background: var(--text);
  color: var(--white);
  border-radius: 60px;
  font-weight: 600;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn.w-100 {
  padding-left: 12px;
  padding-right: 12px;
}

.btn.btn-white {
  background: var(--white);
  color: var(--text);
}

.btn.btn-white:hover {
  background: var(--text);
  color: var(--white);
}

.btn.btn-white::after {
  display: none;
}

.btn.btn-white.hv-primary:hover {
  background: var(--primary);
}

.btn.btn-primary {
  background: var(--primary);
}

.btn.btn-secondary {
  background: var(--secondary);
}

.btn.btn-third {
  background: var(--third);
}

.btn.btn-stroke {
  border: 1px solid var(--text);
}

.btn.btn-stroke:not(:hover) {
  background: transparent;
  color: var(--text);
}

.btn.btn-stroke-2 {
  border: 2px solid var(--white-10);
  background: transparent;
}

.btn.small {
  height: 42px;
  padding-left: 24px;
  padding-right: 24px;
}

.btn.small.w-100 {
  padding-left: 12px;
  padding-right: 12px;
}

.btn.small-2 {
  height: 46px;
  padding-left: 28px;
  padding-right: 28px;
}

.btn.s-small {
  height: 32px;
  padding-left: 20px;
  padding-right: 20px;
}

.btn.type-xl {
  height: 50px;
}

.btn.style-2 {
  border-radius: 12px;
}

@media (min-width: 1200px) {
  .btn {
    height: 58px;
    padding-left: 32px;
    padding-right: 32px;
  }
}
/* Real site-wide button style setting (Buttons > Style) — a body class
   (see Frontend_Output::button_style_body_class()) that's simply never
   added while the default ("Rounded Pill", the theme's real original
   .btn look above) is selected, so an untouched install is unaffected.
   Each variant only changes shape/fill/hover treatment, reusing the same
   --text/--white color tokens every other button color already does, so
   it stays on-brand automatically with whatever Colors are set. */
body.noorifa-btn-style-2 .btn {
  border-radius: 12px;
}

body.noorifa-btn-style-3 .btn {
  border-radius: 0;
}

body.noorifa-btn-style-4 .btn:not(.btn-white, .btn-stroke, .btn-stroke-2) {
  background: transparent;
  color: var(--text);
  border: 2px solid var(--text);
}

body.noorifa-btn-style-4 .btn:not(.btn-white, .btn-stroke, .btn-stroke-2):hover {
  background: var(--text);
  color: var(--white);
}

body.noorifa-btn-style-5 .btn {
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(16, 16, 16, 0.18);
}

body.noorifa-btn-style-5 .btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(16, 16, 16, 0.24);
}

/* The sticky add-to-cart bar's button has its own separate rule (not
   `.btn`), since it needs its own fixed pill shape regardless of Buttons >
   Style — the same style variants apply here too, matching the real .btn
   ones. Covers both the theme's own bar (template-parts/product/sticky-add-
   -to-cart.php, `.btn-add-to-cart`) and the Noorifa Core plugin's Sticky
   Add to Cart block (`.noorifa-core-sticky-add-to-cart__button`). */
body.noorifa-btn-style-2 .sticky-btn-atc .btn-add-to-cart,
body.noorifa-btn-style-2 .wp-block-noorifa-core-sticky-add-to-cart .noorifa-core-sticky-add-to-cart__button {
  border-radius: 12px;
}

body.noorifa-btn-style-3 .sticky-btn-atc .btn-add-to-cart,
body.noorifa-btn-style-3 .wp-block-noorifa-core-sticky-add-to-cart .noorifa-core-sticky-add-to-cart__button {
  border-radius: 0;
}

body.noorifa-btn-style-4 .sticky-btn-atc .btn-add-to-cart,
body.noorifa-btn-style-4 .wp-block-noorifa-core-sticky-add-to-cart .noorifa-core-sticky-add-to-cart__button {
  background: transparent;
  color: var(--text);
  border: 2px solid var(--text);
}

body.noorifa-btn-style-5 .sticky-btn-atc .btn-add-to-cart,
body.noorifa-btn-style-5 .wp-block-noorifa-core-sticky-add-to-cart .noorifa-core-sticky-add-to-cart__button {
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(16, 16, 16, 0.18);
}

body.noorifa-btn-style-5 .sticky-btn-atc .btn-add-to-cart:hover,
body.noorifa-btn-style-5 .wp-block-noorifa-core-sticky-add-to-cart .noorifa-core-sticky-add-to-cart__button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(16, 16, 16, 0.24);
}

/* The single product page's size-option picker (assets/js/noorifa-product-
   -variations.js's `.size-btn`) is its own small "chip" button, separate
   from `.btn` — same style-driven shape language, scaled to fit a compact
   swatch. Color swatches (`.color-btn`) deliberately stay circular at
   every style — that's a fixed swatch convention, not a button shape. */
body.noorifa-btn-style-2 .product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio) {
  border-radius: 10px;
}

body.noorifa-btn-style-3 .product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio) {
  border-radius: 0;
}

body.noorifa-btn-style-4 .product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio) {
  border-width: 2px;
}

body.noorifa-btn-style-5 .product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio) {
  border-radius: 10px;
}

body.noorifa-btn-style-5 .product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio):hover {
  box-shadow: 0 6px 14px rgba(16, 16, 16, 0.16);
  transform: translateY(-2px);
}

/* The Noorifa Core plugin's Button block (used by its Hero block, see the
   homepage) and its Add to Cart Button block both ship their own hardcoded
   blue default, independent of this theme's real .btn look — override both
   to match instead, `a` in the selector so this reliably wins regardless of
   which stylesheet the browser happens to load second. Same Buttons > Style
   variants as .btn below, so they stay consistent with whatever a site owner
   picks there. */
.wp-block-noorifa-core-button a.noorifa-core-button__link,
.wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding-left: 24px;
  padding-right: 24px;
  background: var(--text);
  color: var(--white);
  border-radius: 60px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.wp-block-noorifa-core-button a.noorifa-core-button__link:hover,
.wp-block-noorifa-core-button a.noorifa-core-button__link:focus,
.wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link:hover,
.wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link:focus {
  color: var(--white);
  opacity: 0.85;
}

@media (min-width: 1200px) {
  .wp-block-noorifa-core-button a.noorifa-core-button__link,
  .wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link {
    height: 58px;
    padding-left: 32px;
    padding-right: 32px;
  }
}

body.noorifa-btn-style-2 .wp-block-noorifa-core-button a.noorifa-core-button__link,
body.noorifa-btn-style-2 .wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link {
  border-radius: 12px;
}

body.noorifa-btn-style-3 .wp-block-noorifa-core-button a.noorifa-core-button__link,
body.noorifa-btn-style-3 .wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link {
  border-radius: 0;
}

body.noorifa-btn-style-4 .wp-block-noorifa-core-button a.noorifa-core-button__link,
body.noorifa-btn-style-4 .wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link {
  background: transparent;
  color: var(--text);
  border: 2px solid var(--text);
}

body.noorifa-btn-style-4 .wp-block-noorifa-core-button a.noorifa-core-button__link:hover,
body.noorifa-btn-style-4 .wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link:hover {
  background: var(--text);
  color: var(--white);
}

body.noorifa-btn-style-5 .wp-block-noorifa-core-button a.noorifa-core-button__link,
body.noorifa-btn-style-5 .wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link {
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(16, 16, 16, 0.18);
}

body.noorifa-btn-style-5 .wp-block-noorifa-core-button a.noorifa-core-button__link:hover,
body.noorifa-btn-style-5 .wp-block-noorifa-core-add-to-cart-button__wrap a.noorifa-core-add-to-cart-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(16, 16, 16, 0.24);
}

/* WooCommerce's own `wc_get_rating_html()` — used by the Noorifa Core
   plugin's Review Carousel block (and any other real WC/plugin markup
   that calls it) — renders `.star-rating > span[style="width:X%"]`, real
   text content included, and relies entirely on WC's own dequeued CSS
   (Assets::enqueue_styles() drops woocommerce_enqueue_styles site-wide,
   see inc/Setup/Assets.php) to turn it into actual stars. This theme
   never replaced that specific fallback — its own real single-product
   reviews use SVG icons via a completely different render path
   (woocommerce/single-product/review.php), which never touches this
   class at all. Real star glyphs via Unicode, not WC's icon font (this
   theme dropped icon fonts entirely — see the SVG icon migration), same
   overlapping-clip technique WC's own CSS uses: an empty 5-star row
   underneath, a `width:X%`-clipped filled 5-star row on top. */
.star-rating {
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1em;
  width: 5.4em;
  font-size: 24px;
  letter-spacing: 2px;
}

.star-rating::before {
  content: "\2605\2605\2605\2605\2605";
  color: var(--line);
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
  height: 0;
}

.star-rating span::before {
  content: "\2605\2605\2605\2605\2605";
  top: 0;
  position: absolute;
  left: 0;
  color: var(--primary);
}

.animate-btn {
  position: relative;
  overflow: hidden;
}

.animate-btn:hover::after {
  animation: shine-reverse 1s forwards;
}

.animate-btn.w-100:hover::after {
  animation: shine-reverse 1.5s forwards;
}

.animate-btn:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%);
  top: 0;
  left: -100%;
  opacity: 0.6;
}

button.animate-btn::after,
.animate-btn.btn::after {
  background-image: linear-gradient(120deg, rgba(0, 0, 0, 0) 20%, rgba(255, 255, 255, 0.4), rgba(0, 0, 0, 0) 70%);
}

.animate-btn.animate-dark::after {
  background-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.5), transparent);
}

.animate-btn.animate-primary::after {
  background-image: linear-gradient(90deg, transparent, rgb(220, 70, 70), transparent);
}

.mk-loading {
  min-width: 150px;
}

.mk-loading.loadmore .spinner-circle {
  display: none;
}

.mk-loading.loadmore.loading .spinner-circle {
  display: block;
}

.mk-loading.loadmore.loading .text {
  display: none;
}

.mk-loading.loadmore:hover .spinner-child::before {
  background-color: var(--white);
}

.mk-loading.loadmore .spinner-child::before {
  background-color: var(--bg);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media (max-width: 1199px) {
  .mk-loading {
    min-width: 130px;
  }
}
.spinner-circle {
  width: 24px;
  height: 24px;
  position: relative;
}

.spinner-circle .spinner-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.spinner-circle .spinner-child::before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 20%;
  height: 20%;
  background-color: var(--white);
  border-radius: 100%;
  -webkit-animation: spinner-circleBounceDelay 1s infinite ease-in-out both;
  animation: spinner-circleBounceDelay 1s infinite ease-in-out both;
}

.spinner-circle .spinner-circle2 {
  -webkit-transform: rotate(40deg);
  -ms-transform: rotate(40deg);
  transform: rotate(40deg);
}

.spinner-circle .spinner-circle2::before {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner-circle .spinner-circle3 {
  -webkit-transform: rotate(80deg);
  -ms-transform: rotate(80deg);
  transform: rotate(80deg);
}

.spinner-circle .spinner-circle3::before {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.spinner-circle .spinner-circle4 {
  -webkit-transform: rotate(120deg);
  -ms-transform: rotate(120deg);
  transform: rotate(120deg);
}

.spinner-circle .spinner-circle4::before {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}

.spinner-circle .spinner-circle5 {
  -webkit-transform: rotate(160deg);
  -ms-transform: rotate(160deg);
  transform: rotate(160deg);
}

.spinner-circle .spinner-circle5::before {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.spinner-circle .spinner-circle6 {
  -webkit-transform: rotate(200deg);
  -ms-transform: rotate(200deg);
  transform: rotate(200deg);
}

.spinner-circle .spinner-circle6::before {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

.spinner-circle .spinner-circle7 {
  -webkit-transform: rotate(240deg);
  -ms-transform: rotate(240deg);
  transform: rotate(240deg);
}

.spinner-circle .spinner-circle7::before {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.spinner-circle .spinner-circle8 {
  -webkit-transform: rotate(280deg);
  -ms-transform: rotate(280deg);
  transform: rotate(280deg);
}

.spinner-circle .spinner-circle8::before {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}

.spinner-circle .spinner-circle9 {
  -webkit-transform: rotate(320deg);
  -ms-transform: rotate(320deg);
  transform: rotate(320deg);
}

.spinner-circle .spinner-circle9::before {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.btn-line-2 {
  color: var(--text-2);
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(to right, var(--text) 50%, var(--text-2) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
  cursor: pointer;
}

.btn-line-2::after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0px;
  height: 2px;
  background-color: var(--text-2);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn-line-2::before {
  position: absolute;
  content: "";
  left: 0;
  width: 0;
  bottom: 0px;
  height: 2px;
  background-color: var(--text);
  transition: width 0.3s linear;
  z-index: 1;
}

.btn-line-2.style-min::after, .btn-line-2.style-min::before {
  height: 1px;
}

.btn-line-2.style-white {
  color: var(--white);
  background: linear-gradient(to right, var(--primary) 50%, var(--white) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}

.btn-line-2.style-white::after {
  background-color: var(--white);
}

.btn-line-2.style-white::before {
  background-color: var(--primary);
}

.btn-line-2.style-primary {
  color: var(--text);
  background: linear-gradient(to right, var(--primary) 50%, var(--text) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}

.btn-line-2.style-primary::after {
  background-color: var(--text);
}

.btn-line-2.style-primary::before {
  background-color: var(--primary);
}

.btn-line-2:hover {
  background-position: left;
}

.btn-line-2:hover::before {
  width: 100%;
}

.btn-line-2.active {
  background-position: left;
}

.btn-line-2.active::before {
  width: 100%;
}

.btn-line-3 {
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
}

.btn-line-3::before {
  content: "";
  position: absolute;
  height: 1px;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--text);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn-line-3:hover {
  color: var(--primary);
}

.btn-line-3:hover::before {
  background: var(--primary);
}

.btn-line-3.type-primary {
  color: var(--primary);
}

.btn-line-3.type-primary::before {
  background: var(--primary);
}

.btn-line {
  display: inline-flex;
  position: relative;
  color: var(--text-2);
}

.btn-line::after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: var(--text-2);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}

.btn-line:hover {
  color: var(--text);
}

.btn-line:hover::after {
  opacity: 1;
  visibility: visible;
}

.btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn-icon .icon {
  font-size: 20px;
}

.action-link {
  align-items: center;
  display: inline-flex;
  height: 40px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 100px;
  color: var(--white);
  background: var(--text);
}

.action-link .icon {
  font-size: 20px;
}

.action-link .text {
  margin-left: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn-video.btn-abs {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-video.btn-abs::after {
  position: absolute;
  content: "";
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3019607843);
  z-index: 1;
}

.btn-video.btn-abs .icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--white);
  font-size: 20px;
  color: var(--black);
  z-index: 2;
}

/*------------ Slider (layout/structure real classes only) ---------------- */
.mk-swiper .sw-pagination:not(.swiper-pagination-lock) {
  margin-top: 20px;
}

.sw-dot-default {
  margin-top: 24px;
}

.sw-dot-default .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background-color: transparent;
  position: relative;
  border: 1px solid transparent;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 1;
}

.sw-dot-default .swiper-pagination-bullet::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--text-3);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.sw-dot-default .swiper-pagination-bullet.swiper-pagination-bullet-active {
  border: 1px solid var(--text);
}

.sw-dot-default .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: var(--text);
}

.sw-dot-default.style-2 .swiper-pagination-bullet {
  width: 20px;
  height: 20px;
}

.sw-dot-default.style-2 .swiper-pagination-bullet:not(.swiper-pagination-bullet-active)::before {
  border: 1px solid var(--text);
  background: transparent;
}

@media (min-width: 1200px) {
  .sw-dot-default {
    margin-top: 35px;
  }
}
@media (min-width: 1440px) {
  .sw-dot-default {
    margin-top: 56px;
  }
}
.sw-dot-default {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sw-dot-default.swiper-pagination-lock {
  margin: 0;
}

/*------------ Sort Dropdown (layout/structure real classes only) ---------------- */
.dropdown-sort {
  min-width: 120px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 4px;
  position: relative;
}

.dropdown-sort .icon {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.dropdown-sort .btn-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: capitalize;
  gap: 12px;
}

.dropdown-sort.show .btn-select .icon {
  transform: rotate(180deg);
}

.dropdown-sort .text-sort-value {
  text-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dropdown-sort .dropdown-menu {
  min-width: 200px;
  border: 1px solid var(--line);
  padding: 10px 5px;
  border-radius: 0px;
  max-height: 68vh;
  isolation: isolate;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  z-index: 99;
  position: absolute !important;
  inset: auto !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  width: max-content;
  max-width: min(320px, 90vw);
}

.dropdown-sort .dropdown-menu::-webkit-scrollbar {
  width: 3px;
}

.dropdown-sort .dropdown-menu::-webkit-scrollbar-thumb {
  border-radius: 4px;
}

.dropdown-sort .select-item {
  position: relative;
  text-transform: capitalize;
  color: var(--black);
  padding: 0 15px;
  line-height: 30px;
  width: 100%;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.dropdown-sort .select-item:hover, .dropdown-sort .select-item.active {
  background-color: #ebebeb;
}

/*--------- Abstracts variable ---------- */
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.noUi-target {
  position: relative;
  direction: ltr;
}

.noUi-base,
.noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

.noUi-connects {
  overflow: hidden;
  z-index: 0;
}

.noUi-connect,
.noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

html:not([dir=rtl]) .noUi-horizontal .noUi-origin {
  left: auto;
  right: 0;
}

.noUi-vertical .noUi-origin {
  width: 0;
}

.noUi-horizontal .noUi-origin {
  height: 0;
}

.noUi-handle {
  position: absolute;
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s;
}

.noUi-state-drag * {
  cursor: inherit !important;
}

.noUi-horizontal {
  height: 18px;
}

.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  left: -17px;
  top: -6px;
}

.noUi-vertical {
  width: 18px;
}

.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  left: -6px;
  top: -17px;
}

html:not([dir=rtl]) .noUi-horizontal .noUi-handle {
  right: -17px;
  left: auto;
}

.noUi-draggable {
  cursor: ew-resize;
}

.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}

.noUi-handle:after {
  left: 17px;
}

.noUi-vertical .noUi-handle:after,
.noUi-vertical .noUi-handle:before {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}

.noUi-vertical .noUi-handle:after {
  top: 17px;
}

[disabled] .noUi-connect {
  background: #b8b8b8;
}

[disabled] .noUi-handle,
[disabled].noUi-handle,
[disabled].noUi-target {
  cursor: not-allowed;
}

.noUi-pips,
.noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.noUi-pips {
  position: absolute;
  color: #999;
}

.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}

.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}

.noUi-marker {
  position: absolute;
  background: #ccc;
}

.noUi-marker-sub {
  background: #aaa;
}

.noUi-marker-large {
  background: #aaa;
}

.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}

.noUi-value-horizontal {
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
}

.noUi-rtl .noUi-value-horizontal {
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%);
}

.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}

.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}

.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}

.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}

.noUi-value-vertical {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%, 0);
  padding-left: 25px;
}

.noUi-rtl .noUi-value-vertical {
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
}

.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}

.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}

.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}

.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}

.noUi-horizontal .noUi-tooltip {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%;
}

.noUi-vertical .noUi-tooltip {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  top: 50%;
  right: 120%;
}

.noUi-horizontal {
  height: 4px;
}

.noUi-target {
  border: 0;
}

.noUi-base .noUi-connects {
  background-color: var(--line);
}

.noUi-connect {
  background-color: var(--text);
}

.noUi-horizontal .noUi-handle,
.noUi-vertical .noUi-handle {
  height: 16px;
  width: 16px;
  border-radius: 50%;
  border: 3px solid var(--text);
  background-color: var(--white);
  box-shadow: unset;
  cursor: pointer;
}

.noUi-horizontal .noUi-handle::before, .noUi-horizontal .noUi-handle::after,
.noUi-vertical .noUi-handle::before,
.noUi-vertical .noUi-handle::after {
  content: none;
}

html:not([dir=rtl]) .noUi-horizontal .noUi-handle {
  right: -8px;
}

/*-- CSS --*/
.btn-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
  text-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 4px 10px;
}

.btn-filter .icon {
  font-size: 20px;
}

.btn-filter:hover {
  background: var(--line);
}

#filterDropdown {
  min-width: 93px;
}

.shop-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px 8px;
  margin-top: -8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
  padding-top: 8px;
  padding-bottom: 8px;
  background: transparent;
}

.shop-control .control-sorting {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.control-layout {
  display: flex;
  align-items: center;
  gap: 8px;
}

.control-layout .view-layout-switch {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  background: var(--bg);
  position: relative;
  border-radius: 4px;
}

.control-layout .view-layout-switch:hover, .control-layout .view-layout-switch.active {
  background: var(--text);
  color: var(--white);
}

@media (max-width: 575px) {
  .view-layout-switch {
    font-size: 14px;
  }
}
.wrapper-shop {
  transition: all 0.3s ease-in-out;
  animation: fadeShop 0.5s ease-in-out;
}

@media (max-width: 575px) {
  .wrapper-shop {
    column-gap: 12px;
    row-gap: 32px;
  }
}
.wrapper-control-shop {
  position: relative;
}

.wrapper-control-shop.loading-shop * {
  display: none !important;
}

.wrapper-control-shop.loading-shop::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  border: 2px solid transparent;
  border-top: 2px solid var(--black);
  border-right: 2px solid var(--black);
  border-radius: 50%;
  animation: spin 0.5s linear infinite;
  transform: translate(-50%, -50%);
  z-index: 10000;
}

@media (min-width: 1200px) {
  .wrapper-control-shop .grid-layout .wg-pagination {
    margin-top: 16px;
    gap: 40px 20px;
  }
}
@keyframes fadeShop {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.listLayout-wrapper #product-count-grid {
  display: none;
}

.listLayout-wrapper #product-count-list {
  display: block;
}

.gridLayout-wrapper #product-count-grid {
  display: block;
}

.gridLayout-wrapper #product-count-list {
  display: none;
}

.widget-facet {
  overflow: hidden;
}

.widget-facet .facet-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.widget-facet .facet-title .icon {
  transform: rotate(0deg);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.widget-facet .facet-title.collapsed {
  margin-bottom: 0px;
}

.widget-facet .facet-title.collapsed .icon {
  transform: rotate(180deg);
}

.filter-group-size {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 12px;
}

.filter-group-size .label-size {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.filter-group-size .label-size:hover {
  border-color: var(--text);
}

.filter-group-size .label-size.over-size {
  width: auto;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 1000px;
}

.filter-group-size .ip-size:checked + label {
  border-color: var(--text);
  background: var(--text);
  color: var(--white);
}

.filter-group-check.group-category {
  max-height: 254px;
  overflow: auto;
}

.filter-group-check .rate-list li:last-child {
  margin-left: 8px;
}

.filter-group-check .list-item {
  display: flex;
  gap: 10px;
  align-items: center;
}

.filter-group-check .list-item:not(:last-child) {
  margin-bottom: 12px;
}

.filter-group-check .list-item.disabled {
  opacity: 0.2;
  pointer-events: none;
}

.filter-group-check .label {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.filter-group-check .check {
  min-width: unset;
  aspect-ratio: 1;
}

.group-check-color .field-color {
  position: relative;
  display: flex;
}

.group-check-color .field-color .color {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}

.group-check-color .check {
  border-radius: 50%;
  width: 24px;
  height: 24px;
  background: transparent;
}

.group-check-color .check::before {
  display: none;
}

.group-check-color .check:checked + .color {
  width: 18px;
  height: 18px;
}

.filter-size-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-size-box .size-item {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  background-color: var(--white);
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  border-radius: 50%;
  color: var(--text);
}

.filter-size-box .size-item.active, .filter-size-box .size-item:hover {
  background-color: var(--black);
  color: var(--white);
}

.filter-size-box .size-item.disabled {
  color: var(--black-4);
  pointer-events: none;
}

.filter-size-box .size-item.disabled::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 53.568px;
  height: 1px;
  background-color: var(--black-4);
  transform: rotate(45deg);
  transform-origin: top left;
}

.filter-size-box .size-item.over-size {
  width: 120px;
  border-radius: 999px;
}

@media (min-width: 1200px) {
  .filter-size-box .size-item {
    width: 56px;
    height: 56px;
  }
}
.filter-color-box {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-color-box .color-item {
  width: 32px;
  height: 32px;
  display: block;
  border-radius: 50%;
  border: 1px solid var(--line);
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-color: var(--white);
  cursor: pointer;
  padding: 4px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.filter-color-box .color-item .color {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
}

.filter-color-box .color-item.active {
  border-color: var(--dark) !important;
}

.filter-color-box .color-text {
  display: none;
}

@media (min-width: 1200px) {
  .filter-color-box .color-item {
    width: 40px;
    height: 40px;
  }
}
.meta-filter-shop {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}

.meta-filter-shop #applied-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.meta-filter-shop .filter-tag,
.meta-filter-shop .remove-all-filters {
  display: flex;
  align-items: center;
  text-transform: capitalize;
  gap: 8px;
  padding: 4px 12px;
  border-radius: 4px;
  background: var(--line);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
}

.meta-filter-shop .filter-tag .icon,
.meta-filter-shop .remove-all-filters .icon {
  font-size: 12px;
}

.meta-filter-shop .filter-tag:hover,
.meta-filter-shop .remove-all-filters:hover {
  color: var(--white);
  background: var(--text);
}

.meta-filter-shop.type-drop {
  margin-bottom: 20px;
}

@media (max-width: 991px) {
  .meta-filter-shop {
    margin-bottom: 30px;
  }
}
.overlay-filter {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: url(../images/cursor-close.svg), auto;
}

.overlay-filter.show {
  opacity: 1;
  visibility: visible;
}

@media (min-width: 1200px) {
  .overlay-filter.type-drawer {
    display: none;
  }
}
.widget-price {
  display: grid;
  gap: 16px;
}

.widget-price .price-val-range {
  padding: 0px 8px;
  margin: 6px 0px;
}

.widget-price .price-box {
  gap: 20px;
}

.widget-price .price-val {
  font-weight: 600;
  color: var(--text);
  position: relative;
}

.widget-price .price-val::before {
  content: attr(data-currency);
}

.widget-price .price-val_wrap {
  padding: 7px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.widget-price .box-wrap {
  display: grid;
  gap: 4px;
}

.list-layout {
  display: grid;
  gap: 24px;
}

@media (min-width: 1200px) {
  .list-layout {
    gap: 40px;
  }
}
.shop-sale-text {
  display: flex;
  align-items: center;
  gap: 12px;
}

.shop-sale-text label {
  cursor: pointer;
}

.filter-dropdown,
.meta-dropdown-filter {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.shop-change {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

@media (min-width: 1200px) {
  .shop-change {
    gap: 32px;
  }
}
@media (max-width: 991px) {
  .shop-change {
    width: 100%;
    justify-content: space-between;
  }
}
@media (max-width: 1199px) {
  .group-filter {
    margin-bottom: 32px;
  }
}
@media (min-width: 1200px) {
  .filter-drawer-wrap.canvas-filter {
    max-width: 100% !important;
    width: 100% !important;
  }
  .filter-drawer-wrap {
    position: absolute;
    z-index: 90;
    padding: 28px;
    top: 100%;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 0 25px 3px rgba(0, 0, 0, 0.1);
    border-radius: 16px;
  }
  .filter-drawer-wrap .group-filter {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }
  .filter-drawer-wrap .collapse-body {
    padding-bottom: 0 !important;
  }
  .filter-drawer-wrap .widget-facet {
    margin-bottom: 0 !important;
    padding-bottom: 0;
    border: 0;
  }
  .filter-drawer-wrap .facet-title {
    padding: 0px;
    margin-bottom: 24px;
  }
  .filter-drawer-wrap .filter-color-box {
    padding-right: 0;
  }
  .filter-drawer-wrap .canvas-body {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    overflow-y: unset;
    gap: 20px;
  }
  .filter-drawer-wrap .canvas-body > .br-line {
    display: none;
  }
  .filter-drawer-wrap.show {
    margin-top: 10px;
    opacity: 1;
    visibility: visible;
  }
}
.sb-banner {
  position: relative;
}

.sb-banner .image {
  border-radius: 12px;
  overflow: hidden;
}

.sb-banner .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sb-banner .content {
  position: absolute;
  top: 26px;
  left: 20px;
  right: 20px;
  text-align: center;
}

.sb-banner .title {
  margin-bottom: 8px;
}

.sb-banner .sub-title {
  margin-bottom: 16px;
}

.sb-banner .btn-action {
  height: 38px;
  padding-left: 16px;
  padding-right: 16px;
}

.page-pagination {
  justify-content: center;
}

@media (max-width: 767px) {
  .wrapper-shop.grid-layout {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.card-product {
  display: flex;
  flex-direction: column;
  gap: 16px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.card-product:hover .variant-box,
.card-product:hover .product-action_bot,
.card-product:hover .product-btn_quick {
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}

.card-product:hover .product-countdown {
  bottom: -40px;
}

.card-product:hover .product-marquee_sale {
  transform: translateY(50px);
}

.card-product.style-5 {
  padding: 20px;
  background-color: #f7f7f7;
  border-radius: 12px;
}

.card-product.style-5 .btn {
  box-shadow: 0px 10px 15px 0px rgba(43, 52, 74, 0.1215686275);
}

@media (min-width: 576px) {
  .card-product.has-size .product-action_bot {
    bottom: 64px;
  }
}
.card-product_wrapper {
  aspect-ratio: 0.75;
  z-index: 20;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.card-product_wrapper .product-img {
  overflow: hidden;
  position: relative;
  border-radius: 12px;
  z-index: 0;
  width: 100%;
  aspect-ratio: 3/4;
}

.card-product_wrapper img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  transition-duration: 700ms;
}

.card-product_wrapper .img-product {
  z-index: 1;
  position: relative;
}

.card-product_wrapper .img-hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
}

.card-product_wrapper .btn {
  box-shadow: 0px 10px 25px 0px rgba(43, 52, 74, 0.1215686275);
}

.card-product_wrapper:hover .img-hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
  opacity: 1;
}

.card-product_wrapper.square {
  aspect-ratio: 1;
}

.card-product_wrapper.square img {
  aspect-ratio: 1;
}

.card-product_info {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 4px;
}

.card-product_info .name-product {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  /* Product titles are real `<a>` tags, not `<h*>`/`.h*` elements, so they
     don't pick up the heading font-family rule automatically — the plain
     `a { font-family: "DM Sans" }` rule further up the file would win
     otherwise. Falls back to `inherit` (the body font) when Heading Font
     is left unset, matching every other typography override's default. */
  font-family: var(--font-heading, inherit);
  font-size: var(--noorifa-shop-title-font-size, inherit);
  font-weight: var(--noorifa-shop-title-font-weight, 500);
}

.price-wrap {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

/* The crossed-out original price (.price-old) deliberately keeps its own
   shared .text-caption-01 size (14px) — only the current price follows the
   Shop settings' Meta Font Size. */
.price-wrap .price-new {
  font-size: var(--noorifa-shop-meta-font-size, inherit);
}

.price-wrap .price-old {
  text-decoration: line-through;
}

.star-wrap .icon {
  color: var(--yellow);
  font-size: 12px;
}

.star-wrap.normal .icon {
  font-size: 16px;
}

.star-wrap.rate-click .icon {
  color: var(--line);
}

.star-wrap.rate-click .icon.hover, .star-wrap.rate-click .icon.active {
  color: var(--yellow);
}

.product-badge_list {
  display: flex;
  gap: 4px;
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 1;
}

@media (min-width: 1200px) {
  .product-badge_list {
    top: 12px;
    left: 12px;
  }
}
@media (max-width: 575px) {
  .product-badge_list {
    flex-direction: column;
    align-items: start;
    gap: 4px;
  }
}
.product-badge_item {
  padding: 0px 8px;
  color: var(--white);
  font-weight: 500;
  border-radius: 12px;
}

.product-badge_item.sale {
  background-color: var(--primary);
}

.product-badge_item.new {
  background-color: #3dab25;
}

.product-badge_item.trend {
  background-color: var(--yellow);
}

.product-action_bot {
  position: absolute;
  bottom: 16px;
  right: 15px;
  left: 15px;
  z-index: 2;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.product-action_bot > *:not(:last-child) {
  margin-bottom: 12px;
}

.product-action_bot .btn-icon-quick_view {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 20px;
}

.product-action_bot .btn-icon-quick_view:hover {
  background: var(--text);
  color: var(--white);
}

@media (min-width: 576px) {
  .product-action_bot.vertical {
    display: flex;
    flex-direction: row;
    gap: 8px;
  }
  .product-action_bot.vertical > * {
    margin-bottom: 0;
  }
}
@media (min-width: 1200px) {
  .product-action_bot {
    transform: translateY(20px);
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .product-action_bot > * {
    width: 180px;
    padding-left: 12px;
    padding-right: 12px;
  }
}
@media (max-width: 991px) {
  .product-action_bot {
    left: 8px;
    right: 8px;
  }
}
@media (max-width: 575px) {
  .product-action_bot {
    bottom: 8px;
  }
  .product-action_bot > * {
    padding: 10px 5px;
    width: 100%;
  }
  .product-action_bot > *:not(:last-child) {
    margin-bottom: 8px;
  }
  .product-action_bot > *.small {
    height: 36px;
  }
  .product-action_bot .icon {
    font-size: 16px;
  }
}
/* Product Single */
.product-thumbs-slider {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.product-thumbs-slider .product-media-thumbs .item {
  border-radius: 4px;
  border: 1px solid var(--line);
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.product-thumbs-slider .product-media-thumbs .swiper-slide.swiper-slide-thumb-active .item {
  border-color: var(--text);
}

.product-thumbs-slider .product-media-thumbs .swiper-slide:not(.swiper-slide-thumb-active) .item {
  opacity: 1;
}

.product-thumbs-slider .product-media-main {
  border-radius: 16px;
  overflow: hidden;
}

.product-thumbs-slider .product-media-main .item {
  display: flex;
  justify-content: center;
  height: 100%;
}

.product-thumbs-slider .product-media-main .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-thumbs-slider .product-media-main .slide-3d {
  height: auto !important;
}

@media (min-width: 1200px) {
  .product-thumbs-slider {
    gap: 20px;
  }
  .product-thumbs-slider.style-row {
    flex-direction: row;
  }
  .product-thumbs-slider.style-row .flat-wrap-media-product {
    width: calc(100% - 100px);
  }
  .product-thumbs-slider.style-row .product-media-thumbs {
    width: 80px;
  }
  .product-thumbs-slider.style-row .product-media-thumbs .swiper-slide {
    height: auto;
    max-height: none;
    aspect-ratio: 1;
  }
  .product-thumbs-slider.style-row.row_left .flat-wrap-media-product {
    order: 1;
  }
}
@media (min-width: 1200px) {
  .product-media-wrap {
    padding-right: 15px;
  }
}
.product-media-thumbs {
  flex-shrink: 0;
  margin: 0;
  width: 100%;
}

.product-media-thumbs .swiper-slide .item {
  width: 100%;
  height: 100%;
}

.product-media-thumbs .swiper-slide .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 1200px) {
  .product-media-thumbs {
    max-height: 764px;
  }
}
.product-info-wrap {
  margin-top: 30px;
}

.product-info-wrap .product-info-list {
  display: grid;
  gap: 24px;
}

.product-infor-name {
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: clamp(26px, 2.9vw, 34px);
}

.product-info-wrap .product-info-heading .product-infor-vendor {
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--line);
}

.product-info-wrap .product-info-heading .product-infor-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.product-info-wrap .product-info-heading .meta_rate,
.product-info-wrap .product-info-heading .meta_sold {
  display: flex;
  align-items: center;
  gap: 4px;
}

.product-info-wrap .product-info-heading .br-line {
  height: 12px;
}

.product-info-wrap .product-info-heading .product-infor-reality {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-info-wrap .product-infor-price {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-info-wrap .product-infor-price .badge-sale {
  margin-left: 8px;
}

.product-info-wrap .product-infor-price del {
  order: 2;
  font-size: 14px;
  line-height: 22px;
  color: var(--text-3);
  font-weight: 400;
}

.product-info-wrap .product-infor-price ins {
  order: 1;
  font-size: clamp(24px, 3.5vw, 30px);
  line-height: clamp(32px, 4.2vw, 42px);
  font-weight: 500;
  text-decoration: none;
  color: var(--text);
}

.product-info-wrap .product-infor-price > .woocommerce-Price-amount {
  font-size: clamp(24px, 3.5vw, 30px);
  line-height: clamp(32px, 4.2vw, 42px);
  font-weight: 500;
}

.product-info-wrap .product-variant {
  display: grid;
  gap: 20px;
}

.product-variant form.cart {
  display: grid;
  gap: 20px;
}
.product-variant .quantity {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid var(--line);
  padding: 8px 16px;
  border-radius: 100px;
  min-width: 150px;
  flex-shrink: 0;
  width: fit-content;
}
.product-variant .quantity .qty {
  width: 40px;
  padding: 0;
  background: transparent;
  border: 0;
  text-align: center;
  font-weight: 600;
  -moz-appearance: textfield;
}
.product-variant .quantity .qty::-webkit-inner-spin-button, .product-variant .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-variant .quantity .btn-quantity {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
}
.product-variant table.variations {
  width: 100%;
  margin-bottom: 16px;
}
.product-variant table.variations tr {
  display: block;
  margin-bottom: 12px;
}
.product-variant table.variations td,
.product-variant table.variations th {
  display: block;
  text-align: left;
  padding: 0;
}
.product-variant table.variations label {
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
}
.product-variant table.variations select {
  width: 100%;
  max-width: 320px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--white);
}
.product-variant .reset_variations {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 13px;
  text-decoration: underline;
}
.product-variant .woocommerce-variation-price,
.product-variant .woocommerce-variation-description {
  display: none;
}
.product-variant .woocommerce-variation-availability {
  margin-bottom: 12px;
}
.product-variant .single_add_to_cart_button.disabled, .product-variant .single_add_to_cart_button.wc-variation-selection-needed, .product-variant .single_add_to_cart_button.wc-variation-is-unavailable {
  opacity: 0.5;
  cursor: not-allowed;
}
.product-variant .single_add_to_cart_button.loading {
  opacity: 0.7;
  cursor: wait;
}
.product-variant .stock {
  margin-bottom: 12px;
}
.product-variant .stock.out-of-stock {
  color: var(--critical);
}

.product-info-wrap .product-variant .variant-picker-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.product-info-wrap .product-variant .variant-picker-values {
  display: flex;
  align-items: center;
  gap: 12px;
}

.product-info-wrap .variant-color .variant-picker-values {
  display: flex;
  align-items: center;
  gap: 20px;
}

.product-info-wrap .variant-color .color-btn:not(.select-item, .style-image-text) {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-align: center;
  border: 1px solid var(--line);
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 50%;
}

.product-info-wrap .variant-color .color-btn:not(.select-item, .style-image-text) .check-color {
  width: 32px;
  height: 32px;
  display: flex;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid #dcdcdc;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.product-info-wrap .variant-color .color-btn:not(.select-item, .style-image-text).active {
  border-color: var(--black);
}

.product-info-wrap .variant-color .color-btn.style-image {
  width: 60px;
  height: 60px;
  border-radius: 4px;
  border: 1px solid transparent;
}

.product-info-wrap .variant-color .color-btn.style-image .img {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  aspect-ratio: 1;
}

.product-info-wrap .variant-color .color-btn.style-image .img img {
  object-fit: cover;
  aspect-ratio: 1;
}

.product-info-wrap .variant-color .color-btn.style-image.style-small {
  width: 40px;
  height: 40px;
  padding: 4px;
}

.product-info-wrap .variant-color .color-btn.style-image-circle {
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 50%;
}

.product-info-wrap .variant-color .color-btn.style-image-circle .img {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 50%;
}

.product-info-wrap .variant-color .color-btn.style-image-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-info-wrap .variant-color .color-btn.style-rounded {
  align-items: center;
  width: auto;
  height: auto;
  padding: 7px 16px;
  border-radius: 999px;
  border-width: 2px;
  gap: 8px;
}

.product-info-wrap .variant-color .color-btn.style-rounded .check-color {
  width: 20px;
  height: 20px;
}

.product-info-wrap .variant-image-text .color-btn.style-image-text {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 5px;
  max-width: 90px;
  width: 100%;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.product-info-wrap .variant-image-text .color-btn.style-image-text .image {
  display: flex;
  border-radius: 3px;
  overflow: hidden;
}

.product-info-wrap .variant-image-text .color-btn.style-image-text .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-info-wrap .variant-image-text .color-btn.style-image-text .value-name {
  margin-top: 5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
  overflow: hidden;
}

.product-info-wrap .variant-image-text .color-btn.style-image-text.active {
  border-color: var(--black);
}

.product-info-wrap .variant-size .variant-picker-label {
  justify-content: space-between;
}

.product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio) {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  cursor: pointer;
  border-radius: 4px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio):hover {
  border-color: var(--text);
}

.product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio).active {
  background: var(--text);
  color: var(--white);
  border-color: var(--text);
}

.product-info-wrap .variant-size .size-btn:not(.select-item, .style-radio).disabled {
  opacity: 0.3;
  pointer-events: none;
}

.product-info-wrap .variant-size .size-btn.style-radio {
  display: flex;
  align-items: center;
  gap: 2px;
  cursor: pointer;
}

.product-info-wrap .variant-size .size-btn.style-radio.disabled {
  opacity: 0.3;
  pointer-events: none;
}

.product-info-wrap .variant-size .size-btn.style-radio .check-rounded {
  position: relative;
  border: 1px solid #9a9a9a;
  border-radius: 50%;
  background: none;
  cursor: pointer;
  height: 14px;
  width: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-info-wrap .variant-size .size-btn.style-radio .check-rounded::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: var(--text);
  opacity: 0;
  z-index: 1;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.product-info-wrap .variant-size .size-btn.style-radio.active .check-rounded {
  border-color: var(--text);
}

.product-info-wrap .variant-size .size-btn.style-radio.active .check-rounded::before {
  opacity: 1;
}

.product-info-wrap .variant-size .size-btn.style-nor {
  height: 32px;
  width: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.product-info-wrap .product-total-quantity {
  display: grid;
  gap: 12px;
}

.product-info-wrap .product-total-quantity .group-action {
  display: flex;
  align-items: center;
  gap: 10px;
}

.product-info-wrap .product-total-quantity .btn-action-price {
  gap: 0;
}

.product-info-wrap .product-extra-link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 20px;
}

.product-info-wrap .product-extra-link a {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 24px;
}

.product-info-wrap .product-extra-link a .icon {
  font-size: 20px;
}

.product-info-wrap .product-delivery-return {
  display: grid;
  gap: 12px;
}

.product-info-wrap .product-delivery-return .product-delivery {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-info-wrap .product-delivery-return .product-delivery .icon {
  font-size: 20px;
}

.product-info-wrap .product-trust-seal {
  background: var(--bg);
  display: grid;
  place-items: center;
  gap: 16px;
  padding: 24px 15px;
  border-radius: 12px;
}

.product-info-wrap .product-trust-seal .list-card {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.product-info-wrap .product-trust-seal .card-item img {
  aspect-ratio: 1.5625;
}

.product-info-wrap .product-trust-seal .card-item.payment-list-image img {
  aspect-ratio: auto;
}

.product-info-wrap .product-more-option {
  padding: 15px;
  border-radius: 12px;
  border: 1px solid var(--line);
}

.product-info-wrap .product-more-option .more-option-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.product-info-wrap .product-more-option .more-option-item:not(:last-child) {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.product-info-wrap .product-more-option .more_image {
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.product-info-wrap .product-more-option .more_image img {
  aspect-ratio: 0.7518796992;
}

.product-info-wrap .product-more-option .more_info {
  display: grid;
  place-items: start;
  gap: 8px;
}

.product-info-wrap .product-more-option .info__select-quantity {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.product-info-wrap .product-more-option .info__price {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-info-wrap .product-more-option .wg-quantity {
  padding-top: 11px;
  padding-bottom: 11px;
}

.product-info-wrap .progress-cart {
  width: 100%;
  background-color: var(--line);
  height: 9px;
  position: relative;
}

.product-info-wrap .progress-cart .value {
  position: relative;
  height: 100%;
  background-color: var(--text);
  transition: width 2s ease;
}

.product-info-wrap .product-progress-sale .title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.product-info-wrap .product-info-countdown {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.product-info-wrap .product-info-countdown.type-box {
  width: max-content;
  gap: 16px 32px;
  padding: 15px 23px;
  border-radius: 8px;
  border: 1px solid var(--text);
}

.product-info-wrap .product-info-countdown.type-box .countdown-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 1199px) {
  .product-info-wrap .product-info-countdown.type-box {
    flex-direction: column;
  }
}
.product-info-wrap .product-pickup-available {
  display: flex;
  gap: 8px;
}

.product-info-wrap .product-pickup-available .icon {
  margin-top: 4px;
  font-size: 20px;
  line-height: 1;
}

.product-info-wrap .product-pickup-available .content {
  display: grid;
  gap: 4px;
}

.product-info-wrap .product-stock {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.product-info-wrap .product-stock .icon {
  animation: ani-flash 2s infinite;
}

.product-info-wrap .product-stock .stock {
  padding: 5px 10px;
  border-radius: 5px;
  margin-right: 8px;
  font-weight: 500;
}

.product-info-wrap .product-stock .in-stock {
  background-color: rgba(44, 163, 21, 0.1);
  color: #1d770b;
}

.product-info-wrap .product-stock .out-stock {
  background-color: rgba(37, 37, 37, 0.1);
  color: #252525;
}

@media (min-width: 1200px) {
  .product-info-wrap {
    padding-left: 15px;
  }
  .product-info-wrap .product-extra-link {
    gap: 40px;
  }
  .product-info-wrap .product-more-option {
    padding: 19px;
  }
  .product-info-wrap .product-more-option .wg-quantity {
    min-width: 160px;
  }
}
.badge-sale {
  border-radius: 144px;
  background: var(--primary);
  padding: 2px 8px;
}

.badge-sale.popular {
  background: var(--blue_100);
  color: var(--blue_800);
}

.badge-sale.sale {
  background: #FEE4E2;
  color: #912018;
}

.sticky-btn-atc {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 70;
  width: calc(100% - 32px);
  max-width: 720px;
  transform: translate(-50%, calc(100% + 24px));
  transition: transform 0.3s linear;
}

.sticky-btn-atc.show {
  transform: translate(-50%, 0);
}

.sticky-btn-atc .height-observer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 12px 12px 16px;
  border-radius: 20px;
  background-color: #faebea;
  box-shadow: 0px 10px 30px 0px rgba(16, 16, 16, 0.15);
}

.sticky-btn-atc .sticky-atc-product {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex-shrink: 1;
}

.sticky-btn-atc .prd_img {
  flex-shrink: 0;
  width: 48px;
  border-radius: 8px;
  overflow: hidden;
}

.sticky-btn-atc .prd_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1;
}

.sticky-btn-atc .prd_info {
  min-width: 0;
}

.sticky-btn-atc .name__prd {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sticky-btn-atc .sticky-atc-buy {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.sticky-btn-atc .price__prd {
  flex-shrink: 0;
  white-space: nowrap;
}

.sticky-btn-atc .btn-add-to-cart {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  border: 0;
  background-color: var(--text);
  color: var(--white);
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.sticky-btn-atc .btn-add-to-cart:hover {
  opacity: 0.85;
}

.sticky-btn-atc .btn-add-to-cart .icon {
  width: 18px;
  height: 18px;
}

@media (max-width: 575px) {
  .sticky-btn-atc {
    bottom: 12px;
    width: calc(100% - 16px);
  }
  .sticky-btn-atc .height-observer {
    padding: 8px 8px 8px 10px;
    gap: 8px;
  }
  .sticky-btn-atc .sticky-atc-product {
    gap: 8px;
  }
  .sticky-btn-atc .prd_img {
    width: 36px;
  }
  .sticky-btn-atc .name__prd {
    font-size: 13px;
  }
  .sticky-btn-atc .distribute__prd {
    font-size: 11px;
  }
  .sticky-btn-atc .sticky-atc-buy {
    gap: 8px;
  }
  .sticky-btn-atc .price__prd {
    font-size: 13px;
  }
  .sticky-btn-atc .btn-add-to-cart span {
    display: none;
  }
  .sticky-btn-atc .btn-add-to-cart {
    padding: 0;
    width: 40px;
    height: 40px;
    justify-content: center;
  }
}
.sticky-btn-atc .price__prd del {
  margin-left: 6px;
  font-size: 13px;
  font-weight: 400;
  color: var(--text-3);
}

.sticky-btn-atc .price__prd ins {
  text-decoration: none;
}

.write-cancel-review-wrap .write-review-wrap,
.write-cancel-review-wrap .btn-cancel-review {
  display: none;
}

.write-cancel-review-wrap.write-review .cancel-review-wrap,
.write-cancel-review-wrap.write-review .btn-write-review {
  display: none;
}

.write-cancel-review-wrap.write-review .write-review-wrap,
.write-cancel-review-wrap.write-review .btn-cancel-review {
  display: block;
}

.widget-price {
  margin-top: 24px;
  margin-bottom: 35px;
}

.widget-price .box-title-price {
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.widget-price .caption-price {
  display: flex;
  align-items: center;
  gap: 10px;
}

.widget-price .caption-price .price-val {
  width: 68px;
  display: flex;
  justify-content: flex-end;
  position: relative;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
}

.widget-price .caption-price .price-val::after {
  content: attr(data-currency);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 10px;
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
}

.widget-price .price-val-range {
  padding: 0px 10px;
}

/*--------- Abstracts variable ---------- */
.drift-bounding-box.drift-open {
  background: rgba(255, 255, 255, 0.2509803922);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.4) inset;
  z-index: 5000;
}

.drift-zoom-pane {
  z-index: 5000;
}

.section-image-zoom .other-image-zoom {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media (min-width: 1200px) {
  .section-image-zoom.zoom-active .other-image-zoom {
    opacity: 0.3;
  }
}
.pswp__bg {
  background: var(--white);
}

.pswp__icn {
  fill: rgb(34, 34, 34);
  color: var(--white);
}

.pswp__icn .pswp__icn-shadow {
  stroke: var(--white);
  stroke-width: 1px;
  fill: none;
}

.pswp__counter {
  color: #222;
  text-shadow: 1px 1px 3px #ffffff;
}

.model-viewer {
  width: 100%;
  height: 100%;
  position: relative;
  background: radial-gradient(circle at 50% 45%, #ffffff 0%, #f7f7f7 30%, #e0e0e0 55%, #bdbdbd 78%, #8a8a8a 100%);
}

.model-viewer model-viewer {
  display: block;
  position: relative;
  z-index: 5;
  width: 100%;
  height: 100%;
}

.model-viewer model-viewer.disabled {
  pointer-events: none;
}

.model-viewer.active model-viewer {
  pointer-events: all;
}

.model-viewer.active .wrap-btn-viewer {
  display: none;
}

.zoom-main1,
.zoom-main {
  position: sticky;
  top: 30px;
  z-index: 50;
}

.zoom-main1 .drift-zoom-pane,
.zoom-main .drift-zoom-pane {
  top: 0;
  left: 0;
  height: 520px;
  max-width: 520px;
  width: 100%;
  background: #fff;
  -webkit-transform: translate3d(0, 0, 0);
  box-shadow: 0 1px 5px rgba(127, 127, 127, 0.0196078431), 0 5px 18px rgba(127, 127, 127, 0.2);
  z-index: 3;
}

.zoom-main1 .drift-zoom-pane img,
.zoom-main .drift-zoom-pane img {
  object-fit: cover;
}

.drift-bounding-box.drift-open {
  background: rgba(255, 255, 255, 0.2509803922);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.4) inset;
  z-index: 5000;
}

.drift-zoom-pane {
  z-index: 5000;
}

@media (min-width: 1200px) {
  .section-image-zoom .other-image-zoom {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .section-image-zoom.zoom-active .other-image-zoom {
    opacity: 0.3;
  }
}
.pswp__bg {
  background: var(--white);
}

.pswp__icn {
  fill: rgb(34, 34, 34);
  color: var(--white);
}

.pswp__icn .pswp__icn-shadow {
  stroke: var(--white);
  stroke-width: 1px;
  fill: none;
}

.pswp__counter {
  color: #222;
  text-shadow: 1px 1px 3px #ffffff;
}

/*--------- Abstracts variable ---------- */
.cart-notification {
  display: flex;
  justify-content: center;
}

.cart-notification .count-text {
  display: flex;
  align-items: center;
  border-radius: 8px;
  padding: 11px 15px;
  background: var(--bg-4);
}

.cart-notification .count-text .ic {
  margin-right: 12px;
}

.cart-notification .time-count {
  display: inline-block;
  font-weight: 700;
  color: var(--primary);
  min-width: 47px;
}

.notification-progress .text {
  margin-bottom: 16px;
}

.notification-progress .progress-cart {
  margin-top: 8px;
  margin-bottom: 8px;
  width: 100%;
  background-color: var(--line);
  height: 4px;
  position: relative;
  border-radius: 100px;
}

.notification-progress .value {
  position: relative;
  height: 100%;
  background-color: var(--success);
  transition: width 2s ease;
  border-radius: 100px;
}

.notification-progress .round {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: var(--white);
  border: 1px solid var(--success);
  border-radius: 50%;
}

.notification-progress .round .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  fill: var(--success);
}

.table-page-cart {
  border-collapse: separate;
  border-spacing: 0;
}

.table-page-cart td {
  padding-top: 27px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}

.table-page-cart th {
  font-weight: 600;
  border-bottom: 1px solid var(--line);
}

.table-page-cart thead th {
  padding-bottom: 11px;
}

.table-page-cart .wg-quantity {
  max-width: 160px;
  min-width: unset;
  padding-top: 11px;
  padding-bottom: 11px;
}

.table-page-cart .cart_quantity .quantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  padding: 8px 16px;
  border-radius: 100px;
  max-width: 160px;
  min-width: unset;
  flex-shrink: 0;
}

.table-page-cart .cart_quantity .qty {
  width: 40px;
  padding: 0;
  background: transparent;
  border: 0;
  text-align: center;
  font-weight: 600;
  -moz-appearance: textfield;
}

.table-page-cart .cart_quantity .qty::-webkit-inner-spin-button,
.table-page-cart .cart_quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.table-page-cart .cart_quantity .btn-quantity {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  color: var(--black);
  transition: all 0.3s ease;
}

.table-page-cart .cart_quantity .btn-quantity:hover {
  color: var(--primary);
}

@media (min-width: 576px) {
  .table-page-cart td:nth-child(1),
  .table-page-cart th:nth-child(1) {
    min-width: 360px;
  }
  .table-page-cart td:nth-child(2),
  .table-page-cart th:nth-child(2) {
    min-width: 110px;
  }
  .table-page-cart td:nth-child(3),
  .table-page-cart th:nth-child(3) {
    min-width: 160px;
  }
  .table-page-cart td:nth-child(4),
  .table-page-cart th:nth-child(4) {
    min-width: 110px;
  }
}
@media (max-width: 767px) {
  .table-page-cart thead {
    display: none;
  }
}
.cart_item .img-prd {
  border-radius: 8px;
  overflow: hidden;
  max-width: 100px;
}

.cart_item .img-prd img {
  aspect-ratio: 0.7518796992;
}

.cart_item .cart_product {
  display: flex;
  align-items: center;
  gap: 24px;
}

.cart_item .cart_remove {
  padding-top: 4px;
  padding-bottom: 4px;
}

.cart_item .cart_total {
  text-align: end;
}

.cart_item .infor-prd {
  display: grid;
  place-items: start;
  gap: 4px;
}

.cart_item .prd_select {
  display: flex;
  align-items: center;
}

.cart_item .prd_select .type-text {
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  /* Scoped to the real Cart page's own table (.table-page-cart, see
     template-parts/cart/cart-table.php) — WITHOUT this scope, these rules
     also match the Checkout page's order-review table, since WooCommerce
     reuses the same `.cart_item` row class on both tables. Unscoped, they
     forced every review-order `<td>` into `display: flex`, which breaks
     out of the `table-layout: fixed` column-width algorithm and squeezed
     the product-name column into a sliver on mobile checkout. */
  .table-page-cart .cart_item {
    margin-bottom: 15px;
    padding-inline-start: 94px;
    min-height: 140px;
    display: block;
    font-weight: 500;
    position: relative;
  }
  .table-page-cart .cart_item .wg-quantity {
    min-width: 110px;
    padding: 6px 10px;
  }
  .table-page-cart .cart_item .img-prd {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
    width: 80px;
    flex-shrink: 0;
    border: 1px solid var(--line);
  }
  .table-page-cart .cart_item .img-prd img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .table-page-cart .cart_item td {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 10px 0;
    margin: 0;
  }
  .table-page-cart .cart_item td:not(:last-child) {
    border-bottom: 1px solid var(--line);
  }
  .table-page-cart .cart_item td[data-cart-title]:before {
    content: attr(data-cart-title);
    color: var(--black);
    text-align: start;
    flex: 1 1 auto;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
  }
}
.fl-sidebar-cart {
  margin-top: 30px;
}

.fl-sidebar-cart .title {
  margin-bottom: 24px;
}

@media (min-width: 1200px) {
  .fl-sidebar-cart.type-2 {
    padding-left: 30px;
  }
}
.box-order-summary {
  padding: 24px;
  background: var(--bg-2);
  border-radius: 12px;
}

.box-order-summary .notification-progress {
  margin-bottom: 32px;
}

.box-order-summary .subtotal,
.box-order-summary .discount,
.box-order-summary .ship {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.box-order-summary .ship {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.box-order-summary .ship .box-check-payment {
  max-width: 220px;
  width: 100%;
}

.box-order-summary .ship-item:not(:last-child) {
  margin-bottom: 8px;
}

.box-order-summary .ship-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.box-order-summary .ship-item label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-grow: 1;
  color: var(--text-2);
  cursor: pointer;
}

.box-order-summary .ship-item input:checked ~ label {
  color: var(--text);
}

.box-order-summary .check-agree {
  display: flex;
  gap: 8px;
  align-items: center;
}

.box-order-summary .total-order {
  margin-bottom: 24px;
}

.box-order-summary .action-checkout,
.box-order-summary .check-agree {
  margin-bottom: 12px;
}

@media (min-width: 1200px) {
  .box-order-summary .subtotal,
  .box-order-summary .discount,
  .box-order-summary .ship {
    padding-bottom: 19px;
    margin-bottom: 20px;
  }
}
@media (max-width: 575px) {
  .box-order-summary {
    padding: 20px 15px;
  }
}
.wrap-quick-login .title {
  padding: 12px 16px;
  border-radius: 8px;
  background-color: var(--bg-2);
  margin-bottom: 12px;
}

.payment_accordion {
  border: 1px solid var(--line);
  padding: 10px 19px;
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.payment_accordion .text-payment {
  padding-top: 4px;
}

.payment_accordion.active {
  background: var(--bg-2);
}

.payment_accordion:not(:last-child) {
  margin-bottom: 16px;
}

.payment_accordion:has(input[type=radio]:checked) {
  background: var(--bg-2);
}

.payment_accordion.type-2 {
  padding: 23px;
}

.payment_accordion.type-2:has(.collapsed) {
  padding: 10px 19px;
}

.payment_check {
  cursor: pointer;
}

.payment_check .pay-title {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: var(--black);
  cursor: pointer;
}

.ip-card {
  position: relative;
}

.ip-card .card-logo {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 8px;
}

@media (min-width: 576px) {
  .ip-card input {
    padding-right: 196px !important;
  }
}
.box-ip-payment .checkbox-wrap {
  gap: 8px;
}

.list-order-product .order-item {
  display: flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 24px;
  margin-bottom: 24px;
}

.list-order-product .img-prd {
  border-radius: 8px;
  overflow: hidden;
  max-width: 100px;
}

.list-order-product .img-prd img {
  aspect-ratio: 0.7518796992;
  width: 100%;
  height: 100%;
}

.list-order-product .infor-prd {
  display: grid;
  place-items: start;
  gap: 4px;
  flex: 1;
}

@media (min-width: 1200px) {
  .list-order-product .order-item:last-child {
    padding-bottom: 23px;
  }
}
@media (max-width: 1199px) {
  .list-order-product .order-item {
    gap: 12px;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
.list-bundle-prd .order-item {
  margin-bottom: 16px;
  padding-bottom: 16px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0.6;
}

.list-bundle-prd .order-item .prd_name {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box !important;
  overflow: hidden;
}

.list-bundle-prd .order-item:has(input:checked) {
  opacity: 1;
}

@media (max-width: 575px) {
  .list-bundle-prd .img-prd {
    max-width: 80px;
  }
}
.quantity-price {
  display: flex;
  align-items: center;
  gap: 4px;
}

.box-your-order .ip-discount-code {
  margin-top: 0;
  margin-bottom: 24px;
}

.box-your-order .last-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.list-total {
  margin-bottom: 20px;
  padding: 20px 0px;
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
}

.list-total .total-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.list-total .total-item:not(:last-child) {
  margin-bottom: 24px;
}

@media (min-width: 1200px) {
  .list-total {
    padding-top: 23px;
    padding-bottom: 23px;
    margin-bottom: 24px;
  }
}
.checkout-cart-main .box-ip-checkout {
  margin-bottom: 40px;
}

.checkout-cart-main .box-ip-checkout .form-content {
  gap: 16px;
}

.checkout-cart-main .box-ip-payment {
  margin-bottom: 20px;
}

.checkout-cart-main .grid-layout {
  gap: 16px;
}

.checkout-cart-main .title {
  margin-bottom: 20px;
}

@media (max-width: 1199px) {
  .checkout-cart-main .box-ip-checkout {
    margin-bottom: 24px;
  }
}
.mini-product-cart {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.mini-product-cart .prd_image {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  max-width: 100px;
  width: 100%;
}

.mini-product-cart .prd_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mini-product-cart .prd-wrap {
  gap: 24px;
  display: flex;
  align-items: center;
}

.mini-product-cart .prd-action {
  display: grid;
  place-items: end;
  gap: 4px;
}

@media (min-width: 576px) {
  .mini-product-cart .prd-action {
    max-width: 100px;
    width: 100%;
  }
}
@media (max-width: 575px) {
  .mini-product-cart {
    gap: 12px;
  }
  .mini-product-cart .prd-wrap {
    gap: 12px;
  }
}
.list-mini-product .mini-product-cart {
  padding-bottom: 19px;
  border-bottom: 1px solid var(--line);
}

.list-mini-product .mini-product-cart:not(:last-child) {
  margin-bottom: 20px;
}

.prd-select {
  display: flex;
  align-items: center;
}

.prd-select .type-text {
  position: relative;
  z-index: 2;
}

.type-select {
  margin-right: -12px;
  margin-left: -12px;
}

.type-select select {
  -webkit-appearance: none;
  appearance: none;
  outline: 0 !important;
  border: 0;
  cursor: pointer;
  padding-right: 12px;
  padding-left: 12px;
  padding-top: 0;
  padding-bottom: 0;
}

.type-select.has-icon {
  position: relative;
  margin-right: 0;
}

.type-select.has-icon .icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  pointer-events: none;
}

.type-select.has-icon select {
  padding-right: 18px;
}

.ip-discount-code {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.ip-discount-code input {
  border-radius: 100px !important;
}

.ip-discount-code button {
  white-space: nowrap;
  width: 100%;
}

@media (min-width: 1200px) {
  .ip-discount-code input {
    padding: 15px 23px !important;
  }
}
@media (min-width: 426px) {
  .ip-discount-code {
    flex-wrap: nowrap;
  }
  .ip-discount-code button {
    width: auto;
    flex-shrink: 0;
  }
}
@media (max-width: 1199px) {
  .ip-discount-code button {
    height: 48px;
  }
}
.ip-discount-code.coupon {
  flex-wrap: wrap;
}

.ip-discount-code .coupon-error-notice {
  width: 100%;
  margin: 0;
  color: var(--critical);
  font-size: 14px;
}

.ip-discount-code input.has-error {
  border-color: var(--critical) !important;
}

@media (min-width: 1200px) {
  .form-shop-cart {
    padding-right: 30px;
  }
}
.page-checkout {
  display: grid;
  gap: 24px;
  border-radius: 12px;
  padding: 27px;
  border: 1px solid var(--line);
}

@media (min-width: 1200px) {
  .page-checkout {
    gap: 40px;
  }
}
@media (max-width: 991px) {
  .page-checkout {
    padding: 20px 15px;
  }
}
.table-compare {
  overflow-x: auto;
}

.table-compare::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

.table-compare::-webkit-scrollbar-thumb {
  cursor: grab;
}

.table-compare table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.table-compare thead {
  background-color: unset;
}

.table-compare tbody tr:nth-child(even) {
  background-color: unset;
}

.table-compare tbody tr:nth-child(odd) {
  background-color: var(--bg);
}

.table-compare tbody tr td:first-child {
  padding-left: 32px;
}

.table-compare tr th:not(:first-child) {
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.table-compare tr th:last-child {
  border-right: 1px solid var(--line);
}

.table-compare tr th:nth-child(2) {
  border-top-left-radius: 8px;
}

.table-compare tr td:last-child {
  border-right: 1px solid var(--line);
}

.table-compare tr td {
  border-left: 1px solid var(--line);
  border-top: 1px solid var(--line);
}

.table-compare tr:first-child td:first-child {
  border-top-left-radius: 8px;
}

.table-compare tr:last-child td {
  border-bottom: 1px solid var(--line);
}

.table-compare th:first-child,
.table-compare td:first-child {
  width: 272px;
}

.table-compare .compare-col {
  vertical-align: middle;
}

.table-compare .item_image {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 16px;
  max-width: 267px;
  margin-left: auto;
  margin-right: auto;
}

.table-compare .item_image img {
  aspect-ratio: 0.75;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.table-compare .item_name {
  margin-bottom: 4px;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.table-compare .remove {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  border-radius: 50%;
  color: var(--black);
}

.table-compare .remove:hover {
  background-color: var(--black);
  color: var(--white);
  border-color: var(--black);
}

.table-compare .compare-title {
  font-weight: 500;
  font-size: 20px;
  line-height: 28px;
}

.table-compare .compare_rate {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.table-compare .compare-value {
  text-align: center;
  color: var(--black);
}

@media (min-width: 1200px) {
  .table-compare tr {
    height: 59px;
  }
  .table-compare tr th {
    padding: 31px 20px 20px;
  }
  .table-compare tr td {
    padding: 13px;
  }
}
@media (max-width: 1199px) {
  .table-compare th,
  .table-compare td {
    padding: 12px;
    width: 300px;
  }
  .table-compare th:first-child,
  .table-compare td:first-child {
    width: 250px;
  }
}
@media (max-width: 767px) {
  .table-compare th,
  .table-compare td {
    width: 200px;
  }
  .table-compare th:first-child,
  .table-compare td:first-child {
    display: none;
  }
}
.list-compare-color {
  display: flex;
  gap: 8px;
}

.list-compare-color .item {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 4px solid var(--white);
  position: relative;
}

.list-compare-color .item::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border: 1px solid var(--line);
}

.title-success-order .icon {
  font-size: 140px;
  margin-bottom: 32px;
  color: var(--success);
}

.title-success-order .box-title {
  display: grid;
  gap: 24px;
}

@media (max-width: 1199px) {
  .title-success-order .icon {
    font-size: 120px;
  }
}
@media (max-width: 767px) {
  .title-success-order .icon {
    font-size: 100px;
  }
}
.main-success .box-progress-order {
  padding: 24px;
  border-radius: 16px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  gap: 12px;
  text-wrap: nowrap;
  overflow-x: auto;
}

.main-success .box-progress-order .order-progress-item {
  display: grid;
  gap: 12px;
}

@media (min-width: 768px) {
  .main-success .box-progress-order .order-progress-item:not(:last-child) {
    border-right: 1px solid var(--line);
  }
}
.main-success .box-timeline-order {
  max-width: 618px;
  margin: 64px auto 42px;
  display: flex;
  justify-content: space-between;
}

.main-success .box-timeline-order .line-time {
  display: flex;
  height: 1px;
  width: 100%;
  max-width: 208px;
  background-color: #efefef;
  margin: 25px -10px 0px;
}

.main-success .timeline-item {
  position: relative;
  flex-shrink: 0;
}

.main-success .timeline-item .box-icon {
  width: 48px;
  height: 48px;
  font-size: 28px;
  color: var(--dark);
  background-color: #efefef;
  border-radius: 50%;
  margin: 0px auto 12px;
}

.main-success .timeline-item .content {
  display: grid;
  gap: 4px;
}

.main-success .timeline-item.active .box-icon {
  background-color: var(--primary);
  color: var(--white);
}

.main-success .timeline-item.active .title {
  color: var(--primary);
}

.main-success .map-order {
  height: 500px;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 24px;
}

.main-success .box-ship-address {
  border: 1px solid var(--line);
  padding: 24px;
  border-radius: 16px;
  margin-bottom: 24px;
}

.main-success .ship-address-item .title {
  margin-bottom: 24px;
}

.main-success .ship-address-item .list-address li:not(:last-child) {
  margin-bottom: 8px;
}

.fl-order-testimonial {
  padding: 24px;
  background-color: #ffeded;
  border-radius: 16px;
}

.fl-order-testimonial .box-order-tes {
  display: grid;
  justify-items: center;
  gap: 24px;
}

.fl-order-testimonial .box-order-tes .content {
  display: grid;
  gap: 16px;
}

.fl-order-testimonial .box-order-tes .icon {
  font-size: 32px;
  color: var(--primary);
}

.fl-order-testimonial .sw-dot-default {
  margin-top: 24px;
}

@media (min-width: 768px) {
  .fl-order-testimonial {
    padding: 32px 60px;
  }
}
@media (min-width: 1200px) {
  .fl-order-testimonial {
    padding: 42px 119px;
  }
}
.page-cart-sidebar .cart-box {
  padding: 24px 15px;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.page-cart-sidebar .cart-box:not(:last-child) {
  margin-bottom: 24px;
}

.page-cart-sidebar .cart-box .feedback-message {
  margin-top: 10px;
  text-align: center;
}

.page-cart-sidebar .cart-box .feedback-message.error {
  color: #ff5757;
}

.page-cart-sidebar .cart-box .feedback-message.success {
  color: #46ba4c;
}

@media (min-width: 768px) {
  .page-cart-sidebar .cart-box {
    padding: 24px;
  }
}
@media (min-width: 1200px) {
  .page-cart-sidebar .cart-box {
    padding: 32px;
  }
}
.page-cart-sidebar .shipping-cart-box .title {
  margin-bottom: 24px;
}

.page-cart-sidebar .shipping-cart-box .field label {
  margin-bottom: 8px;
}

.page-cart-sidebar .shipping-cart-box .field:not(:last-child) {
  margin-bottom: 20px;
}

.page-cart-sidebar .shipping-cart-box input {
  padding-left: 10px;
  padding-right: 10px;
}

.page-cart-sidebar .shipping-cart-box input::placeholder {
  opacity: 1;
}

.page-cart-sidebar .shipping-cart-box .btn {
  margin-top: 8px;
}

.page-cart-sidebar .shipping-cart-box .shipping-message {
  margin-top: 10px;
  text-align: center;
}

.page-cart-sidebar .shipping-cart-box .shipping-message.error {
  color: #ff5757;
}

.page-cart-sidebar .shipping-cart-box .shipping-message.success {
  color: #46ba4c;
}

.page-cart-sidebar .checkout-cart-box .cart-head {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid rgba(161, 161, 161, 0.2);
}

.page-cart-sidebar .checkout-cart-box .total-discount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.page-cart-sidebar .checkout-cart-box .check-agree {
  display: flex;
  gap: 8px;
  align-items: center;
}

.page-cart-sidebar .checkout-cart-box .check-agree label {
  font-size: 14px;
  line-height: 22.4px;
}

.page-cart-sidebar .checkout-cart-box .check-agree label a {
  text-decoration: underline;
}

.page-cart-sidebar .checkout-cart-box .checkout-btn {
  margin-top: 32px;
  margin-bottom: 20px;
}

.page-cart-sidebar .checkout-cart-box .cart-list-social {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
}

.page-cart-sidebar .checkout-cart-box .payment-card {
  border: 1px solid #d9d9d9;
  border-radius: 2.5px;
  width: 45px;
  height: 31.3px;
}

.page-cart-sidebar .testimonial-cart-box {
  border-color: transparent;
  background: linear-gradient(113.78deg, #fff6d4 0%, #ffe3e3 100%);
}

.page-cart-sidebar .testimonial-cart-box .box-testimonial-main {
  gap: 24px;
}

.page-cart-sidebar .testimonial-cart-box .box-testimonial-main .quote {
  font-size: 42px;
}

.page-cart-sidebar .testimonial-cart-box .box-testimonial-main .icon-star {
  color: #ecb100;
}

.page-cart-sidebar .testimonial-cart-box .box-author {
  gap: 5px;
}

.page-cart-sidebar .testimonial-cart-box .box-author .img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.page-cart-sidebar .testimonial-cart-box .box-nav-swiper {
  gap: 10px;
  margin-top: 24px;
}

.page-cart-sidebar .testimonial-cart-box .nav-swiper {
  width: 32px;
  height: 32px;
}

.page-cart-sidebar .testimonial-cart-box .nav-swiper::after {
  font-size: 10px;
}

.page-cart-sidebar .order-box .title {
  margin-bottom: 18px;
}

.page-cart-sidebar .order-box .list-total {
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid rgba(161, 161, 161, 0.2);
}

.page-cart-sidebar .order-box .list-total .total-item:not(:last-child) {
  margin-bottom: 12px;
}

.page-cart-sidebar .order-box .btn-order {
  margin-top: 32px;
}

.page-cart-sidebar .feedback-box .title {
  margin-bottom: 20px;
}

.page-cart-sidebar .feedback-box .text {
  margin-bottom: 20px;
}

.page-cart-sidebar .feedback-box .list-exp {
  display: flex;
  gap: 20px;
}

.page-cart-sidebar .feedback-box .check-exp {
  display: flex;
  align-items: center;
  gap: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
}

.page-cart-sidebar .feedback-box .check-exp:has(.check-rounded:checked) .text-exp {
  color: var(--dark);
}

.page-cart-sidebar .feedback-box .check-exp .text-exp {
  color: rgba(102, 112, 133, 0.8);
}

.page-cart-sidebar .box-share-social {
  margin-top: 30px;
}

.page-cart-sidebar .box-share-social .title {
  margin-bottom: 20px;
}

/*------------ Checkout ---------------- */
/* WooCommerce's own default checkout/*.php templates (not overridden) —
   styled here to match the theme's design language. Real classes only
   (.col2-set, .form-row-first/-last/-wide, .woocommerce-checkout-review-
   order-table, .wc_payment_methods, #place_order, etc.) — see
   plugins/woocommerce/templates/checkout/*.php for the exact real markup.

   IMPORTANT: always scope as `form.woocommerce-checkout`, never the bare
   class. WordPress's own real body_class() adds `woocommerce-checkout` to
   <body> on this page (is_checkout()), and WC's default form-checkout.php
   independently puts the exact same class on the real <form> — two
   unrelated WC conventions colliding on one class name. A bare
   `.woocommerce-checkout` selector matches BOTH; `display:grid` etc. was
   applying to <body> itself, dragging the header/offcanvas drawers/footer
   into the grid alongside the checkout form. */
form.woocommerce-checkout {
  max-width: var(--noorifa-container-width, 1440px);
  width: 100%;
  margin: 0 auto;
  padding: 0 15px 100px;
  box-sizing: border-box;
}

form.woocommerce-checkout h3 {
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  margin-bottom: 20px;
}

/* Order summary (#order_review_heading + #order_review, WC's own real
   direct children of the checkout <form>, straight after #customer_details)
   sits in a right-hand sidebar next to the billing/shipping fields on
   desktop — placement only, no markup change. */
@media (min-width: 992px) {
  form.woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    column-gap: 40px;
    align-items: start;
  }
  form.woocommerce-checkout > #customer_details {
    grid-column: 1;
    grid-row: 1/3;
    min-width: 0;
  }
  form.woocommerce-checkout > #order_review_heading {
    grid-column: 2;
    grid-row: 1;
  }
  form.woocommerce-checkout > #order_review {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
  }
}
/* Real notices — checkout.js prepends a `.woocommerce-NoticeGroup-checkout`
   wrapper containing a `.woocommerce-error` <ul> straight into the form on a
   failed validation/submit (also reused for coupon apply/remove and
   update_order_review success/error messages), completely unstyled by
   default since this theme disables WC's own stylesheet. */
.woocommerce-NoticeGroup {
  margin-bottom: 24px;
  scroll-margin-top: 100px;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  padding: 16px 20px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 22px;
}

.woocommerce-error {
  background: rgba(240, 62, 62, 0.06);
  border: 1px solid var(--critical);
  color: var(--critical);
}

.woocommerce-error li {
  list-style: none;
}

.woocommerce-message {
  background: rgba(61, 171, 37, 0.06);
  border: 1px solid var(--success);
  color: var(--success);
}

.woocommerce-info {
  background: var(--bg-2);
  border: 1px solid var(--line);
  color: var(--text-2);
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
  color: inherit;
  text-decoration: underline;
}

/* Real field-level validation — checkout.js adds/removes these classes on
   `.form-row` itself (not the input) as the customer fills the form, plus a
   real inline <p class="checkout-inline-error-message"> per invalid field. */
.woocommerce-invalid input.input-text,
.woocommerce-invalid textarea,
.woocommerce-invalid .select2-selection--single {
  border-color: var(--critical);
}

.woocommerce-validated input.input-text,
.woocommerce-validated .select2-selection--single {
  border-color: var(--success);
}

.checkout-inline-error-message {
  margin-top: 6px;
  color: var(--critical);
  font-size: 13px;
  line-height: 18px;
}

.col2-set#customer_details {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 40px;
}

.col2-set#customer_details > div {
  width: auto;
  max-width: 100%;
  flex: none;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.create-account {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.form-row {
  flex: 1 1 100%;
}

.form-row-first,
.form-row-last {
  flex: 1 1 calc(50% - 8px);
}

@media (max-width: 575px) {
  .form-row-first,
  .form-row-last {
    flex: 1 1 100%;
  }
}
.woocommerce-account-fields {
  margin-top: 16px;
}

.woocommerce-account-fields .create-account {
  margin-top: 16px;
}

.form-row.create-account label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

form.woocommerce-checkout .woocommerce-input-wrapper {
  display: block;
  position: relative;
}

.select2-container--default .select2-selection--single {
  height: auto;
  padding: 11px 40px 11px 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  transition: all 0.3s ease;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default .select2-selection--single:hover {
  border-color: var(--black);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 24px;
  color: var(--text);
  font-weight: 500;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--text-3);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: 15px;
  top: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none;
}

.select2-container--default .select2-selection--single .select2-selection__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background-color: var(--text);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M865.958 542.127l-320-320.002c-4.46-4.474-9.758-8.026-15.593-10.445-5.834-2.426-12.090-3.674-18.407-3.674s-12.573 1.248-18.408 3.674c-5.834 2.419-11.133 5.971-15.592 10.445l-320 320.002c-9.018 9.018-14.083 21.247-14.083 34s5.066 24.982 14.083 34c9.017 9.018 21.247 14.083 34 14.083s24.982-5.066 34-14.083l286.040-286.040 286.037 286.079c9.018 9.018 21.248 14.084 34.003 14.084s24.986-5.066 33.997-14.084c9.018-9.017 14.086-21.247 14.086-34s-5.069-24.982-14.086-34l-0.077-0.040z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M865.958 542.127l-320-320.002c-4.46-4.474-9.758-8.026-15.593-10.445-5.834-2.426-12.090-3.674-18.407-3.674s-12.573 1.248-18.408 3.674c-5.834 2.419-11.133 5.971-15.592 10.445l-320 320.002c-9.018 9.018-14.083 21.247-14.083 34s5.066 24.982 14.083 34c9.017 9.018 21.247 14.083 34 14.083s24.982-5.066 34-14.083l286.040-286.040 286.037 286.079c9.018 9.018 21.248 14.084 34.003 14.084s24.986-5.066 33.997-14.084c9.018-9.017 14.086-21.247 14.086-34s-5.069-24.982-14.086-34l-0.077-0.040z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.select2-dropdown {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.select2-results__option {
  padding: 8px 15px;
  font-size: 14px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--black);
  color: var(--white);
}

.select2-search--dropdown .select2-search__field {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 12px;
  outline: 0;
}

#ship-to-different-address label,
.woocommerce-account-fields > p label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 0;
}

.shipping_address {
  margin-top: 16px;
}

/* Order review */
.woocommerce-checkout-review-order-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-bottom: 24px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  overflow-wrap: break-word;
  font-weight: 400;
  color: var(--text);
}

/* `table-layout: fixed` needs an explicit width on at least one column to
   size deterministically — without it, browsers fall back to sizing
   columns from each cell's own content, and the nowrap Subtotal column
   below was winning that fight, squeezing product-name down to a sliver
   and wrapping long product names into a single narrow word per line
   (worst on mobile, where the whole table is already narrow). */
.woocommerce-checkout-review-order-table th.product-name,
.woocommerce-checkout-review-order-table td.product-name {
  width: 70%;
}

.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout-review-order-table td.product-total {
  width: 30%;
  text-align: right;
  white-space: nowrap;
}

.woocommerce-checkout-review-order-table thead th {
  font-weight: 600;
  padding-bottom: 16px;
}

.woocommerce-checkout-review-order-table tfoot th {
  font-weight: 400;
  color: var(--text-2);
}

.woocommerce-checkout-review-order-table .product-quantity {
  color: var(--text-2);
  font-weight: 400;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  border-bottom: 0;
  padding-top: 16px;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
}

/* Coupon — hooked to `woocommerce_before_checkout_form`, so it renders as a
   sibling *before* `form.woocommerce-checkout` (inside the shared
   `.woocommerce` shortcode wrapper, not the form) — give it the same boxed
   width/padding as the form below so the two line up. */
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon {
  max-width: var(--noorifa-container-width, 1440px);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

.woocommerce-form-coupon-toggle {
  padding-top: 40px;
  margin-bottom: 20px;
}

.woocommerce-form-coupon-toggle .showcoupon {
  text-decoration: underline;
  color: var(--text);
  cursor: pointer;
}

.woocommerce-form-coupon {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.woocommerce-form-coupon .form-row-first {
  flex: 1 1 auto;
}

.woocommerce-form-coupon .form-row-last {
  flex: 0 0 auto;
}

.woocommerce-form-coupon button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 24px;
  border-radius: 60px;
  background: var(--black);
  color: var(--white);
  border: 0;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}

.woocommerce-form-coupon button:hover {
  opacity: 0.85;
}

/* Payment */
#payment {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px;
}

.wc_payment_methods {
  margin-bottom: 20px;
}

.wc_payment_method {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px 16px;
  transition: background-color 0.3s ease;
}

.wc_payment_method:not(:last-child) {
  margin-bottom: 12px;
}

.wc_payment_method:has(input:checked) {
  background: var(--bg-2);
}

.wc_payment_method > label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-weight: 500;
  color: var(--text);
}

.wc_payment_method input[type=radio] {
  width: 16px;
  height: 16px;
  accent-color: var(--black);
  flex-shrink: 0;
}

.payment_box {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--text-2);
  font-size: 14px;
  line-height: 22px;
}

.payment_box .form-row {
  margin-top: 12px;
}

/* Real checkboxes (create-account, ship-to-different-address, terms) all
   render as plain unstyled native checkboxes by default — give them the
   same custom checkmark look as the theme's own .check element
   (assets/scss/elements/_form.scss) without needing that class in markup. */
form.woocommerce-checkout input[type=checkbox] {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  padding: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--text-3);
  border-radius: 3px;
  background-color: var(--white);
  cursor: pointer;
  outline: 0;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

form.woocommerce-checkout input[type=checkbox]:checked {
  background: var(--black);
  border-color: var(--black);
}

form.woocommerce-checkout input[type=checkbox]::before {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  background-color: var(--white);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M139.704 454.884l194.783-250.436c4.845-6.227 10.96-11.354 17.938-15.040s14.66-5.843 22.536-6.33c7.876-0.493 15.766 0.698 23.147 3.494 7.381 2.79 14.083 7.123 19.663 12.704l473.045 473.041c5.312 5.133 9.555 11.274 12.467 18.064 2.918 6.79 4.454 14.093 4.518 21.482s-1.344 14.717-4.141 21.557c-2.797 6.84-6.931 13.053-12.16 18.278-5.222 5.226-11.437 9.357-18.278 12.156-6.835 2.798-14.163 4.206-21.555 4.142-7.386-0.065-14.688-1.599-21.478-4.516s-12.934-7.156-18.067-12.472l-428.466-428.466-156.076 200.682c-9.070 11.642-22.39 19.21-37.034 21.041s-29.417-2.223-41.075-11.274c-11.642-9.070-19.21-22.389-21.041-37.034s2.223-29.417 11.274-41.075z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M139.704 454.884l194.783-250.436c4.845-6.227 10.96-11.354 17.938-15.040s14.66-5.843 22.536-6.33c7.876-0.493 15.766 0.698 23.147 3.494 7.381 2.79 14.083 7.123 19.663 12.704l473.045 473.041c5.312 5.133 9.555 11.274 12.467 18.064 2.918 6.79 4.454 14.093 4.518 21.482s-1.344 14.717-4.141 21.557c-2.797 6.84-6.931 13.053-12.16 18.278-5.222 5.226-11.437 9.357-18.278 12.156-6.835 2.798-14.163 4.206-21.555 4.142-7.386-0.065-14.688-1.599-21.478-4.516s-12.934-7.156-18.067-12.472l-428.466-428.466-156.076 200.682c-9.070 11.642-22.39 19.21-37.034 21.041s-29.417-2.223-41.075-11.274c-11.642-9.070-19.21-22.389-21.041-37.034s2.223-29.417 11.274-41.075z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  opacity: 0;
  transform: scale(0);
  transition: all 0.3s ease;
}

form.woocommerce-checkout input[type=checkbox]:checked::before {
  opacity: 1;
  transform: scale(1);
}

.woocommerce-terms-and-conditions-wrapper {
  padding-top: 16px;
  margin-bottom: 16px;
}

.woocommerce-terms-and-conditions-wrapper .form-row {
  margin: 0;
}

.woocommerce-terms-and-conditions-wrapper label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  line-height: 22px;
  color: var(--text-2);
}

.woocommerce-terms-and-conditions-wrapper label input[type=checkbox] {
  margin-top: 2px;
}

.woocommerce-terms-and-conditions-wrapper abbr.required {
  color: var(--critical);
  text-decoration: none;
  margin-left: 2px;
}

.place-order #place_order {
  display: block;
  width: 100%;
  padding: 16px;
  border-radius: 60px;
  background: var(--black);
  color: var(--white);
  border: 0;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.place-order #place_order:hover {
  opacity: 0.85;
}

.place-order button[name=woocommerce_checkout_update_totals] {
  padding: 10px 20px;
  border-radius: 60px;
  background: var(--bg-2);
  border: 0;
  cursor: pointer;
}

/*------------ My Account ---------------- */
/* WooCommerce's own default myaccount/*.php templates (not overridden) —
   styled here to match the theme's design language, same approach as
   checkout (see _checkout.scss). Real classes only — see
   plugins/woocommerce/templates/myaccount/*.php and templates/order/*.php
   for the exact real markup.

   Reuses the global .form-row/.form-row-first/.form-row-last/.form-row-wide
   rules already defined in _checkout.scss (WC uses the exact same field
   classes here — login, edit-account, edit-address forms) — only the flex
   *container* rule needs repeating per real wrapper class below, since
   these forms don't share checkout's wrapper element. */
body.woocommerce-account .woocommerce {
  max-width: var(--noorifa-container-width, 1440px);
  width: 100%;
  margin: 0 auto;
  padding: 0 15px 100px;
  box-sizing: border-box;
}

@media (min-width: 992px) {
  body.woocommerce-account.logged-in .woocommerce {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    column-gap: 40px;
    align-items: start;
  }
}
body.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 560px;
  margin: 40px auto 0;
  padding: 40px 32px;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(17, 17, 17, 0.05);
}

@media (min-width: 576px) {
  body.woocommerce-account:not(.logged-in) .woocommerce {
    padding: 48px;
  }
}
body.woocommerce-account:not(.logged-in) .woocommerce > h2 {
  margin-top: 0;
  text-align: center;
}

#customer_login.u-columns {
  display: grid;
  gap: 32px;
}

@media (min-width: 640px) {
  #customer_login.u-columns {
    grid-template-columns: 1fr 1fr;
  }
}
.u-column1,
.u-column2 {
  width: auto;
  max-width: 100%;
  flex: initial;
}

.u-column2 {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

@media (min-width: 640px) {
  .u-column2 {
    padding-top: 0;
    padding-left: 32px;
    border-top: 0;
    border-left: 1px solid var(--line);
  }
}
.woocommerce-MyAccount-navigation {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
}

@media (min-width: 992px) {
  .woocommerce-MyAccount-navigation {
    position: sticky;
    top: 100px;
  }
}
.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.woocommerce-MyAccount-navigation li {
  list-style: none;
}

.woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 8px;
  color: var(--text-2);
  font-weight: 500;
  transition: all 0.3s ease;
}

.woocommerce-MyAccount-navigation a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: var(--text-3);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background-color 0.3s ease;
}

.woocommerce-MyAccount-navigation li:hover a,
.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--bg-2);
  color: var(--text);
}

.woocommerce-MyAccount-navigation li:hover a::before,
.woocommerce-MyAccount-navigation li.is-active a::before {
  background-color: var(--text);
}

.woocommerce-MyAccount-navigation-link--dashboard a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M960 128h-64v288l9.361-9.361c6.016-6.003 14.17-9.374 22.669-9.365s16.644 3.392 22.652 9.408c6.003 6.012 9.374 14.17 9.365 22.669s-3.392 16.644-9.408 22.652l-393.399 393.278c-12.002 11.993-28.271 18.73-45.239 18.73s-33.237-6.737-45.239-18.73l-393.4-393.278c-5.999-6.007-9.367-14.148-9.364-22.635 0.004-8.491 3.379-16.627 9.384-22.626s14.147-9.37 22.634-9.365c8.488 0.004 16.627 3.379 22.626 9.382l9.36 9.242v-288h-64c-8.487 0-16.626-3.371-22.627-9.374-6.001-5.999-9.373-14.14-9.373-22.626s3.371-16.627 9.373-22.626c6.001-6.003 14.141-9.374 22.627-9.374h896c8.486 0 16.627 3.371 22.626 9.374 6.003 5.999 9.374 14.14 9.374 22.626s-3.371 16.627-9.374 22.626c-5.999 6.003-14.14 9.374-22.626 9.374zM192 480l320 320 320-320v-352h-192v224c0 8.486-3.371 16.627-9.374 22.626-5.999 6.003-14.14 9.374-22.626 9.374h-192c-8.487 0-16.626-3.371-22.627-9.374-6.001-5.999-9.373-14.14-9.373-22.626v-224h-192v352zM576 128h-128v192h128v-192z%27/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M960 128h-64v288l9.361-9.361c6.016-6.003 14.17-9.374 22.669-9.365s16.644 3.392 22.652 9.408c6.003 6.012 9.374 14.17 9.365 22.669s-3.392 16.644-9.408 22.652l-393.399 393.278c-12.002 11.993-28.271 18.73-45.239 18.73s-33.237-6.737-45.239-18.73l-393.4-393.278c-5.999-6.007-9.367-14.148-9.364-22.635 0.004-8.491 3.379-16.627 9.384-22.626s14.147-9.37 22.634-9.365c8.488 0.004 16.627 3.379 22.626 9.382l9.36 9.242v-288h-64c-8.487 0-16.626-3.371-22.627-9.374-6.001-5.999-9.373-14.14-9.373-22.626s3.371-16.627 9.373-22.626c6.001-6.003 14.141-9.374 22.627-9.374h896c8.486 0 16.627 3.371 22.626 9.374 6.003 5.999 9.374 14.14 9.374 22.626s-3.371 16.627-9.374 22.626c-5.999 6.003-14.14 9.374-22.626 9.374zM192 480l320 320 320-320v-352h-192v224c0 8.486-3.371 16.627-9.374 22.626-5.999 6.003-14.14 9.374-22.626 9.374h-192c-8.487 0-16.626-3.371-22.627-9.374-6.001-5.999-9.373-14.14-9.373-22.626v-224h-192v352zM576 128h-128v192h128v-192z%27/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--orders a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M890.88 688.361l-352 192.719c-8.23 4.545-17.478 6.929-26.88 6.929s-18.65-2.384-26.88-6.929l-352-192.719c-8.808-4.819-16.158-11.919-21.281-20.553-5.123-8.636-7.83-18.487-7.839-28.529v-382.56c0.009-10.039 2.716-19.893 7.839-28.527s12.473-15.733 21.281-20.553l352-192.719c8.233-4.54 17.481-6.918 26.88-6.918s18.647 2.379 26.88 6.918l352 192.719c8.809 4.819 16.158 11.919 21.28 20.553 5.124 8.634 7.831 18.487 7.84 28.527v382.56c-0.009 10.042-2.716 19.893-7.84 28.529-5.122 8.634-12.471 15.733-21.28 20.553zM508 839c1.178 0.644 2.498 0.982 3.84 0.982s2.662-0.337 3.84-0.982l334.359-183-135.759-74.281-338.080 185.040 131.799 72.24zM488 68l-332 181.719c-1.227 0.708-2.243 1.73-2.946 2.959-0.703 1.231-1.066 2.624-1.054 4.041v356.64l336-184v-361.359zM173.96 656l152.28 83.401 338.039-185.041-152.279-83.319-338.040 184.96zM872 256.719c0.013-1.417-0.35-2.81-1.054-4.041-0.702-1.229-1.719-2.251-2.946-2.959l-332-181.719v361.44l144 78.839v-156.279c0-6.366 2.528-12.469 7.029-16.971s10.605-7.029 16.971-7.029c6.366 0 12.469 2.528 16.971 7.029s7.029 10.605 7.029 16.971v182.519l144 78.839v-356.64z%27/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M890.88 688.361l-352 192.719c-8.23 4.545-17.478 6.929-26.88 6.929s-18.65-2.384-26.88-6.929l-352-192.719c-8.808-4.819-16.158-11.919-21.281-20.553-5.123-8.636-7.83-18.487-7.839-28.529v-382.56c0.009-10.039 2.716-19.893 7.839-28.527s12.473-15.733 21.281-20.553l352-192.719c8.233-4.54 17.481-6.918 26.88-6.918s18.647 2.379 26.88 6.918l352 192.719c8.809 4.819 16.158 11.919 21.28 20.553 5.124 8.634 7.831 18.487 7.84 28.527v382.56c-0.009 10.042-2.716 19.893-7.84 28.529-5.122 8.634-12.471 15.733-21.28 20.553zM508 839c1.178 0.644 2.498 0.982 3.84 0.982s2.662-0.337 3.84-0.982l334.359-183-135.759-74.281-338.080 185.040 131.799 72.24zM488 68l-332 181.719c-1.227 0.708-2.243 1.73-2.946 2.959-0.703 1.231-1.066 2.624-1.054 4.041v356.64l336-184v-361.359zM173.96 656l152.28 83.401 338.039-185.041-152.279-83.319-338.040 184.96zM872 256.719c0.013-1.417-0.35-2.81-1.054-4.041-0.702-1.229-1.719-2.251-2.946-2.959l-332-181.719v361.44l144 78.839v-156.279c0-6.366 2.528-12.469 7.029-16.971s10.605-7.029 16.971-7.029c6.366 0 12.469 2.528 16.971 7.029s7.029 10.605 7.029 16.971v182.519l144 78.839v-356.64z%27/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--downloads a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M175.827 96.932v574.47c0 12.975 5.151 25.425 14.325 34.61s21.625 14.325 34.61 14.325l320.823-0.078c3.897-0.382 7.566-2.113 10.357-4.905l159.574-159.574c3.191-3.189 4.984-7.525 4.984-12.030v-446.808c0-12.975-5.151-25.425-14.325-34.61s-21.625-14.325-34.61-14.325h-446.808c-12.975 0-25.425 5.151-34.61 14.325s-14.325 21.625-14.325 34.61zM209.877 96.932c0-3.951 1.565-7.743 4.356-10.534s6.585-4.357 10.535-4.357h446.808c3.951 0 7.743 1.566 10.534 4.357s4.357 6.584 4.357 10.534v439.76l-149.602 149.602h-312.101c-3.95 0-7.744-1.565-10.535-4.356s-4.356-6.585-4.356-10.535v-574.47zM303.486 703.323v95.743c0 12.975 5.151 25.425 14.325 34.61s21.625 14.325 34.61 14.325l320.823-0.078c3.897-0.382 7.566-2.112 10.357-4.905l159.574-159.574c3.191-3.19 4.984-7.525 4.984-12.030v-446.808c0-12.975-5.151-25.425-14.325-34.61s-21.625-14.325-34.61-14.325h-95.743c-9.401 0-17.025 7.625-17.025 17.025s7.625 17.025 17.025 17.025h95.743c3.951 0 7.743 1.566 10.534 4.357s4.357 6.584 4.357 10.534v439.76l-149.602 149.602h-312.101c-3.951 0-7.744-1.565-10.535-4.356s-4.356-6.585-4.356-10.535v-95.743c0-9.401-7.625-17.025-17.025-17.025s-17.025 7.625-17.025 17.025zM543.919 369.275c9.401 0 17.025-7.625 17.025-17.025s-7.625-17.025-17.025-17.025h-191.486c-9.401 0-17.025 7.625-17.025 17.025s7.625 17.025 17.025 17.025h191.486zM543.919 241.622c9.401 0 17.025-7.625 17.025-17.025s-7.625-17.025-17.025-17.025h-191.486c-9.401 0-17.025 7.625-17.025 17.025s7.625 17.025 17.025 17.025h191.486z%27/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M175.827 96.932v574.47c0 12.975 5.151 25.425 14.325 34.61s21.625 14.325 34.61 14.325l320.823-0.078c3.897-0.382 7.566-2.113 10.357-4.905l159.574-159.574c3.191-3.189 4.984-7.525 4.984-12.030v-446.808c0-12.975-5.151-25.425-14.325-34.61s-21.625-14.325-34.61-14.325h-446.808c-12.975 0-25.425 5.151-34.61 14.325s-14.325 21.625-14.325 34.61zM209.877 96.932c0-3.951 1.565-7.743 4.356-10.534s6.585-4.357 10.535-4.357h446.808c3.951 0 7.743 1.566 10.534 4.357s4.357 6.584 4.357 10.534v439.76l-149.602 149.602h-312.101c-3.95 0-7.744-1.565-10.535-4.356s-4.356-6.585-4.356-10.535v-574.47zM303.486 703.323v95.743c0 12.975 5.151 25.425 14.325 34.61s21.625 14.325 34.61 14.325l320.823-0.078c3.897-0.382 7.566-2.112 10.357-4.905l159.574-159.574c3.191-3.19 4.984-7.525 4.984-12.030v-446.808c0-12.975-5.151-25.425-14.325-34.61s-21.625-14.325-34.61-14.325h-95.743c-9.401 0-17.025 7.625-17.025 17.025s7.625 17.025 17.025 17.025h95.743c3.951 0 7.743 1.566 10.534 4.357s4.357 6.584 4.357 10.534v439.76l-149.602 149.602h-312.101c-3.951 0-7.744-1.565-10.535-4.356s-4.356-6.585-4.356-10.535v-95.743c0-9.401-7.625-17.025-17.025-17.025s-17.025 7.625-17.025 17.025zM543.919 369.275c9.401 0 17.025-7.625 17.025-17.025s-7.625-17.025-17.025-17.025h-191.486c-9.401 0-17.025 7.625-17.025 17.025s7.625 17.025 17.025 17.025h191.486zM543.919 241.622c9.401 0 17.025-7.625 17.025-17.025s-7.625-17.025-17.025-17.025h-191.486c-9.401 0-17.025 7.625-17.025 17.025s7.625 17.025 17.025 17.025h191.486z%27/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--edit-address a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M973.239 416l-397.239 397.239c-5.922 5.969-12.971 10.701-20.736 13.922s-16.094 4.865-24.503 4.838h-370.76c-8.487 0-16.626-3.372-22.627-9.373s-9.373-14.141-9.373-22.627v-370.76c-0.027-8.41 1.617-16.738 4.838-24.503s7.953-14.814 13.922-20.736l397.239-397.239c5.943-5.943 13.001-10.662 20.766-13.879s16.090-4.873 24.495-4.873c8.405 0 16.73 1.655 24.495 4.873s14.822 7.936 20.766 13.879l338.718 338.718c5.943 5.943 10.662 13.001 13.879 20.766s4.873 16.090 4.873 24.495c0 8.405-1.655 16.73-4.873 24.495s-7.936 14.822-13.879 20.766zM589.239 32l-397.239 397.239v338.76h338.76l397.239-397.239-338.761-338.761zM384 624c0-9.493-2.815-18.774-8.090-26.667s-12.771-14.046-21.542-17.679c-8.771-3.633-18.422-4.584-27.733-2.732s-17.864 6.423-24.577 13.137c-6.713 6.713-11.284 15.266-13.137 24.576s-0.902 18.962 2.732 27.733c3.633 8.771 9.786 16.268 17.679 21.542s17.174 8.089 26.668 8.089c12.73 0 24.94-5.057 33.941-14.059s14.059-21.211 14.059-33.941z%27/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M973.239 416l-397.239 397.239c-5.922 5.969-12.971 10.701-20.736 13.922s-16.094 4.865-24.503 4.838h-370.76c-8.487 0-16.626-3.372-22.627-9.373s-9.373-14.141-9.373-22.627v-370.76c-0.027-8.41 1.617-16.738 4.838-24.503s7.953-14.814 13.922-20.736l397.239-397.239c5.943-5.943 13.001-10.662 20.766-13.879s16.090-4.873 24.495-4.873c8.405 0 16.73 1.655 24.495 4.873s14.822 7.936 20.766 13.879l338.718 338.718c5.943 5.943 10.662 13.001 13.879 20.766s4.873 16.090 4.873 24.495c0 8.405-1.655 16.73-4.873 24.495s-7.936 14.822-13.879 20.766zM589.239 32l-397.239 397.239v338.76h338.76l397.239-397.239-338.761-338.761zM384 624c0-9.493-2.815-18.774-8.090-26.667s-12.771-14.046-21.542-17.679c-8.771-3.633-18.422-4.584-27.733-2.732s-17.864 6.423-24.577 13.137c-6.713 6.713-11.284 15.266-13.137 24.576s-0.902 18.962 2.732 27.733c3.633 8.771 9.786 16.268 17.679 21.542s17.174 8.089 26.668 8.089c12.73 0 24.94-5.057 33.941-14.059s14.059-21.211 14.059-33.941z%27/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--edit-account a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M923.665 112.060c-60.919 105.318-154.799 180.838-264.358 216.64 54.191 32.26 96.294 81.421 119.846 139.925 23.552 58.509 27.243 123.129 10.513 183.939s-52.958 114.447-103.121 152.673c-50.167 38.227-111.492 58.93-174.562 58.93-63.066 0-124.393-20.703-174.557-58.93s-86.393-91.863-103.124-152.673c-16.73-60.81-13.036-125.43 10.514-183.939 23.55-58.505 65.655-107.665 119.849-139.925-109.56-35.763-203.44-111.283-264.36-216.64-2.234-3.644-3.716-7.697-4.358-11.921-0.642-4.228-0.432-8.538 0.619-12.681 1.051-4.139 2.921-8.030 5.499-11.439 2.578-3.405 5.813-6.263 9.513-8.401s7.791-3.511 12.032-4.041c4.24-0.533 8.544-0.209 12.657 0.951s7.952 3.132 11.29 5.798c3.339 2.667 6.109 5.973 8.148 9.732 75.36 130.24 208.56 208 356.278 208 147.721 0 280.922-77.76 356.284-208 2.035-3.759 4.809-7.066 8.145-9.732 3.341-2.667 7.181-4.638 11.294-5.798s8.414-1.485 12.655-0.951c4.241 0.529 8.333 1.903 12.032 4.041s6.933 4.996 9.515 8.401c2.577 3.409 4.446 7.3 5.495 11.439 1.054 4.143 1.263 8.452 0.619 12.681-0.64 4.224-2.121 8.277-4.356 11.921zM287.985 576.058c0 44.303 13.137 87.611 37.751 124.448s59.597 65.547 100.528 82.501c40.932 16.954 85.971 21.39 129.423 12.747s83.362-29.977 114.692-61.304c31.326-31.327 52.659-71.24 61.303-114.692 8.64-43.452 4.207-88.49-12.749-129.42-16.951-40.93-45.666-75.917-82.5-100.531-36.838-24.61-80.145-37.747-124.45-37.747-59.388 0.060-116.326 23.68-158.32 65.677-41.995 41.993-65.615 98.931-65.679 158.321z%27/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M923.665 112.060c-60.919 105.318-154.799 180.838-264.358 216.64 54.191 32.26 96.294 81.421 119.846 139.925 23.552 58.509 27.243 123.129 10.513 183.939s-52.958 114.447-103.121 152.673c-50.167 38.227-111.492 58.93-174.562 58.93-63.066 0-124.393-20.703-174.557-58.93s-86.393-91.863-103.124-152.673c-16.73-60.81-13.036-125.43 10.514-183.939 23.55-58.505 65.655-107.665 119.849-139.925-109.56-35.763-203.44-111.283-264.36-216.64-2.234-3.644-3.716-7.697-4.358-11.921-0.642-4.228-0.432-8.538 0.619-12.681 1.051-4.139 2.921-8.030 5.499-11.439 2.578-3.405 5.813-6.263 9.513-8.401s7.791-3.511 12.032-4.041c4.24-0.533 8.544-0.209 12.657 0.951s7.952 3.132 11.29 5.798c3.339 2.667 6.109 5.973 8.148 9.732 75.36 130.24 208.56 208 356.278 208 147.721 0 280.922-77.76 356.284-208 2.035-3.759 4.809-7.066 8.145-9.732 3.341-2.667 7.181-4.638 11.294-5.798s8.414-1.485 12.655-0.951c4.241 0.529 8.333 1.903 12.032 4.041s6.933 4.996 9.515 8.401c2.577 3.409 4.446 7.3 5.495 11.439 1.054 4.143 1.263 8.452 0.619 12.681-0.64 4.224-2.121 8.277-4.356 11.921zM287.985 576.058c0 44.303 13.137 87.611 37.751 124.448s59.597 65.547 100.528 82.501c40.932 16.954 85.971 21.39 129.423 12.747s83.362-29.977 114.692-61.304c31.326-31.327 52.659-71.24 61.303-114.692 8.64-43.452 4.207-88.49-12.749-129.42-16.951-40.93-45.666-75.917-82.5-100.531-36.838-24.61-80.145-37.747-124.45-37.747-59.388 0.060-116.326 23.68-158.32 65.677-41.995 41.993-65.615 98.931-65.679 158.321z%27/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M480 96c0-8.486-3.371-16.627-9.374-22.626-5.999-6.003-14.14-9.374-22.626-9.374h-256c-8.487 0-16.626 3.371-22.627 9.374-6.001 5.999-9.373 14.14-9.373 22.626v704c0 8.487 3.372 16.626 9.373 22.627s14.141 9.373 22.627 9.373h256c8.486 0 16.627-3.372 22.626-9.373 6.003-6.001 9.374-14.141 9.374-22.627s-3.371-16.626-9.374-22.627c-5.999-6.001-14.14-9.373-22.626-9.373h-224v-640h224c8.486 0 16.627-3.371 22.626-9.374 6.003-5.999 9.374-14.14 9.374-22.626zM918.639 470.639l-160 160.001c-6.003 6.004-14.148 9.378-22.639 9.378s-16.636-3.373-22.639-9.378c-6.007-6.005-9.378-14.149-9.378-22.64s3.371-16.635 9.378-22.64l105.399-105.36h-370.761c-8.486 0-16.627-3.371-22.627-9.374-6.001-5.999-9.373-14.14-9.373-22.626s3.372-16.627 9.373-22.626c6-6.003 14.141-9.374 22.627-9.374h370.761l-105.399-105.361c-6.007-6.003-9.378-14.148-9.378-22.639s3.371-16.636 9.378-22.639c6.003-6.007 14.148-9.378 22.639-9.378s16.636 3.371 22.639 9.378l160 160c2.978 2.97 5.338 6.498 6.946 10.385 1.613 3.883 2.441 8.047 2.441 12.254s-0.828 8.371-2.441 12.254c-1.609 3.887-3.968 7.415-6.946 10.385z%27/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M480 96c0-8.486-3.371-16.627-9.374-22.626-5.999-6.003-14.14-9.374-22.626-9.374h-256c-8.487 0-16.626 3.371-22.627 9.374-6.001 5.999-9.373 14.14-9.373 22.626v704c0 8.487 3.372 16.626 9.373 22.627s14.141 9.373 22.627 9.373h256c8.486 0 16.627-3.372 22.626-9.373 6.003-6.001 9.374-14.141 9.374-22.627s-3.371-16.626-9.374-22.627c-5.999-6.001-14.14-9.373-22.626-9.373h-224v-640h224c8.486 0 16.627-3.371 22.626-9.374 6.003-5.999 9.374-14.14 9.374-22.626zM918.639 470.639l-160 160.001c-6.003 6.004-14.148 9.378-22.639 9.378s-16.636-3.373-22.639-9.378c-6.007-6.005-9.378-14.149-9.378-22.64s3.371-16.635 9.378-22.64l105.399-105.36h-370.761c-8.486 0-16.627-3.371-22.627-9.374-6.001-5.999-9.373-14.14-9.373-22.626s3.372-16.627 9.373-22.626c6-6.003 14.141-9.374 22.627-9.374h370.761l-105.399-105.361c-6.007-6.003-9.378-14.148-9.378-22.639s3.371-16.636 9.378-22.639c6.003-6.007 14.148-9.378 22.639-9.378s16.636 3.371 22.639 9.378l160 160c2.978 2.97 5.338 6.498 6.946 10.385 1.613 3.883 2.441 8.047 2.441 12.254s-0.828 8.371-2.441 12.254c-1.609 3.887-3.968 7.415-6.946 10.385z%27/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-content {
  min-width: 0;
}

.woocommerce-MyAccount-content > p {
  margin-bottom: 16px;
  line-height: 24px;
  color: var(--text-2);
}

.woocommerce-MyAccount-content > p a {
  color: var(--text);
  text-decoration: underline;
}

body.woocommerce-account .woocommerce h2 {
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  margin: 24px 0 16px;
}

/* Real forms (login, edit-account, edit-address) — give each its own flex
   container so the shared .form-row-first/-last/-wide rules from
   _checkout.scss can pair fields the same way checkout does. */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-EditAccountForm,
.woocommerce-address-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 500px;
}

.woocommerce-EditAccountForm fieldset {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  border: 0;
  padding: 0;
  margin: 8px 0 0;
}

.woocommerce-EditAccountForm fieldset legend {
  flex: 1 1 100%;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 4px;
}

.woocommerce-form-login .clear,
.woocommerce-EditAccountForm .clear {
  display: none;
}

.woocommerce-form-register > p {
  flex: 1 1 100%;
}

.woocommerce-form-row .description {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: var(--text-3);
}

.password-input {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.password-input input[type=password],
.password-input input[type=text] {
  padding-right: 2.5rem;
}

.password-input input::-ms-reveal {
  display: none;
}

.show-password-input {
  position: absolute;
  top: 50%;
  right: 0.7em;
  transform: translateY(-50%);
  background-color: transparent;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.show-password-input::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23111111"/></svg>');
}

.show-password-input.display-password::before {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23111111"/></svg>');
}

.woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 12px;
}

.woocommerce-LostPassword a {
  color: var(--text-2);
  text-decoration: underline;
  font-size: 14px;
}

.woocommerce-privacy-policy-link,
.woocommerce-terms-and-conditions-link {
  color: var(--text);
  text-decoration: underline;
  font-weight: 500;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce-EditAccountForm button[type=submit],
.woocommerce-address-fields button[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 28px;
  border-radius: 60px;
  background: var(--black);
  color: var(--white);
  border: 0;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover,
.woocommerce-EditAccountForm button[type=submit]:hover,
.woocommerce-address-fields button[type=submit]:hover {
  opacity: 0.85;
}

/* Addresses list (my-address.php) — each card also carries the real
   .col-1/.col-2 classes, which collide with this theme's Bootstrap grid
   (same trap as checkout's #customer_details, see _checkout.scss) and set
   an explicit `width: 8.33%` that wins over the grid's own item sizing
   even though we target the different, real .woocommerce-Address class —
   an explicit width on the SAME element still applies regardless of which
   selector set the surrounding layout, so it must be reset here too. */
.woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

@media (min-width: 768px) {
  .woocommerce-Addresses {
    grid-template-columns: 1fr 1fr;
  }
}
.woocommerce-Address {
  width: auto;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px;
}

.woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.woocommerce-Address-title h2 {
  margin: 0;
}

.woocommerce-Address-title .edit {
  color: var(--text-2);
  text-decoration: underline;
  font-size: 14px;
  white-space: nowrap;
}

.woocommerce-Address address {
  font-style: normal;
  line-height: 24px;
  color: var(--text-2);
}

/* Orders / payment-methods tables — shop_table_responsive collapses to a
   label:value card list on narrow screens via the real data-title
   attribute WC already renders (no JS needed, pure CSS). */
.woocommerce-orders-table,
.woocommerce-MyAccount-paymentMethods {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
}

.woocommerce-orders-table th,
.woocommerce-orders-table td,
.woocommerce-MyAccount-paymentMethods th,
.woocommerce-MyAccount-paymentMethods td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.woocommerce-orders-table thead th,
.woocommerce-MyAccount-paymentMethods thead th {
  font-weight: 600;
  color: var(--text);
}

.woocommerce-orders-table td,
.woocommerce-MyAccount-paymentMethods td {
  color: var(--text-2);
}

.woocommerce-orders-table__cell-order-actions,
.woocommerce-PaymentMethod--actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  white-space: nowrap;
}

.woocommerce-orders-table .button,
.woocommerce-MyAccount-paymentMethods .button,
.woocommerce-orders-table .woocommerce-button,
a.woocommerce-Button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 18px;
  border-radius: 60px;
  background: var(--bg-2);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  border: 0;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.woocommerce-orders-table .button:hover,
.woocommerce-MyAccount-paymentMethods .button:hover,
a.woocommerce-Button.button:hover {
  background: var(--black);
  color: var(--white);
}

.woocommerce-orders-table .button.pay,
a.woocommerce-Button.button.pay {
  background: var(--black);
  color: var(--white);
}

@media (max-width: 767px) {
  .woocommerce-orders-table thead,
  .woocommerce-MyAccount-paymentMethods thead {
    display: none;
  }
  .woocommerce-orders-table tbody tr,
  .woocommerce-MyAccount-paymentMethods tbody tr {
    display: block;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px 16px;
    margin-bottom: 16px;
  }
  .woocommerce-orders-table tbody td,
  .woocommerce-MyAccount-paymentMethods tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding: 10px 0;
    text-align: right;
  }
  .woocommerce-orders-table tbody td:last-child,
  .woocommerce-MyAccount-paymentMethods tbody td:last-child {
    border-bottom: 0;
  }
  .woocommerce-orders-table tbody td::before,
  .woocommerce-MyAccount-paymentMethods tbody td::before {
    content: attr(data-title);
    font-weight: 600;
    color: var(--text);
    text-align: left;
  }
}
.woocommerce-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}

/* View order page */
.woocommerce-order-details__title {
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  margin-bottom: 16px;
}

.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 32px;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.woocommerce-table--order-details .product-total,
.woocommerce-table--order-details td:last-child,
.woocommerce-table--order-details th:last-child {
  text-align: right;
}

.woocommerce-table--order-details tfoot th {
  font-weight: 400;
  color: var(--text-2);
}

.woocommerce-customer-details {
  margin-top: 8px;
}

.woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

@media (min-width: 768px) {
  .woocommerce-columns--addresses {
    grid-template-columns: 1fr 1fr;
  }
}
.woocommerce-column--billing-address,
.woocommerce-column--shipping-address {
  width: auto;
  max-width: 100%;
}

.woocommerce-column__title {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
}

.woocommerce-customer-details address {
  font-style: normal;
  line-height: 24px;
  color: var(--text-2);
}

.woocommerce-OrderUpdates {
  margin: 16px 0 32px;
}

.woocommerce-OrderUpdate {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.woocommerce-OrderUpdate-meta {
  font-size: 13px;
  color: var(--text-3);
  margin-bottom: 4px;
}

/*------------ Order received / Thank you page --------------------------- */
/* Scoped to the order-received body class so it never affects the shared
   order-details/customer-details styling reused on the My Account view-order
   page. The green here is a semantic success color, deliberately independent
   of the brand --primary (a red brand color would read as an error). */
.woocommerce-order-received .woocommerce-order {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.woocommerce-order-received .noorifa-thankyou-hero {
  margin: 0 0 24px;
  padding: 48px 24px;
  text-align: center;
  color: var(--white);
  background: linear-gradient(135deg, #0b6e1a 0%, #1aa02b 100%);
  border-radius: 16px;
}

.noorifa-thankyou-hero__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin-bottom: 18px;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
}

.noorifa-thankyou-hero__icon svg {
  width: 30px;
  height: 30px;
}

.noorifa-thankyou-hero__title {
  margin: 0 0 10px;
  color: var(--white);
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 700;
  line-height: 1.2;
}

.noorifa-thankyou-hero__subtitle {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(15px, 2.5vw, 20px);
  line-height: 1.5;
}

.woocommerce-order-received .noorifa-thankyou-card {
  padding: 32px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 0 0 24px;
  color: var(--text);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

/* Order overview (Date / Total / Payment method) as a light rounded box. */
.woocommerce-order-received .woocommerce-order-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  margin: 0 0 28px;
  padding: 22px 24px;
  list-style: none;
  background: var(--surface);
  border-radius: 12px;
}

.woocommerce-order-received .woocommerce-order-overview li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0;
  border: 0;
  color: var(--text-3);
  font-size: 14px;
}

.woocommerce-order-received .woocommerce-order-overview li strong {
  color: var(--text);
  font-size: 16px;
  font-weight: 600;
}

@media (max-width: 767px) {
  .woocommerce-order-received .noorifa-thankyou-hero {
    padding: 36px 20px;
  }

  .woocommerce-order-received .noorifa-thankyou-card {
    padding: 20px;
  }

  .woocommerce-order-received .woocommerce-order-overview {
    gap: 18px;
    padding: 18px;
  }
}

/*------------ Widget (layout/structure real classes only) ---------------- */
.wg-comment .title {
  margin-bottom: 24px;
}

.wg-comment .box-comment > .comment_text {
  margin-bottom: 24px;
}

.wg-comment .box-comment:last-child > .comment_text {
  margin-bottom: 0px;
}

.wg-comment .comment-list {
  display: grid;
  gap: 24px;
}

.wg-comment .comment_info {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}

.wg-comment .info_image {
  border-radius: 50%;
  overflow: hidden;
}

.wg-comment .info_author {
  display: grid;
  gap: 4px;
}

.wg-comment .children {
  margin-left: 30px;
  padding-left: 16px;
  border-left: 2px solid var(--line);
  list-style: none;
}

.wg-comment .comment_reply_link a {
  color: var(--text);
  text-decoration: underline;
  font-weight: 600;
}

@media (min-width: 1200px) {
  .wg-comment .children {
    margin-left: 60px;
    border-left: 4px solid var(--line);
  }
}
.wg-leave-comment .title {
  margin-bottom: 24px;
}

.wg-quantity {
  display: flex;
  justify-content: space-between;
  border: 1px solid var(--line);
  padding: 12px 19px;
  border-radius: 100px;
  overflow: hidden;
  min-width: 150px;
  flex-shrink: 0;
}

.wg-quantity .quantity-product {
  width: 40px;
  padding: 0;
  background-color: transparent;
  border: 0;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  vertical-align: middle;
  color: var(--black);
  pointer-events: none;
}

.wg-quantity .btn-quantity {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: var(--black);
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.wg-quantity .btn-quantity:hover {
  color: var(--primary);
}

.wg-quantity.style-2 {
  border-radius: 8px;
  min-width: 140px;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 1200px) {
  .wg-quantity {
    min-width: 180px;
  }
}
@media (max-width: 767px) {
  .wg-quantity {
    min-width: unset;
  }
}
/*------------ Section (layout/structure real classes only) ---------------- */
.list {
  display: flex;
  align-items: center;
  gap: 24px;
}

.list li {
  display: flex;
}

.list.vertical {
  display: grid;
}

.section-page-title {
  background: var(--noorifa-page-title-bg, transparent);
  /* `color` is inherited, so this alone covers the <h1> and icons
     (`.icon` fills with currentColor) that don't set their own explicit
     color. `.cl-text-2`/`.cl-text-3` set theirs with `!important` — same
     reasoning as .footer above — so they need their own direct overrides
     below since they don't inherit. */
  color: var(--noorifa-page-title-fg, inherit);
}

.section-page-title .cl-text-2 {
  color: var(--noorifa-page-title-fg, var(--text-2)) !important;
}

.section-page-title .cl-text-3 {
  color: var(--noorifa-page-title-fg, var(--text-3)) !important;
}

.section-page-title a:hover {
  color: var(--primary) !important;
}

.section-page-title .breadcrumbs {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.section-page-title.text-start .breadcrumbs {
  justify-content: flex-start;
}

.section-page-title .breadcrumbs .icon {
  font-size: 12px;
}

.section-page-title .main-page-title {
  display: grid;
  gap: 12px;
}

@media (max-width: 575px) {
  .section-page-title .main-page-title > p {
    font-size: 16px;
    line-height: 24px;
  }
}
.section-page-title-single {
  padding-top: 24px;
}

.section-page-title-single .main-page-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.section-page-title-single .breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.section-page-title-single .breadcrumbs .icon {
  font-size: 12px;
}

.section-page-title-single .nav-post-list {
  display: flex;
  gap: 4px;
  font-size: 24px;
}

.section-page-title-single .nav-post-item,
.section-page-title-single .nav-all-post {
  display: flex;
}

.sect-heading {
  margin-bottom: 24px;
}

.sect-heading .s-title {
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: clamp(26px, 2.9vw, 34px);
  margin-bottom: 8px;
}

.sect-heading.has-col-right {
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.sect-heading.type-3 .s-desc {
  margin-bottom: 24px;
}

.sect-heading.type-4 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 32px;
}

@media (min-width: 992px) {
  .sect-heading {
    margin-bottom: 40px;
  }
  .sect-heading .s-title {
    margin-bottom: 12px;
  }
  .sect-heading.type-2 {
    margin-bottom: 44px;
  }
  .sect-heading.type-2 .s-title {
    margin-bottom: 8px;
  }
  .sect-heading.type-3 .s-title {
    margin-bottom: 20px;
  }
  .sect-heading.type-4 {
    margin-bottom: 44px;
  }
  .sect-heading.type-5 {
    margin-bottom: 38px;
  }
  .sect-heading.type-6 {
    margin-bottom: 44px;
  }
}
@media (min-width: 1200px) {
  .sect-heading.type-3 .s-desc {
    margin-bottom: 40px;
  }
}
@media (max-width: 575px) {
  .sect-heading .s-desc {
    font-size: 14px;
    line-height: 22px;
  }
}
.tab-content_desc {
  row-gap: 28px;
}

.tab-content_desc .desc_title {
  margin-bottom: 12px;
}

.tab-content_desc .desc_info {
  display: grid;
  gap: 12px;
}

.tab-content_desc .list {
  display: grid;
  gap: 4px;
}

@media (min-width: 1440px) {
  .tab-content_desc:not(.desc-3, .desc-2) {
    gap: 80px;
  }
  .tab-content_desc.desc-2 {
    gap: 40px;
  }
}
.product-desc_review {
  display: grid;
  gap: 40px;
}

.product-desc_review .box-rating {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px 24px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.product-desc_review .rating-ratio {
  display: grid;
  place-items: center;
  gap: 4px;
}

.product-desc_review .rate-list li {
  padding: 2px;
}

.product-desc_review .rating-progress-list {
  display: grid;
  gap: 4px;
}

.product-desc_review .rate-progress-star {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-desc_review .rate-progress-star .number-star {
  min-width: 12px;
  text-align: end;
}

.product-desc_review .rate-progress-star .number-percent {
  min-width: 40px;
}

.product-desc_review .rate-progress-star .progress {
  width: 440px;
  border-radius: 1px;
}

.product-desc_review .rate-progress-star .progress .progress-bar {
  background-color: var(--yellow);
}

.product-desc_review .box-comment .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.product-desc_review .box-write-comment .head {
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.product-desc_review .box-write-comment .rate-click .icon {
  font-size: 32px;
}

.product-desc_review .comment-form-rating {
  display: flex;
  align-items: center;
}

.product-desc_review .stars {
  display: flex;
  gap: 4px;
  margin: 0;
}

.product-desc_review .stars a {
  font-size: 0;
  line-height: 1;
  color: var(--line);
  text-decoration: none;
}

.product-desc_review .stars a::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background-color: var(--line);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M937.156 500.646l-179.996-155.32 54.84-232.28c3.025-12.608 2.246-25.835-2.239-38.003-4.486-12.16-12.477-22.724-22.964-30.353s-22.998-11.981-35.955-12.501c-12.957-0.521-25.777 2.816-36.842 9.574l-202 124.323-202.12-124.323c-11.063-6.724-23.868-10.018-36.803-9.481s-25.421 4.89-35.885 12.51c-10.465 7.629-18.441 18.176-22.924 30.319s-5.273 25.344-2.268 37.935l55.040 232.28-180 155.32c-9.788 8.46-16.867 19.616-20.353 32.074s-3.224 25.668 0.753 37.979c3.977 12.31 11.493 23.177 21.609 31.241s22.383 12.971 35.271 14.105l236 19.040 91.040 220.32c4.927 12.007 13.315 22.278 24.095 29.507s23.466 11.088 36.445 11.088c12.979 0 25.665-3.86 36.445-11.088s19.167-17.5 24.095-29.507l91-220.32 235.999-19.040c12.911-1.091 25.216-5.97 35.371-14.024s17.698-18.924 21.7-31.25c4.002-12.326 4.284-25.558 0.794-38.040-3.482-12.482-10.573-23.657-20.386-32.126l0.239 0.040z%27/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1024 1024%27%3E%3Cpath transform=%27translate(0,960) scale(1,-1)%27 d=%27M937.156 500.646l-179.996-155.32 54.84-232.28c3.025-12.608 2.246-25.835-2.239-38.003-4.486-12.16-12.477-22.724-22.964-30.353s-22.998-11.981-35.955-12.501c-12.957-0.521-25.777 2.816-36.842 9.574l-202 124.323-202.12-124.323c-11.063-6.724-23.868-10.018-36.803-9.481s-25.421 4.89-35.885 12.51c-10.465 7.629-18.441 18.176-22.924 30.319s-5.273 25.344-2.268 37.935l55.040 232.28-180 155.32c-9.788 8.46-16.867 19.616-20.353 32.074s-3.224 25.668 0.753 37.979c3.977 12.31 11.493 23.177 21.609 31.241s22.383 12.971 35.271 14.105l236 19.040 91.040 220.32c4.927 12.007 13.315 22.278 24.095 29.507s23.466 11.088 36.445 11.088c12.979 0 25.665-3.86 36.445-11.088s19.167-17.5 24.095-29.507l91-220.32 235.999-19.040c12.911-1.091 25.216-5.97 35.371-14.024s17.698-18.924 21.7-31.25c4.002-12.326 4.284-25.558 0.794-38.040-3.482-12.482-10.573-23.657-20.386-32.126l0.239 0.040z%27/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.product-desc_review .stars a:hover::before,
.product-desc_review .stars a:has(~ a:hover)::before,
.product-desc_review .stars a.active::before,
.product-desc_review .stars a:has(~ a.active)::before {
  background-color: var(--yellow);
}

.product-desc_review .children {
  margin-left: 30px;
  padding-left: 16px;
  border-left: 2px solid var(--line);
  list-style: none;
}

@media (min-width: 1200px) {
  .product-desc_review .children {
    margin-left: 60px;
    border-left-width: 4px;
  }
}
.product-desc_review .woocommerce-noreviews {
  color: var(--text-2);
}

@media (max-width: 991px) {
  .product-desc_review .comment-item.child {
    margin-left: 30px;
  }
}
@media (max-width: 575px) {
  .product-desc_review .sub-desc-list .item {
    padding: 12px 15px;
  }
  .product-desc_review .rating-progress-list {
    width: 100%;
  }
  .product-desc_review .rate-progress-star .progress {
    width: 100%;
  }
}
.section-product-description.type-list .accordion-action {
  border-color: var(--line);
}

.section-product-description.type-list .box-rating {
  margin-bottom: 24px;
}

/*------------ Footer ---------------- */
/*------------ Footer ---------------- */
/*--------- Abstracts variable ---------- */
.footer {
  padding-top: 20px;
  margin-top: 60px;
  background: var(--noorifa-footer-bg, transparent);
  /* `color` is inherited, so this alone covers every footer heading and
     icon (`.icon` fills with currentColor) that doesn't set its own
     explicit color. `<a>` always sets its own explicit `color: var(--text)`
     (see the global `a {}` rule), and `.cl-text-2`/`.cl-text-3` set theirs
     with `!important` — both need their own direct overrides below since
     neither one inherits. */
  color: var(--noorifa-footer-fg, inherit);
}

.footer a {
  color: var(--noorifa-footer-fg, var(--text));
}

/* `!important` is required here to win against .cl-text-2/.cl-text-3's own
   `!important` rules — same reasoning as .topbar.bg-dark above. Equal
   specificity to .link:hover (both 2 selectors + !important), so without
   the :hover rule below, source order alone would make THIS win even on
   hover, breaking the existing hover-to-primary-color effect. */
.footer .cl-text-2 {
  color: var(--noorifa-footer-fg, var(--text-2)) !important;
}

.footer .cl-text-3 {
  color: var(--noorifa-footer-fg, var(--text-3)) !important;
}

.footer a:hover {
  color: var(--primary) !important;
}

.footer .social-icon-2 a {
  border-color: var(--noorifa-footer-fg, var(--line));
}

/* On hover the circle fills with the brand color; force the icon white so it
   stays visible (a footer link-hover rule otherwise tints it the same brand
   color, making it disappear against the filled background). */
.footer .social-icon-2 a:hover {
  color: var(--white);
}

.footer .social-icon-2 a:hover .icon {
  fill: var(--white);
}

.footer .br-line.fake-class {
  position: absolute;
  left: 0;
  right: 0;
}

.footer .dropdown-select.type-currencies > .dropdown-menu {
  width: max-content !important;
}

@media (max-width: 425px) {
  .footer .list-currenci {
    gap: 12px;
    place-items: center;
  }
}
.footer-inner {
  padding-bottom: 0;
}

@media (min-width: 576px) {
  .footer-inner {
    padding-bottom: 60px;
  }
}
.footer-heading {
  font-weight: 600;
  margin-bottom: 12px;
}

.footer-menu-list {
  display: grid;
  gap: 8px;
}

.footer-bottom .text-copy {
  padding-bottom: 16px;
  text-align: center;
}

@media (min-width: 1440px) {
  .footer-bottom .text-copy {
    padding-top: 16px;
  }
}
@media (min-width: 576px) {
  .footer-wrap-1,
  .footer-wrap-2 {
    width: max-content;
  }
}
.footer-wrap-3 .form-sub {
  margin-bottom: 20px;
}

.footer-wrap-3 .footer-desc {
  margin-bottom: 20px;
}

@media (min-width: 992px) {
  .footer-wrap-3 {
    max-width: 400px;
    margin-left: auto;
  }
}
.footer-infor {
  margin-bottom: 28px;
}

.footer-logo-custom {
  max-width: 160px;
  max-height: 56px;
  width: auto;
  height: auto;
}

.footer-infor-desc {
  margin-bottom: 16px;
}

.footer-bottom {
  position: relative;
}

.footer-bottom .inner-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px 8px;
  flex-wrap: wrap;
  padding-top: 16px;
  padding-bottom: 16px;
}

.footer-bottom .payment-list {
  gap: 8px;
  justify-content: flex-end;
}

.payment-list-image img {
  max-height: 32px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.footer-bottom .list {
  flex: 1;
}

@media (max-width: 991px) {
  .footer-bottom .text-nocopy {
    width: 100%;
    text-align: center;
  }
  .footer-bottom .list {
    flex: unset;
    order: 1;
  }
}
@media (max-width: 767px) {
  .footer-bottom .inner-bottom {
    justify-content: center;
  }
}
.footer-col-block {
  margin-bottom: 28px;
}

@media (max-width: 575px) {
  .footer-heading-mobile {
    display: block;
    position: relative;
    padding-right: 20px;
    line-height: 24px;
    margin-bottom: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .footer-heading-mobile::after {
    position: absolute;
    content: "";
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 1px;
    background-color: var(--noorifa-footer-fg, var(--text));
    transition: 0.25s ease-in-out;
  }
  .footer-heading-mobile::before {
    position: absolute;
    content: "";
    right: 5px;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 12px;
    background-color: var(--noorifa-footer-fg, var(--text));
    transition: 0.25s ease-in-out;
  }
  .inner-right .footer-col-block .collapse-content {
    margin-top: 20px;
  }
  .inner-right .footer-col-block .footer-heading {
    margin-bottom: 0px;
  }
  .inner-center .footer-col-block .collapse-content {
    margin-bottom: 20px;
  }
  .footer-col-block {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--noorifa-footer-fg, var(--line));
  }
  .footer-col-block.open .footer-heading-mobile {
    margin-bottom: 12px;
  }
  .footer-col-block.open .footer-heading-mobile::before {
    opacity: 0;
  }
  .footer-col-block.open .footer-heading-mobile::after {
    transform: translate(0%, -50%) rotate(180deg);
  }
  .footer-col-block .collapse-content {
    display: none;
  }
  .footer-col-block.type-white {
    border-color: var(--white-10);
  }
  .footer-col-block.type-white .footer-heading::after, .footer-col-block.type-white .footer-heading::before {
    background-color: var(--white);
  }
}
@media (min-width: 1200px) {
  .list-currenci {
    gap: 28px;
  }
}
.infiniteSlide-footer-text {
  position: relative;
  padding-top: 16px;
  padding-bottom: 16px;
}

.infiniteSlide-footer-text::after, .infiniteSlide-footer-text::before {
  content: "";
  position: absolute;
  width: clamp(100px, 10vw, 140px);
  z-index: 1;
}

.infiniteSlide-footer-text::before {
  left: 0;
  top: 0;
  bottom: 0;
  background: linear-gradient(90deg, #101010 0%, rgba(16, 16, 16, 0) 100%);
}

.infiniteSlide-footer-text::after {
  right: 0;
  top: 0;
  bottom: 0;
  background: linear-gradient(270deg, #101010 0%, rgba(16, 16, 16, 0) 100%);
}

.infiniteSlide-footer-text.type-2::before {
  background: linear-gradient(90deg, #103C29 0%, rgba(16, 60, 41, 0) 100%);
}

.infiniteSlide-footer-text.type-2::after {
  background: linear-gradient(270deg, #103C29 0%, rgba(16, 60, 41, 0) 100%);
}

.footer-s2 .footer-inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  gap: 30px;
}

.footer-s2 .footer-inner > .br-line:not(.fake-class) {
  height: 100%;
}

.footer-s2 .footer-inner > .br-line:not(.fake-class)::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--white-10);
}

.footer-s2 .col-right {
  display: flex;
  gap: 60px;
  justify-content: center;
}

@media (min-width: 576px) {
  .footer-s2 .footer-wrap-4 {
    max-width: 320px;
  }
}
@media (min-width: 1440px) {
  .footer-s2 .footer-inner {
    padding-top: 80px;
  }
  .footer-s2 .col-right {
    gap: 100px;
  }
  .footer-s2.type-reverse .footer-inner > .br-line:not(.fake-class) {
    order: 2;
  }
  .footer-s2.type-reverse .col-right {
    gap: 140px;
    order: 1;
  }
  .footer-s2.type-reverse .col-right .footer-wrap-4 {
    order: 1;
  }
  .footer-s2.type-reverse .col-right .footer-wrap-1 {
    order: 2;
  }
  .footer-s2.type-reverse .col-right .footer-wrap-2 {
    order: 3;
  }
  .footer-s2.type-reverse .col-left {
    order: 3;
  }
  .footer-s2.type-reverse .footer-wrap-3 {
    max-width: 420px;
  }
}
@media (min-width: 576px) and (max-width: 1199px) {
  .footer-s2 .footer-inner .col-left {
    display: flex;
    gap: 20px;
  }
  .footer-s2 .footer-inner .col-left > * {
    width: 50%;
  }
}
@media (max-width: 1199px) {
  .footer-s2 .footer-inner {
    flex-direction: column;
  }
  .footer-s2 .footer-inner > .br-line:not(.fake-class) {
    display: none;
  }
  .footer-s2 .footer-inner .col-right {
    justify-content: space-between;
    gap: 20px;
  }
  .footer-s2 .footer-inner .col-right > * {
    width: 100%;
  }
  .footer-s2 .footer-wrap-3 {
    max-width: 100%;
  }
}
@media (max-width: 575px) {
  .footer-s2 .col-right {
    flex-direction: column;
  }
  .footer-s2 .footer-inner {
    gap: 0;
  }
  .footer-s2 .footer-inner .col-right {
    gap: 0;
  }
}
@media (min-width: 1440px) {
  .footer-s2.v2 .col-right {
    gap: 80px;
  }
}
@media screen and (min-width: 1600px) {
  .footer-s2.v2 .col-right {
    gap: 140px;
  }
}
.footer-s5 {
  background: var(--bg-3);
}

.footer-s5 .footer-inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  gap: 30px;
}

.footer-s5 .footer-inner > .br-line {
  height: 100%;
}

.footer-s5 .footer-inner > .br-line::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--white-10);
}

.footer-s5 .footer-inner > .br-line.cl-nor::after {
  background: var(--line);
}

.footer-s5 .footer-link-list {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.footer-s5 .footer-wrap-3 {
  margin-left: 0;
}

@media (min-width: 576px) {
  .footer-s5 .footer-col-block {
    margin-bottom: 0;
  }
  .footer-s5 .footer-inner {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-s5 .footer-col-block.footer-wrap-start {
    max-width: 320px;
    width: 100%;
  }
  .footer-s5 .footer-col-block.footer-wrap-end {
    max-width: 400px;
    width: 100%;
  }
  .footer-s5 .col-left,
  .footer-s5 .col-right {
    flex: 1;
  }
  .footer-s5 .col-center {
    flex: 1.5;
  }
}
@media (min-width: 1440px) {
  .footer-s5 .footer-link-list {
    gap: 70px;
  }
  .footer-s5 .col-left,
  .footer-s5 .col-right,
  .footer-s5 .col-center {
    flex: unset;
  }
  .footer-s5.type-2 .footer-inner {
    padding-top: 80px;
  }
}
@media (min-width: 1600px) {
  .footer-s5 .footer-link-list {
    gap: 140px;
  }
}
@media (max-width: 1199px) {
  .footer-s5 .footer-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .footer-s5 .footer-inner > .br-line {
    display: none;
  }
  .footer-s5 .footer-inner .col-right {
    order: 1;
  }
  .footer-s5 .footer-inner .col-center {
    order: 2;
    grid-column: 1/-1;
  }
  .footer-s5 .footer-link-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
  }
}
@media (max-width: 575px) {
  .footer-s5 .footer-link-list {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .footer-s5 .footer-inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.footer-hero-text {
  font-size: clamp(64px, 12vw, 230px);
  line-height: clamp(64px, 9.7vw, 174px);
  letter-spacing: 0.06em;
  text-align: center;
  padding-top: 40px;
  padding-bottom: 40px;
  position: relative;
}

.footer-hero-text::after {
  content: "";
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(360deg, #101010 0%, rgba(16, 16, 16, 0) 100%);
  pointer-events: none;
}

/*------------ RTL ---------------- */
/*------------ RTL ---------------- */
/*--------- Abstracts variable ---------- */
.toggle-rtl {
  padding: 0;
  position: fixed;
  top: 50%;
  right: 15px;
  width: 40px;
  height: 40px;
  min-width: 30px;
  text-transform: uppercase;
  z-index: 999;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background: var(--black);
  color: var(--white);
  font-weight: 600;
}

.rtl .toggle-rtl {
  left: 15px;
  right: auto;
}

.rtl {
  /* START -- RTL EDIT CSS BOOSTRAP */
}

.rtl .modal.fullRight .modal-dialog {
  transform: translate(-100%, 0) !important;
  transition: all 0.3s !important;
}

.rtl .modal.fullRight .modal-dialog .modal-content {
  left: 0;
  right: unset;
}

.rtl .modal.fullRight.show .modal-dialog {
  transform: translate(0, 0) !important;
}

.rtl .offcanvas.offcanvas-end {
  left: 0;
  right: unset;
  transform: translateX(-100%);
}

.rtl .offcanvas.offcanvas-start {
  right: 0;
  left: unset;
  transform: translateX(100%);
}

.rtl .offcanvas.show:not(.hiding),
.rtl .offcanvas.showing {
  transform: none;
}

.rtl .offcanvas.hiding,
.rtl .offcanvas.show,
.rtl .offcanvas.showing {
  visibility: visible;
}

.rtl .ms-auto {
  margin-left: unset !important;
  margin-right: auto;
}

.rtl .me-auto {
  margin-left: auto;
  margin-right: 0 !important;
}

@media (min-width: 576px) {
  .rtl .ms-sm-auto {
    margin-left: unset !important;
    margin-right: auto;
  }
  .rtl .offset-sm-1 {
    margin-left: unset;
    margin-right: 8.33333333%;
  }
}
@media (min-width: 992px) {
  .rtl .offset-lg-2 {
    margin-left: unset;
    margin-right: 16.66666667%;
  }
}
@media (min-width: 768px) {
  .rtl .offset-md-2 {
    margin-left: unset;
    margin-right: 16.66666667%;
  }
}
.rtl {
  /* END -- RTL EDIT CSS BOOSTRAP */
}

.rtl .mega-menu_home_v2 {
  left: auto;
  right: 0;
}

.rtl .sub-menu-lv2 {
  left: auto;
  right: calc(100% + 37px);
}

.rtl .has-menu-lv2::after {
  left: auto;
  right: 100%;
}

.rtl .popup-shopping-cart .cart-threshold .progress-ship .value:before {
  right: unset;
  left: -10px;
}

.rtl .modal .icon-close-popup {
  right: unset;
  left: 10px;
}

@media (min-width: 992px) {
  .rtl .modal .icon-close-popup {
    left: 20px;
  }
}
@media (min-width: 768px) {
  .rtl .popup-shopping-cart .canvas-wrapper {
    margin-left: 0;
    margin-right: auto;
  }
}
.rtl .pop-notice-sale {
  position: fixed;
  right: unset;
  left: 40px;
}

.rtl .pop-notice-sale .purchase {
  left: unset;
  right: -8px;
}

.rtl .pop-notice-sale .btn-cl-pop {
  right: unset;
  left: 12px;
}

.rtl .card-product {
  direction: rtl;
}

.rtl .marquee-wrapper {
  animation: infiniteScrollRight 7s linear infinite;
}

.rtl .product-badge_list {
  left: auto;
  right: 8px;
}

@media (min-width: 1200px) {
  .rtl .product-badge_list {
    right: 12px;
  }
}
.rtl .lookbook-product {
  direction: rtl;
}

.rtl .lookbook-product .content {
  text-align: start;
}

.rtl .testimonial-v01 {
  direction: rtl;
}

.rtl .has-sub-nav-category .sub-nav-category {
  left: auto;
  right: 100%;
}

.rtl .slideshow .slideshow-wrap,
.rtl .slideshow .slider-wrap_2,
.rtl .slideshow .slider-wrap_3 {
  direction: rtl;
}

.rtl .slideshow .sld_image {
  transform: rotateY(180deg);
}

.rtl .slideshow .sw-line-default.pst-2 {
  width: auto;
}

@media (min-width: 768px) {
  .rtl .slideshow .sw-line-default.pst-2 {
    justify-content: flex-end;
    right: 20px;
  }
}
@media (min-width: 1200px) {
  .rtl .slideshow .sw-line-default.pst-2 {
    right: 48px;
  }
}
.rtl .has-by-category .box-open-header-bottom {
  margin-right: 0;
  margin-left: 20px;
}

.rtl .box-image_v02 {
  direction: rtl;
}

.rtl .box-image_img {
  transform: rotateY(180deg);
}

.rtl .banner-image-text .bn-image img {
  transform: rotateY(180deg);
}

.rtl .banner-image-text.style-1 .bn-content {
  left: auto;
  right: 20px;
}

@media (min-width: 1200px) {
  .rtl .banner-image-text.style-1 .bn-content {
    right: 40px;
  }
}
@media (max-width: 575px) {
  .rtl .footer-heading-mobile {
    padding-right: 0;
    padding-left: 20px;
  }
  .rtl .footer-heading-mobile::before {
    right: unset;
    left: 6px;
  }
  .rtl .footer-heading-mobile::after {
    right: unset;
    left: 0;
  }
}
.rtl .password-wrapper .toggle-pass {
  right: auto;
  left: 16px;
}

.rtl .infiniteslide_wrap {
  direction: ltr;
}

.rtl .article-blog,
.rtl .wg-thumb-v1 {
  direction: rtl;
}

.rtl .product-style_mini_list .btn-action .text,
.rtl .product-style_mini_list-v2 .btn-action .text {
  margin-right: 8px;
  margin-left: 0;
}

@media (min-width: 1200px) {
  .rtl .product-style_mini_list:not(:hover) .btn-action .text,
  .rtl .product-style_mini_list-v2:not(:hover) .btn-action .text {
    margin-right: 0;
  }
}
.rtl .box-image_v04 .box-image_content {
  left: auto;
  right: 20px;
}

@media (min-width: 1200px) {
  .rtl .box-image_v04 .box-image_content {
    right: 40px;
  }
}
.rtl .box-bundle-save .progress-bar::after {
  right: unset;
  left: 0;
}

.rtl .wg-quantity-v2 .group-action {
  right: auto;
  left: 10px;
}

.rtl .banner-image-text.style-2 .bn-content {
  left: auto;
  right: 20px;
}

@media (min-width: 1200px) {
  .rtl .banner-image-text.style-2 .bn-content {
    right: 80px;
  }
}
.rtl .banner-image-text {
  direction: rtl;
}

.rtl .category-v03 {
  direction: rtl;
}

.rtl .category-v03 .cate_name .icon {
  margin-right: 0;
  margin-left: 0;
}

.rtl .category-v03 .cate_name:hover .icon {
  margin-right: 8px;
}

.rtl .banner-image-text.style-4 .bn-content {
  left: unset;
  right: 20px;
}

@media (min-width: 1200px) {
  .rtl .banner-image-text.style-4 .bn-content {
    right: 36px;
  }
}
.rtl .banner-sale .img-item {
  right: 73%;
  left: -15px;
}

.rtl .banner-countdown-v03 .banner-image img {
  transform: rotateY(180deg);
}

.rtl .banner-image-text.style-17 .bn-content {
  left: auto;
  right: 10px;
}

@media (min-width: 768px) {
  .rtl .banner-image-text.style-17 .bn-content {
    right: 24px;
  }
}
.rtl .banner-image-compare.style-2 {
  direction: ltr;
}

.rtl .category-v06:not(.style-2) .cate-content {
  left: auto;
  right: 12px;
  text-align: end;
}

.rtl .section-highlight .item {
  text-align: end;
}

.rtl .box-icon_V01.style-3 {
  direction: rtl;
}

.rtl .category-v05,
.rtl .testimonial-v04 {
  direction: rtl;
}

.rtl .form-search-nav.style-5 .btn-action-submit {
  right: auto;
  left: 20px;
}

.rtl .section-thumbs-v2 .thumbs-prd {
  direction: rtl;
}

.rtl .box-cls-v1.style-3 {
  direction: rtl;
}

.rtl .testimonial-v05 {
  direction: rtl;
}

.rtl .noUi-horizontal .noUi-handle {
  right: -8px;
  left: auto;
}

.rtl .dropdown-sort .dropdown-menu {
  text-align: start;
}

.rtl .product-action_remove {
  right: auto;
  left: 8px;
}

@media (min-width: 1200px) {
  .rtl .product-action_remove {
    left: 12px;
  }
}
.rtl .acount-order_stats .order-box {
  direction: rtl;
}

.rtl .modal-share .btn-action-copy {
  right: auto;
  left: 3px;
}

.rtl .btn-sidebar-mb {
  left: auto;
  right: 0;
}

.rtl .btn-sidebar-mb.right {
  right: auto;
  left: 0;
}

.rtl .select::after {
  right: auto;
  left: 16px;
}

.rtl .card-member-v01 {
  direction: rtl;
}

.rtl .s-invoice {
  direction: rtl;
}

.rtl .canvas-quickview .mini-quick-image {
  order: 1;
}

.rtl .lookbook-hover-v1 .col-right {
  border-radius: 20px 0px 0px 20px;
}

.rtl .lookbook-hover-v1 .img-banner {
  border-radius: 0px 20px 20px 0px;
}

.rtl .zoom-main1,
.rtl .zoom-main {
  direction: ltr;
}

.rtl .drift-zoom-pane {
  direction: ltr;
}


