/*
Author: Mohammad Zare
Author URI: http://mohammadz.com/
*/
@charset "UTF-8";

:root {
  --color-CarpetRed: #780000;
  --color-SealBrown: #220e0e;
  --color-Thunderbird: #ac1f1f;
  --color-BulgarianRose: #400707;
  --color-Mushroom: #b7927a;
  --color-White: #fff;
  --color-Black: #000;

  --color-Neutral-50: #f2f2f1;
  --color-Neutral-100: #d9d8d6;
  --color-Neutral-200: #c0bfba;
  --color-Neutral-300: #a6a59e;
  --color-Neutral-400: #8d8b83;
  --color-Neutral-500: #807e75;
  --color-Neutral-600: #737169;
  --color-Neutral-700: #5a5852;
  --color-Neutral-800: #403f3b;
  --color-Neutral-900: #262623;
  --color-Neutral-1000: #0d0d0c;

  --color-Success: 140, 178, 66;
  --color-Error: 235, 85, 40;
  --color-Warning: 245, 191, 89;
  --color-Info: 90, 206, 244;

  --filter-CarpetRed: invert(7%) sepia(67%) saturate(6863%) hue-rotate(1deg) brightness(87%) contrast(109%);

  --border: 1px solid var(--color-Neutral-900);

  --font-title-xxlarge: 300 clamp(60px, 13.15vw + 10.70px, 200px)/0.9 "FH Ampersand Display";
  --font-title-xlarge: 300 clamp(48px, 7.51vw + 19.83px, 128px)/0.9375 "FH Ampersand Display";
  --font-title-large: 300 clamp(40px, 5.63vw + 18.87px, 100px)/1.02 "FH Ampersand Display";
  --font-title-medium: 300 clamp(32px, 4.51vw + 15.10px, 80px)/1 "FH Ampersand Display";
  --font-title-small: 300 clamp(28px, 3.38vw + 15.32px, 64px)/1.2031 "FH Ampersand Display";
  --font-title-xsmall: 300 clamp(24px, 2.25vw + 15.55px, 48px)/1 "FH Ampersand Display";
  --font-title-xxsmall: 300 clamp(22px, 1.88vw + 14.96px, 42px)/1 "FH Ampersand Display";

  --font-subtitle-large: 500 clamp(16px, 0.75vw + 13.18px, 24px)/1.35 "General Sans";
  --font-subtitle-small: 500 clamp(16px, 0.38vw + 14.59px, 20px)/1.35 "General Sans";
  --font-desc-large: 300 clamp(24px, 2.25vw + 15.55px, 48px)/1.2083 "FH Ampersand Display";
  --font-desc-medium: 500 clamp(24px, 2.25vw + 15.55px, 48px)/1.3542 "General Sans";
  --font-desc-small: 500 clamp(20px, 1.13vw + 15.77px, 32px)/1.34375 "General Sans";
  --font-desc-xsmall: 400 clamp(14px, 0.19vw + 13.30px, 16px)/1.34375 "General Sans";

  --animate-duration: 1000ms;
  --animate-delay: 150ms;
}

@font-face {
  font-family: "FH Ampersand Display";
  font-weight: 300;
  src: url("../fonts/FHAmpersandDisplay-Light.ttf") format("truetype");
}

@font-face {
  font-family: "General Sans";
  src: url("../fonts/GeneralSans-Variable.ttf") format("truetype-variations");
  font-weight: 1 999;
}

:focus {
  outline: 0 !important;
}

::selection {
  background: rgba(0, 0, 0, 0.1);
}

::-moz-selection {
  background: rgba(0, 0, 0, 0.1);
}

a {
  color: rgb(var(--color-primary));
  text-decoration: none !important;
}

a:hover {
  color: var(--color-Neutral-1000);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "General Sans", Helvetica, Geneva, Verdana, sans-serif;
  font-weight: 600;
  line-height: 1.4;
}

html {
  background: rgb(var(--color-primary));
}

html,
body {
  width: 100vw;
  min-height: 100%;
  min-height: 100dvh;
  position: relative;
  overflow-x: clip;
}

body {
  font-family: "General Sans", Helvetica, Geneva, Verdana, sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 1px;
  direction: ltr;
  background: rgb(var(--color-light));
  color: var(--color-Black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.overlay-link {
  font-size: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 10;
  cursor: pointer;
}

.modal-backdrop,
.body-overlay {
  width: 100vw;
  height: 100dvh;
  position: fixed !important;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  z-index: 1000;
  cursor: pointer;
}

.body-overflow {
  overflow: hidden;
}

a>i:only-child,
button>i:only-child {
  line-height: inherit;
}

strong,
b {
  font-weight: 550;
}

ol {
  list-style-type: decimal;
}

.tab-pane {
  display: none;
}

.tab-pane.active {
  display: block;
}

.fade {
  opacity: 0;
  transition: opacity 0.15s linear;
}

.fade.in {
  opacity: 1;
}

.collapse {
  display: none;
}

.collapse.in {
  display: block;
}

tr.collapse.in {
  display: table-row;
}

tbody.collapse.in {
  display: table-row-group;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition-property: height, visibility;
  transition-duration: 0.35s;
  transition-timing-function: ease;
}

.modal-dialog {
  min-height: 100dvh;
  width: auto !important;
  max-width: 1130px !important;
  display: flex;
  align-items: center;
  padding: 15px;
}

.modal-header {
  display: flex;
  align-items: center;
}

.modal-body {
  padding: 40px;
}

.pagination {
  margin: 50px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.pagination>li {
  padding: 0 6px;
}

.pagination>li>a.page-numbers,
.pagination>li>.page-numbers.current {
  background: var(--color-Mushroom);
  color: var(--color-CarpetRed);
  font-size: 14px;
  font-weight: 500;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  line-height: 1px;
  white-space: nowrap;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.pagination>li>a.page-numbers:hover,
.pagination>li>.page-numbers.current {
  background: var(--color-CarpetRed);
  color: var(--color-Mushroom);
}

/*Custom*/
.container-fluid {
  max-width: 1440px;
  max-width: 1500px;
  padding-left: 32px;
  padding-right: 32px;
}

.row {
  --gutter-x: 20px;
  --gutter-y: 20px;
}

.section {
  position: relative;
  z-index: 1;
}

.section-full {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100vw;
  min-height: 100dvh;
}

.section-cover {
  position: relative;
}

.section-bg {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.section-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-header+.section-body,
.section-body+.section-footer,
.section-header+.section-footer {
  margin-top: clamp(35px, 2.35vw + 26.20px, 60px);
}

.section-header,
.section-footer {
  text-align: center;
}

.section-title {
  font: var(--font-title-large);
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0;
}

.section-subtitle {
  font: var(--font-subtitle-small);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--color-SealBrown);
  margin: 0;
}

.section-title+.section-subtitle,
.section-subtitle+.section-nav {
  margin-top: clamp(25px, 1.41vw + 19.72px, 40px);
}

.section-desc {
  font: var(--font-desc-medium);
  letter-spacing: 0px;
  color: var(--color-Black);
}

.section-desc>img {
  width: auto;
  height: clamp(35px, 2.35vw + 26.20px, 60px);
}

.section-body>p:last-child,
.section-desc>p:last-child {
  margin-bottom: 0;
}

.section-btn {
  font-size: clamp(20px, 0.38vw + 18.59px, 24px) !important;
  font-weight: 500 !important;
  color: var(--color-Neutral-1000);
  margin: 0;
}

.section-wrapper {
  padding: clamp(60px, 3.76vw + 45.92px, 100px) 0;
  position: relative;
  z-index: 1;
}

.section:first-of-type .section-wrapper,
.section.section-covered .section-wrapper {
  padding-top: 100px !important;
}

.section:last-of-type .section-wrapper {
  padding-bottom: 0;
}

.section:not(.section-covered)+.section .section-wrapper {
  padding-top: 0;
}

.section-divider,
.page-divider {
  overflow: hidden;
}

.section-divider>img,
.page-divider>img {
  width: 100%;
}

#header+#page-body {
  padding-top: 180px;
}

#page-footer {
  margin-top: auto;
}

#page-footer+#footer {
  margin-top: 0;
}

#page-title {
  margin: 0;
  position: relative;
  z-index: 1;
}

*+#page-cover {
  margin-top: 40px;
}

#page-cover>img {
  width: 100%;
  object-fit: cover;
}

.subsection-header+.subsection-body,
.subsection-body+.subsection-footer,
.subsection-header+.subsection-footer {
  margin-top: clamp(20px, 1.41vw + 14.72px, 35px);
}

.button {
  height: clamp(44px, 0.38vw + 42.59px, 48px);
  padding: 0 clamp(20px, 0.38vw + 18.59px, 24px);
  font: normal 500 clamp(16px, 0.38vw + 14.59px, 20px)/1.25 'General Sans';
  letter-spacing: 0px;
  text-wrap: nowrap;
  text-transform: uppercase;
  margin: 0;
  border: none;
  background: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-repeat: no-repeat;
}

.button:not(.button-link) {
  background-position: calc(100% - var(--p, 0%));
  background-size: var(--p, 0%);
  transition: .4s, background-position 0s;
}

.button:hover {
  --p: 100%;
}

.button-small {
  height: clamp(32px, 0.38vw + 30.59px, 36px);
  padding: 0 14px;
  font-size: clamp(8px, 0.38vw + 6.59px, 12px);
}

.button-large {
  height: clamp(52px, 0.38vw + 50.59px, 56px);
  padding: 0 20px;
  font-size: clamp(20px, 0.38vw + 18.59px, 24px);
}

.button-block {
  display: flex;
  width: 100%;
}

.button-block+.button-block {
  margin-top: 15px;
}

.button-link {
  height: auto !important;
  padding: 0 !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  background-position: 100%;
  transition: background-position 0.8s cubic-bezier(0.2, 1, 0.3, 1);
}

.button-link:hover {
  background-position: 0 100%;
}

.button-link-primary {
  background-image: linear-gradient(to right,
      var(--color-CarpetRed),
      var(--color-CarpetRed) 50%,
      var(--color-Black) 50%);
}

.button-link-secondary {
  background-image: linear-gradient(to right,
      var(--color-Mushroom),
      var(--color-Mushroom) 50%,
      var(--color-Black) 50%);
}

.button-fill-primary {
  background-color: var(--color-Thunderbird);
  background-image: linear-gradient(var(--color-White) 0 0);
  color: var(--color-White);
}

.button-fill-primary:hover {
  color: var(--color-Thunderbird);
}

.button-outline-primary {
  background-image: linear-gradient(var(--color-Thunderbird) 0 0);
  color: var(--color-Thunderbird);
}

.button-outline-primary:hover {
  color: var(--color-White);
}

.button-fill-secondary {
  background-image: linear-gradient(var(--color-Mushroom) 0 0);
  color: var(--color-Mushroom);
}

.button-fill-secondary:hover {
  color: var(--color-BulgarianRose);
}

.button-fill-light {
  background-image: linear-gradient(var(--color-White) 0 0);
  color: var(--color-White);
}

.button-fill-light:hover {
  color: var(--color-Thunderbird);
}

.button-fill-dark {
  background-image: linear-gradient(var(--color-Black) 0 0);
  color: var(--color-Black);
}

.button-fill-dark:hover {
  color: var(--color-White);
}

.badge {
  height: 33px;
  border-radius: 25px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 500;
  line-height: 16.38px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  backdrop-filter: opacity(0.15);
}

.badge-success {
  background: rgba(var(--color-Success), 1);
  color: rgba(var(--color-Success), 1);
}

.badge-danger {
  background: rgba(var(--color-Error), 1);
  color: rgba(var(--color-Error), 1);
}

.badge-warning {
  background: rgba(var(--color-Warning), 1);
  color: rgba(var(--color-Warning), 1);
}

.badge-info {
  background: rgba(var(--color-Info), 1);
  color: rgba(var(--color-Info), 1);
}

.form-action {
  display: flex;
  justify-content: space-around;
  margin-top: 60px;
}

fieldset>.form-floating:last-child,
fieldset>div:last-child>.form-floating {
  margin-bottom: 0;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
}

#header {
  padding: 40px 0;
  width: 100vw;
  transition: all 0.3s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

body:not(.nav-opened) #header.sticky {
  background-color: var(--color-White);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  padding: 20px 0;
}

.logo>img {
  height: 40px;
}

body.blog #header:not(.sticky) .logo>img,
body.page-template-page-about #header:not(.sticky) .logo>img,
body.page-template-page-contact #header:not(.sticky) .logo>img,
body.page-template-page-collection #header:not(.sticky) .logo>img,
body.page-template-default #header:not(.sticky) .logo>img,
body.nav-opened #header.sticky .logo>img {
  filter: brightness(0) invert(1);
}

.user-nav>li:nth-child(3) {
  margin-right: auto;
}

.user-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 40px;
}

.user-nav>li>a,
.user-nav>li>button {
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0px;
  text-transform: uppercase;
  color: var(--color-White);
  background: none;
  border: none;
  padding: 0;
  display: inline-flex;
  align-items: center;
  position: relative;
}

body:not(.nav-opened) .user-nav>li.nav-toggle>button:nth-child(2) {
  display: none;
}

body.nav-opened .user-nav>li.nav-toggle>button:nth-child(1) {
  display: none;
}

.user-nav>li>a strong,
.user-nav>li>button strong {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(75%, -75%);
  background: var(--color-Black);
  color: var(--color-White);
  font-size: 12px;
  padding: 0 8px;
  line-height: 1;
  border-radius: 20px;
  height: 20px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

body.page-template-page-wishlist:not(.nav-opened) .user-nav>li>a,
body.page-template-page-wishlist:not(.nav-opened) .user-nav>li>button,
body.page-template-page-faq:not(.nav-opened) .user-nav>li>a,
body.page-template-page-faq:not(.nav-opened) .user-nav>li>button,
body.page-template-page-art:not(.nav-opened) .user-nav>li>a,
body.page-template-page-art:not(.nav-opened) .user-nav>li>button,
body.page-template-page-custom:not(.nav-opened) .user-nav>li>a,
body.page-template-page-custom:not(.nav-opened) .user-nav>li>button,
body.page-template-page-shopping:not(.nav-opened) .user-nav>li>a,
body.page-template-page-shopping:not(.nav-opened) .user-nav>li>button,
body.page-template-page-account:not(.nav-opened) .user-nav>li>a,
body.page-template-page-account:not(.nav-opened) .user-nav>li>button,
body[class*="tax-pa"]:not(.nav-opened) .user-nav>li>a,
body[class*="tax-pa"]:not(.nav-opened) .user-nav>li>button,
body[class*="tax-product_"]:not(.nav-opened) .user-nav>li>a,
body[class*="tax-product_"]:not(.nav-opened) .user-nav>li>button,
body.post-type-archive-product:not(.nav-opened) .user-nav>li>a,
body.post-type-archive-product:not(.nav-opened) .user-nav>li>button,
body.single:not(.nav-opened) .user-nav>li>a,
body.single:not(.nav-opened) .user-nav>li>button,
body:not(.nav-opened) #header.sticky .user-nav>li>a,
body:not(.nav-opened) #header.sticky .user-nav>li>button {
  color: var(--color-SealBrown) !important;
}

.user-nav>li>a:hover,
.user-nav>li>button:hover {
  color: var(--color-Mushroom) !important;
}

.section-hero {
  background: var(--color-BulgarianRose);
  text-align: center;
  justify-content: start;
  z-index: 2;
}

.section-hero .section-title {
  color: var(--color-White);
}

.section-hero .section-subtitle {
  color: var(--color-Mushroom);
}

/* section-hero has no .section-covered class, so the generic
   ".section:not(.section-covered)+.section" rule above would zero out the
   top padding of whatever section follows it. That's fine for two ordinary
   stacked sections, but section-hero is a full-viewport (.section-full)
   section, not a normal one -- the section right after it still needs real
   breathing room, same as a .section-covered section gets. */
.section-hero+.section .section-wrapper {
  padding-top: 100px !important;
}

.section-intro {
  overflow: clip;
}

.section-intro .section-bg {
  object-fit: cover;
  animation: parallaxY linear;
  animation-timeline: view();
  animation-range: entry cover;
}

.section-intro .section-title {
  color: var(--color-White);
}

.section-intro .section-subtitle {
  color: var(--color-White);
}

/* 5-column tier for the product grid at the widest existing breakpoint
   (1200px — matches the .col-xl-* selectors already gated at this width
   elsewhere in this file). Bootstrap has no native 5-col class since 12
   isn't divisible by 5, so this is applied in place of col-xl-3. */
@media (min-width: 1200px) {
  .col-xl-5th {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

/* Wider gutters between product cards than the framework's default .g-3
   (1rem/16px) — scoped to .product-grid only, via the same --gutter-x/-y
   custom properties .g-3 sets, so no shared utility class is touched. */
.product-grid {
  --gutter-x: 2rem;
  --gutter-y: 2rem;
}

.product-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}

.product-card-header {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background-color: var(--color-White);
  position: relative;
}

.product-card-img,
.product-card-img-second {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  /* object-fit: contain letterboxes/pillarboxes differently depending on
     each image's own aspect ratio vs the header's fixed 3:4 box. Without an
     opaque background here, the top (second) image's letterbox gap is
     transparent and lets the first image's actual pixels show through at
     that edge — a visible sliver during the crossfade. Matching the
     header's own background-color makes every image's letterbox area
     opaque, so the top image always fully covers the one beneath it. */
  background-color: var(--color-White);
}

/* Second gallery image, stacked absolutely over the first for a hover
   crossfade. Only `opacity` transitions — the first image's opacity never
   changes, it just sits underneath the whole time — so there is no
   flicker/stacking artifact and no display:none/block toggling. Only
   rendered in the DOM at all when the product has a 2nd gallery image
   (see card-product.php), so products with 0/1 images are unaffected. */
.product-card-img-second {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .3s ease;
}

/* Hover feedback: a flat white tint (not filter: brightness — tested both
   live; brightness() barely reads on dark rug photos since it scales
   multiplicatively, while a flat overlay lightens consistently regardless
   of the photo's own tone) plus a wishlist heart badge, top-right of the
   image. Both gated to real hover so touch devices never get a "stuck"
   hover state; the heart is made always-visible for touch separately,
   below. The tint sits above both images in DOM order, so it lights
   whichever one is currently visible during the crossfade. */
.product-card-tint {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0);
  transition: background .2s ease;
  pointer-events: none;
}

/* Wrapper carries the badge background; .wishlist-button's own base `filter`
   (recolors its SVG to CarpetRed everywhere else it's used) is reset to
   `none` here so the badge's own icon colors (baked directly into its SVGs
   below, not filter-derived) aren't double-recolored.

   The icon itself is overridden here (not in the shared .wishlist-button
   rule further down, which stays untouched for its other usages in
   .product-card-meta / single-product.php) with a plain line-art heart
   outline / solid heart fill, instead of the shared class's heart-plus /
   heart-check glyphs — sized/spaced up from the original 34px badge @
   10px inset / 55% icon (tested 36/40/44px badges live before picking
   40px @ 14px inset / 60% icon as the clearest read without feeling
   oversized).

   Shape/color: a circle read as too geometric/stark against the reference
   design's softer "squircle" look. Tested 12px/14px/16px border-radius
   paired with rgba(Mushroom, .35/.45/.55) live against a light and a dark
   rug — picked 14px + .45 as the clearest "soft rounded tint" without
   looking either sharp-cornered or like an undefined blob. Color is
   rgba() off --color-Mushroom (#b7927a), the closest existing warm-neutral
   token in the palette, rather than a new hardcoded hex. */
.product-card-wishlist-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background-color: rgba(183, 146, 122, .45);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .2s ease;
  z-index: 2;
}

.product-card-wishlist-badge .wishlist-button {
  width: 100%;
  height: 100%;
  background-size: 60%;
  filter: none;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230d0d0c" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/></svg>');
  transition: background-image .15s ease;
}

/* Two-stage hover, matching the reference: hovering the card fades the
   whole badge in (opacity rule below, unchanged from before) at the dark
   outline / beige-tint default state above. Hovering the badge itself is a
   second, more specific target — previews the solid red heart, same as the
   persisted `.active` (already-wishlisted) state, so hovering an
   already-active heart is a no-op rather than a flicker. */
.product-card-wishlist-badge .wishlist-button.active,
.product-card-wishlist-badge:hover .wishlist-button {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23780000"><path d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z"/></svg>');
}

@media (hover: hover) and (pointer: fine) {
  .product-card-header:hover .product-card-tint {
    background: rgba(255, 255, 255, .18);
  }

  .product-card-header:hover .product-card-wishlist-badge {
    opacity: 1;
  }

  .product-card-header:hover .product-card-img-second {
    opacity: 1;
  }
}

/* No hover on touch — show the heart always instead of gating it behind a
   hover that will never fire. */
@media (hover: none) {
  .product-card-wishlist-badge {
    opacity: 1;
  }
}

.product-card-footer {
  margin-top: auto;
}

.product-card-title {
  font-size: 18px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-1000);
  margin: 0;
}

.product-card-title:hover {
  color: var(--color-Mushroom);
}

.product-card-title:hover>a {
  color: initial;
}

.product-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.product-card-price,
.product-card-size {
  font-size: 18px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-700);
}

.product-card-btn {
  background-color: var(--color-CarpetRed);
  color: var(--color-White);
  padding: 10px;
  font: 400 14px/1 "General Sans";
  letter-spacing: .05rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
}

.product-card-btn:hover {
  background-color: var(--color-Thunderbird);
  color: var(--color-White);
}

.product-card-badge {
  background-color: var(--color-Neutral-1000);
  color: var(--color-Neutral-50);
  font: var(--font-subtitle-small);
  padding: 0 10px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.section-featured {
  background-color: var(--color-White);
}

.section-featured .section-divider {
  margin-top: 100px;
}

.section-collection .section-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  text-align: start;
}

.section-collection .section-desc {
  font: var(--font-desc-large);
  text-align: center;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
  margin-top: 60px;
}

.collection-grid {
  --gutter-x: 20px;
  --gutter-y: 60px;
}

.collection-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.collection-card-img {
  width: 100%;
}

.collection-card-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.collection-card-title {
  font-size: 24px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-1000);
  margin: 0;
}

.collection-card:hover .collection-card-title {
  color: var(--color-Mushroom);
}

.collection-card-desc {
  font-size: 20px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-500);
}

.collection-cover>img {
  width: 100%;
}

/* Explore Collections carousel (homepage) */
.category-carousel {
  position: relative;
  margin-top: clamp(35px, 2.35vw + 26.20px, 60px);
}

.category-carousel-swiper {
  overflow: hidden;
}

.category-carousel-swiper .swiper-wrapper {
  align-items: stretch;
}

.category-carousel-slide {
  width: 78%;
  height: auto;
}

.category-card {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 4px;
}

.category-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s ease;
}

.category-card:hover .category-card-img {
  transform: scale(1.05);
}

.category-card-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px;
  background: linear-gradient(to top, rgba(34, 14, 14, 0.92) 0%, rgba(34, 14, 14, 0.55) 50%, rgba(34, 14, 14, 0) 100%);
  color: var(--color-White);
}

.category-card-name {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55);
}

.category-card-arrow {
  width: 16px;
  height: 16px;
  filter: brightness(0) invert(1);
  transition: transform 0.25s ease;
}

.category-card:hover .category-card-arrow {
  transform: translateX(4px);
}

[dir="rtl"] .category-card:hover .category-card-arrow,
.category-card:hover .category-card-arrow:dir(rtl) {
  transform: translateX(-4px);
}

.category-card-desc {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.4;
  color: var(--color-Neutral-100);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.category-carousel-arrow {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--color-Neutral-200);
  border-radius: 50%;
  background: var(--color-White);
  cursor: pointer;
  transition: background 0.2s ease, opacity 0.2s ease;
}

.category-carousel-arrow img {
  width: 16px;
  height: 16px;
}

.category-carousel-arrow:hover {
  background: var(--color-Neutral-50);
}

.category-carousel-arrow.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.category-carousel-prev {
  left: -22px;
}

.category-carousel-next {
  right: -22px;
}

.category-carousel-prev img {
  transform: scaleX(-1);
}

@media (min-width: 576px) {
  .category-carousel-slide {
    width: 46%;
  }
}

@media (min-width: 992px) {
  .category-carousel-slide {
    width: 31%;
  }
}

@media (min-width: 1200px) {
  .category-carousel-slide {
    width: 23.5%;
  }

  .category-carousel-prev {
    left: -22px;
  }

  .category-carousel-next {
    right: -22px;
  }
}

@media (max-width: 767.98px) {
  .category-carousel-arrow {
    display: none;
  }

  .category-card-name {
    font-size: 17px;
  }
}

.section-banner .section-desc {
  font: var(--font-desc-medium);
  letter-spacing: 0px;
  text-align: center;
  color: var(--color-White);
}

.section-banner .section-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.collector-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  row-gap: 32px;
  column-gap: 32px;
}

.collector-card {
  display: flex;
  align-items: center;
}

.collector-card-img {
  width: 60px;
  height: 60px;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  border-radius: 100%;
}

.collector-card-title {
  font-size: 36px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0 12px;
}

.collector-card-subtitle {
  font-size: 36px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: -0.8px;
  color: var(--color-Neutral-400);
  margin: 0;
}

.section-certificate .section-desc {
  font: var(--font-desc-large);
  text-align: center;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
}

.section-blog .section-header {
  text-align: start;
}

.section-blog .section-subtitle {
  text-align: end;
}

.blog-card-img {
  width: 100%;
}

.blog-card-body {
  padding-top: 20px;
}

.blog-card-title {
  font-size: 24px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-1000);
  margin: 0;
}

.blog-card:hover .blog-card-title {
  color: var(--color-Mushroom);
}

.blog-card-date {
  font-size: 14px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-500);
  margin: 12px 0 0;
}

.footer-logo img {
  height: 40px;
}

.footer-nav,
.access-nav,
.footer-contact {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

#sidebar {
  padding: 100px 0 70px;
  background: var(--color-SealBrown);
  color: var(--color-White);
  border: 1px solid var(--color-Black);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  display: none;
  overflow-y: scroll;
}

#sidebar.active {
  opacity: 1;
  visibility: visible;
  display: block;
}

#sidebar .row {
  --gutter-y: 40px;
}

#footer {
  margin-top: auto;
  padding-top: 150px;
  font-size: 12px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
}

.footer-top {
  padding-bottom: 40px;
}

.footer-bottom {
  background: var(--color-CarpetRed);
  padding: 12px 0;
}

.footer-bottom,
.footer-bottom a {
  color: var(--color-White);
}

.footer-top a:hover,
.footer-bottom a:hover {
  color: var(--color-Mushroom);
}

.sblock {
  border-top: 1px solid var(--color-White);
}

.sblock-header {
  padding: 12px 0 20px;
}

.sblock-title {
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  color: var(--color-White);
  margin: 0;
}

.sblock-nav {
  line-height: 1;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: clamp(10px, 1.88vw + 2.96px, 30px);
}

.sblock-nav>li>a {
  font: 300 clamp(32px, 3.00vw + 20.73px, 64px)/100% "FH Ampersand Display";
  letter-spacing: -0.8px;
  color: var(--color-White);
  background: linear-gradient(to right,
      var(--color-Thunderbird),
      var(--color-Thunderbird) 50%,
      var(--color-White) 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  background-position: 100%;
  transition: background-position 0.8s cubic-bezier(0.2, 1, 0.3, 1);
}

.sblock-nav>li>a:hover {
  background-position: 0 100%;
}

.sblock-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sblock-card-img {
  width: 100%;
}

.sblock-card-title {
  font-family: "General Sans";
  font-weight: 500;
  font-size: 24px;
  line-height: 32px;
  color: var(--color-White);
  margin: 0;
}

.sblock-card-btn {
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  color: var(--color-White);
}

.sblock-card-btn:hover {
  color: var(--color-Mushroom);
}

#page-header {
  padding: 20px 0;
  text-align: center;
}

#page-header .section-cover {
  display: none;
}

.page-header-title {
  font: var(--font-title-xxlarge);
  font-size: 28px;
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0;
}

/* WooCommerce category archive overrides — forced specificity so the
   product-category pages can't fall back to the oversized default header */
.tax-product_cat .page-header,
.tax-product_cat #page-header,
.woocommerce-products-header {
  padding-top: 32px !important;
  padding-bottom: 16px !important;
}

.tax-product_cat .page-header .section-cover,
.tax-product_cat #page-header .section-cover,
.woocommerce-products-header .section-cover {
  display: none !important;
}

.tax-product_cat .page-title,
.tax-product_cat .page-header-title,
.woocommerce-products-header .page-title {
  font-size: 28px !important;
}

.page-header-seo {
  padding: 12px 0 0;
  /* #header is position:fixed (measured render height ~100px desktop / ~81px
     mobile) and overlaps normal document flow — without this offset
     .page-header-seo (and its breadcrumb link) renders underneath it, which
     also silently blocks clicks on the breadcrumb. 56px clears the header
     (which sits ~40px above this element via #page-header's own padding)
     with a small buffer — do not drop this below ~40px or the breadcrumb
     will render under the fixed nav. */
  margin: 56px 0 16px;
  text-align: left;
}

.page-header-breadcrumb {
  font: var(--font-desc-xsmall);
  color: var(--color-Neutral-500);
  margin: 0;
  text-align: left;
}

.page-header-breadcrumb a {
  color: var(--color-SealBrown);
  cursor: pointer;
}

.page-header-breadcrumb a:hover {
  color: var(--color-Neutral-1000);
  text-decoration: underline !important;
}

#page-header .page-header-filter {
  /* Tight enough to read as the same filter area as the "Narrow by …" chip rows directly above
     (their own row-to-row gap is 16px — see .page-header-chip-rows), not a separate section. */
  margin-top: 8px;
}

.page-header-category-title {
  font: var(--font-title-xsmall);
  color: var(--color-SealBrown);
  margin: 15px 0 0;
  text-align: left;
}

.page-header-category-description {
  font: var(--font-desc-xsmall);
  color: var(--color-SealBrown);
  margin: 15px 0 0;
  max-width: 100%;
  text-align: left;
}

.show-more-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 400px;
  margin: 150px auto 0;
  text-align: center;
}

.show-more-progress-text {
  font: var(--font-desc-xsmall);
  color: var(--color-Neutral-700);
  margin: 0;
}

.show-more-count-shown,
.show-more-count-total {
  color: var(--color-SealBrown);
  font-weight: 500;
}

.show-more-progress-bar {
  width: 100%;
  height: 4px;
  background-color: var(--color-Neutral-100);
  border-radius: 2px;
  overflow: hidden;
}

.show-more-progress-bar-fill {
  height: 100%;
  background-color: var(--color-CarpetRed);
  border-radius: 2px;
  transition: width .4s ease;
}

.show-more-btn {
  width: 100%;
}

.show-more-btn.button-large {
  height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.show-more-btn.button-fill-primary {
  background-color: #780000;
  border-color: #780000;
  background-image: none;
}

.show-more-btn.button-fill-primary:hover {
  background-color: #ac1f1f;
  border-color: #ac1f1f;
  color: var(--color-White);
}

.show-more-btn.is-loading {
  opacity: .6;
  pointer-events: none;
}

.show-more-back-to-top {
  background: none;
  border: none;
  padding: 0;
  font: var(--font-desc-xsmall);
  color: var(--color-Neutral-500);
  cursor: pointer;
  text-decoration: underline;
}

.show-more-back-to-top:hover {
  color: var(--color-SealBrown);
}

.page-header-subtitle {
  font: var(--font-subtitle-small);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--color-SealBrown);
  margin: 40px 0 0;
}

.section-page-hero {
  background: #2d1717;
  color: var(--color-White);
  overflow: clip;
}

.section-page-hero .section-wrapper {
  margin: auto 0;
}

.section-page-hero .section-title,
.section-page-hero .section-subtitle {
  color: inherit;
}

.section-page-hero .section-bg {
  object-fit: cover;
  animation: parallaxY linear;
  animation-timeline: view();
  animation-range: entry cover;
}

@keyframes parallaxY {
  from {
    transform: scale(1) translateY(-25%);
  }

  to {
    transform: scale(1.5) translateY(25%);
  }
}

.section-contact-form {
  overflow: hidden;
}

.section-contact-form .row>div {
  position: relative;
}

.contact-form-before,
.contact-form-after {
  position: absolute;
  top: 0;
  width: 100vw;
  height: 100%;
  background-image: url(../img/pattern-contact-form.svg);
  background-repeat: repeat-x;
  background-size: auto 100%;
}

.contact-form-before {
  background-position: right center;
  right: 0;
}

.contact-form-after {
  background-position: left center;
  left: 0;
}

.section-contact-form .section-title {
  font-size: 40px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0.8px;
  color: var(--color-Black);
}

#contact-form .form-control {
  padding-left: 0;
  padding-right: 0;
  border-bottom-color: var(--color-Black);
  border-top: none;
  border-left: none;
  border-right: none;
}

#contact-form .form-control:focus {
  border-bottom-color: #2d1717;
}

#contact-form textarea.form-control {
  resize: none;
}

.page-header-filter {
  margin-top: 60px;
}

.filter-text {
  width: 100%;
  padding: 12px 4px;
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-1000);
  border: none;
}

.page-header-filter-active {
  padding-top: 16px;
  border-top: 1px solid var(--color-Neutral-700);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 16px;
  row-gap: 16px;
}

.page-header-filter-active .filter-tag {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 4px 14px;
  gap: 4px;
  height: 32px;
  background: var(--color-Neutral-50);
  color: var(--color-Neutral-900);
  border-radius: 40px;
  line-height: 1;
  font-weight: 400;
  font-size: 14px;
  cursor: pointer;
}

.page-header-filter-active .filter-tag:hover {
  background: var(--color-Neutral-1000);
  color: var(--color-White);
}

.page-header-filter-active .filter-tag::after {
  width: 20px;
  height: 20px;
  background: url(../img/icon-close.svg) no-repeat center/cover;
  filter: brightness(0) invert(0) opacity(.4);
  content: "";
}


.page-header-filter-active .filter-tag:hover::after {
  filter: brightness(0) invert(1);
}

.page-header-filter-reset {
  color: var(--color-CarpetRed);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  background: none;
  border: none;
  padding: 0;
}

.page-header-filter-reset:hover {
  color: var(--color-Black);
}

/* Consolidated filter bar (result count + active pills + Clear all on the left, standalone Sort
   + the "Filter" button on the right) — replaces the old always-inline Price/Size/Color/Design/
   Origin/Sort grid; those 5 dimensions (Sort excluded, now standalone) moved into #filter-modal
   below (originally as cards, since restructured again into the list→submenu pattern — see the
   .filter-modal-screen rules further down). Every rule here is written with flexbox/grid + logical
   (inset-inline-*) properties rather than left/right, so it mirrors correctly under dir="rtl"
   with no separate main.rtl.css override needed — confirmed, not just assumed, against every
   declaration below before treating main.rtl.css as untouched for this task. */
.page-header-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.page-header-filter-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  /* Matches .page-header-chip-row-chips' own inner gap (10px), not the 16px row-to-row gap —
     this is a single row's internal spacing, same category as that one. */
  gap: 10px;
}

.page-header-filter-count {
  /* Same font weight/size/color treatment as .page-header-chip-row-label directly above it — no
     text-transform:uppercase (that read noticeably heavier/louder than the Narrow-by labels). */
  font-size: 14px;
  font-weight: 500;
  color: var(--color-Neutral-700);
  white-space: nowrap;
}

.page-header-filter-summary .page-header-filter-active {
  padding-top: 0;
  border-top: none;
}

.page-header-filter-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.page-header-sort {
  min-width: 180px;
  border: var(--border);
  padding: 0 14px;
}

/* Shrunk from the 10px/24px-icon default so this dropdown's overall height sits close to the
   FILTER button's own tightened height just below, instead of both towering over the compact
   Narrow-by pills on the same row. */
.page-header-sort .select-selected {
  padding: 8px 0;
  font-size: 14px;
}

.page-header-sort .select-selected::after {
  width: 18px;
  height: 18px;
}

.page-header-sort .select-items {
  inset-inline-start: -1px;
  top: calc(100% + 4px);
}

.page-header-sort .select-items label {
  font-size: 14px;
}

/* Reuses .button/.button-outline-primary's existing look (uppercase, brand-red outline/fill-on-
   hover) — same button language as the rest of the site — just sized down from that component's
   default 44-48px height so it doesn't dwarf the rest of this now-compact row. Scoped to this one
   class (single use, see header-shop.php) rather than touching .button-outline-primary itself,
   which is shared by other, unrelated buttons across the theme. */
.filter-modal-toggle {
  position: relative;
  height: 36px;
  padding: 0 16px;
  font-size: 14px;
}

.filter-modal-badge {
  position: absolute;
  top: -8px;
  inset-inline-end: -8px;
  background: var(--color-Black);
  color: var(--color-White);
  font-size: 12px;
  line-height: 1;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Filter modal — same fixed full-viewport overlay mechanics as #sidebar (the main nav's own
   overlay, toggled the same way: an .active class plus a dynamically-inserted .body-overlay and
   a body state class, see shop.js) reused here rather than a new overlay pattern, sized as a
   centered dialog on larger screens and expanding to a full-screen takeover at/below the tablet
   breakpoint — matching the reference's mobile behavior the same way #sidebar already looks on
   every screen size. */
.filter-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1001;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.filter-modal.active {
  display: flex;
}

/* Narrower than the old 2-column card grid's 720px — a single-column row list (both the main
   list and every submenu) reads better as a compact app-like panel than a wide sheet. */
.filter-modal-dialog {
  background: var(--color-White);
  width: 100%;
  max-width: 440px;
  max-height: 85vh;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.filter-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 24px;
  /* A light hairline, not --border's near-black Neutral-900 — reusing the theme's own existing
     "subtle list divider" convention (.product-info>li already uses this exact 0.5px Neutral-200
     rule for the same kind of label/value row list) rather than inventing a new color. */
  border-bottom: 0.5px solid var(--color-Neutral-200);
  flex-shrink: 0;
}

.filter-modal-title {
  font-size: 18px;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0;
  color: var(--color-Neutral-1000);
}

.filter-modal-close {
  width: 32px;
  height: 32px;
  margin: -4px;
  background: url(../img/icon-close.svg) no-repeat center/20px;
  border: none;
  padding: 0;
  font-size: 0;
  cursor: pointer;
  flex-shrink: 0;
  border-radius: 50%;
}

.filter-modal-close:hover {
  background-color: var(--color-Neutral-50);
}

.filter-modal-body {
  padding: 8px 24px 24px;
  overflow-y: auto;
  flex: 1;
}

.filter-modal-footer {
  padding: 18px 24px;
  border-top: 0.5px solid var(--color-Neutral-200);
  flex-shrink: 0;
}

/* One screen at a time inside the dialog: the main list (default) or one dimension's submenu.
   Switching screens (shop.js) just toggles which sibling carries .active — see header-shop.php
   for why each screen owns a full header+body+footer trio instead of one shared, content-
   swapping header/footer, matching the task's "list screen" vs "submenu screen" as two distinct
   views rather than one view with a mutating header. */
.filter-modal-screen {
  display: none;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.filter-modal-screen.active {
  display: flex;
}

/* Submenu header: back arrow + dimension icon + heading, left-aligned in sequence — replaces the
   list screen's title+close (space-between) layout for this variant. */
.filter-modal-header-submenu {
  justify-content: flex-start;
  gap: 12px;
}

.filter-submenu-back {
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* icon-arrow.svg points right (reused as-is for the main list's own "next filter" chip links
   elsewhere) — flipped here to read as "back" in LTR. main.rtl.css un-flips it, since "back"
   points the other physical way once the reading direction itself reverses. */
.filter-submenu-back img {
  transform: scaleX(-1);
}

.filter-submenu-heading-icon {
  display: inline-flex;
  color: var(--color-CarpetRed);
  flex-shrink: 0;
}

/* Main screen: one row per dimension. */
.filter-list-rows {
  display: flex;
  flex-direction: column;
}

.filter-list-row {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 18px 0;
  background: none;
  border: none;
  border-bottom: 0.5px solid var(--color-Neutral-200);
  text-align: start;
  cursor: pointer;
  font: inherit;
}

.filter-list-row:hover {
  background: var(--color-Neutral-50);
}

.filter-list-rows .filter-list-row:last-child {
  border-bottom: none;
}

.filter-list-row-icon {
  display: inline-flex;
  color: var(--color-Neutral-700);
  flex-shrink: 0;
}

.filter-list-row-label {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0px;
  color: var(--color-Neutral-700);
  text-transform: uppercase;
}

.filter-list-row-value {
  margin-inline-start: auto;
  font-size: 14px;
  color: var(--color-Neutral-500);
  text-align: end;
}

.filter-list-row-chevron {
  flex-shrink: 0;
  opacity: .4;
}

/* Submenu screen: one row per term — swatch/image (Color/Design) or plain text (Size/Origin), an
   invisible native radio driving the actual selection/state (same [name]/[value] pairs the rest
   of the filter system already reads — see build_filter_query_args(), untouched), and a checkmark
   revealed on the checked row via :has() rather than a second JS-driven "selected" class. */
.filter-submenu-rows {
  display: flex;
  flex-direction: column;
}

.filter-submenu-row {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 16px 0;
  border-bottom: 0.5px solid var(--color-Neutral-200);
  cursor: pointer;
  position: relative;
}

.filter-submenu-row:hover {
  background: var(--color-Neutral-50);
}

.filter-submenu-rows .filter-submenu-row:last-child {
  border-bottom: none;
}

.filter-submenu-row input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.filter-submenu-row-swatch {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid var(--color-Neutral-200);
  background-size: cover;
  background-position: center;
}

.filter-submenu-row-swatch-image {
  border-radius: 6px;
}

.filter-submenu-row-name {
  font-size: 15px;
  color: var(--color-Neutral-1000);
}

.filter-submenu-row-name small {
  display: block;
  font-size: 12px;
  color: var(--color-Neutral-500);
}

.filter-submenu-row.disabled {
  opacity: .4;
  pointer-events: none;
}

.filter-submenu-row:has(input:checked) .filter-submenu-row-name {
  color: var(--color-CarpetRed);
  font-weight: 500;
}

/* Small checkmark on the checked row, same CarpetRed as its own selected-state text. No existing
   asset is a checkmark shape (checked earlier), so this masks a hand-drawn one — same stroke-
   based convention as Shop::dimension_row_icon_svg()'s PHP-inlined icons, done in CSS here since
   it's a fixed, non-per-term glyph with nothing to parameterize. */
.filter-submenu-row:has(input:checked)::after {
  content: "";
  margin-inline-start: auto;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-color: var(--color-CarpetRed);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") no-repeat center / contain;
}

.filter-submenu-ok {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 767.98px) {
  .filter-modal {
    padding: 0;
  }

  .filter-modal-dialog {
    max-width: 100%;
    max-height: 100dvh;
    height: 100dvh;
    border-radius: 0;
  }

  .page-header-filter-controls {
    width: 100%;
  }

  .page-header-sort {
    flex: 1;
    min-width: 0;
  }

  .filter-modal-toggle {
    flex: 1;
  }
}

/* Chip rows (pa_* archive pages, single-attribute or chained, and product_cat category pages —
   up to 3 rows: Origin, Color, Shape). Pill shape and hover color reuse .page-header-filter-active
   .filter-tag's / .show-more-btn's own established language (40px pill radius, #780000 ->
   #ac1f1f on hover) rather than new values. */
.page-header-chip-rows-wrap {
  margin-top: 24px;
}

.page-header-chip-rows {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Mobile-only "Narrow your search" toggle (see the max-width:767.98px block below) — hidden on
   desktop, where the rows stay always-visible exactly as before. Kept in the DOM at every width
   rather than PHP-gated so no server-side UA sniffing is needed; CSS alone decides visibility. */
.page-header-chip-rows-toggle {
  display: none;
}

/* Label now sits inline as the row's own first chip-row item (not a separate line above it) —
   flex-shrink:0/white-space:nowrap so it never wraps or gets squeezed by the chips beside it. */
.page-header-chip-row-label {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-700);
}

.page-header-chip-row-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.next-filter-chip {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 4px 14px;
  height: 32px;
  background: var(--color-Neutral-50);
  color: var(--color-Neutral-900);
  border-radius: 40px;
  line-height: 1;
  font-weight: 400;
  font-size: 14px;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.next-filter-chip:hover {
  background-color: #780000;
  color: var(--color-White);
}

.next-filter-chip-count {
  opacity: .6;
}

.next-filter-chip:hover .next-filter-chip-count {
  opacity: .85;
}

/* Per-dimension chip visuals (color swatch / shape icon / origin thumbnail) — sized to sit
   inside the existing 32px-tall pill without dominating it, brand-red accent ring on hover
   instead of Nain's flat grayscale treatment. */
.next-filter-chip-swatch {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, .15);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .6) inset;
}

.next-filter-chip:hover .next-filter-chip-swatch {
  border-color: rgba(255, 255, 255, .7);
}

.next-filter-chip-icon {
  display: inline-flex;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--color-Neutral-700);
}

.next-filter-chip-icon svg {
  width: 100%;
  height: 100%;
}

.next-filter-chip:hover .next-filter-chip-icon {
  color: var(--color-White);
}

.next-filter-chip-thumb {
  flex-shrink: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(120, 0, 0, .25);
}

.next-filter-chip-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.next-filter-chip:hover .next-filter-chip-thumb {
  border-color: var(--color-White);
  box-shadow: 0 0 0 1px #780000;
}

/* .next-filter-chip's own `display: inline-flex` (author CSS) would otherwise override the
   browser's default `[hidden] { display: none }` (user-agent CSS always loses to author CSS for
   the same property, regardless of specificity) — without this, a chip past the "Show more" cap
   would still render despite its `hidden` attribute. */
.next-filter-chip[hidden] {
  display: none;
}

/* "Show more" per-row control — an outline variant of the same pill so it reads as part of the
   chip row rather than a separate action button. */
.next-filter-chip-more {
  background: none;
  border: 1px solid var(--color-Neutral-200);
  color: var(--color-CarpetRed);
  font-family: inherit;
  cursor: pointer;
}

.next-filter-chip-more:hover {
  background-color: #780000;
  border-color: #780000;
  color: var(--color-White);
}

/* Mobile: all 3 chip rows collapse behind one "Narrow your search" toggle, collapsed by default.
   The rows stay in the initial HTML regardless (chip-rows.php never gates them on viewport) — this
   only ever hides them visually, via max-height/opacity rather than `display:none`/`[hidden]`, so
   `[hidden]`'s own override two rules up is untouched and every chip link (including ones already
   past the "Show more" cap) stays crawlable on first load. Desktop is completely unaffected: the
   toggle stays `display:none` there (rule above) and .page-header-chip-rows keeps its default,
   always-expanded flex layout. */
@media (max-width: 767.98px) {
  .page-header-chip-rows-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    padding: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-Neutral-700);
    cursor: pointer;
  }

  .page-header-chip-rows-toggle-icon {
    font-size: 11px;
    transition: transform .2s ease;
  }

  .page-header-chip-rows-wrap.is-expanded .page-header-chip-rows-toggle-icon {
    transform: rotate(180deg);
  }

  .page-header-chip-rows {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .3s ease, opacity .2s ease;
  }

  .page-header-chip-rows-wrap.is-expanded .page-header-chip-rows {
    /* Generous enough for 3 rows' worth of single-line content — real height is always smaller
       than this once each row no longer wraps (see the nowrap/overflow-x rule below), so this
       cap never visibly clips anything, it's just what lets the CSS transition animate at all. */
    max-height: 600px;
    opacity: 1;
    margin-top: 16px;
  }

  /* Each row becomes one horizontally-scrollable line instead of wrapping — label and chips
     alike never shrink or wrap, so the row stays exactly one line tall and compact regardless of
     how many chips it holds (including ones already past the "Show more" cap, once revealed). */
  .page-header-chip-row-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  .page-header-chip-row-chips .next-filter-chip {
    flex-shrink: 0;
  }
}

.range-slider {
  direction: ltr;
}

.range-slider-track {
  width: 100%;
  height: 2px;
  background: var(--color-Neutral-50);
  position: relative;
}

.range-slider-bar {
  position: absolute;
  height: 100%;
  background: var(--color-Thunderbird);
  z-index: 1;
}

.range-slider-thumb {
  width: 12px;
  height: 12px;
  background: var(--color-Thunderbird);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 2;
}

.range-slider-label {
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.range-slider-label>span {
  font-weight: 550;
  font-size: 16px;
  line-height: 1;
  color: rgba(0, 0, 0, 0.8);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-transform: lowercase;
}

.range-slider-label>span[data-title]::before {
  content: attr(data-title);
  font-weight: 400;
  font-size: 14px;
  color: var(--color-Neutral-500);
}

.product-sidebar-footer {
  padding-top: 30px;
}

.product-sidebar-header {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 0.94vw + 16.48px, 30px);
}

.product-info-title {
  font: var(--font-title-medium);
  font: var(--font-title-xxsmall);
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0;
}

.product-info-subtitle {
  font-size: 24px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-700);
  margin: 0;
}

.product-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.product-style-desc {
  font-size: 16px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
  margin: 0 0 20px;
}

.product-style-action {
  background: rgba(172, 31, 31, 0.1);
  padding-top: clamp(15px, 1.43vw + 9.43px, 30px);
  padding-bottom: clamp(15px, 1.43vw + 9.43px, 30px);
  line-height: 1.2;
  height: auto;
  text-wrap: unset;
}

.product-style-action::before {
  min-width: 24px;
  max-width: 24px;
  height: 24px;
  margin-right: 12px;
  background: url(../img/icon-loading.svg) no-repeat center/cover;
  content: "";
}

.product-style-action:hover {
  background: var(--color-CarpetRed);
}

.product-style-action:hover::before {
  filter: brightness(0) invert(1);
}

.product-sidebar-img {
  width: 100%;
}

.product-info-price {
  font: var(--font-subtitle-large);
  letter-spacing: 0px;
  color: var(--color-Neutral-1000);
}

.product-info {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 16px;
  line-height: normal;
  letter-spacing: 0px;
  border-top: 0.5px solid var(--color-Neutral-200);
}

.product-info>li {
  display: flex;
  justify-content: space-between;
  border-bottom: 0.5px solid var(--color-Neutral-200);
  padding: 12px 0;
}

.product-info>li>strong {
  font-weight: normal;
  color: var(--color-Neutral-700);
  margin-right: 30px;
}

.product-info>li>div {
  font-weight: 500;
  color: var(--color-Neutral-1000);
}

#product-style.modal {
  padding: 115px 0;
}

#product-style.modal .modal-header {
  flex-direction: column;
  border: none;
}

#product-style.modal .modal-title::before {
  width: 40px;
  height: 40px;
  margin: 0 auto 20px;
  background: url(../img/icon-loading.svg) no-repeat center/cover;
  display: block;
  content: "";
}

#product-style.modal .modal-dialog {
  margin: 0 auto;
}

.woocommerce-store-notice__dismiss-link,
#product-style.modal .modal-header>.close {
  background: url(../img/icon-close.svg) no-repeat center/cover;
  width: 28px;
  height: 28px;
  border: none;
  padding: 0;
  position: absolute;
  top: 32px;
  right: 32px;
  display: inline-flex;
  vertical-align: middle;
  font-size: 0;
}

#product-style.modal .modal-title {
  font: var(--font-desc-large);
  letter-spacing: 0px;
  color: var(--color-Thunderbird);
  text-align: center;
  margin: 0;
}

.product-ar {
  background: rgba(183, 146, 122, 0.2);
  padding: clamp(15px, 4.23vw - 0.85px, 60px) clamp(15px, 4.23vw - 0.85px, 60px) 0;
  text-align: center;
}

.product-ar>.row>div:nth-child(2) {
  display: flex;
  flex-direction: column;
  justify-content: end;
}

.product-ar-header {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: clamp(15px, 4.23vw - 0.85px, 60px);
}

.product-ar-title {
  font: var(--font-title-small);
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0;
}

.product-ar-body {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(15px, 1.41vw + 9.72px, 30px);
}

.product-ar-desc {
  font: var(--font-subtitle-small);
  letter-spacing: 0px;
  color: var(--color-SealBrown);
}

.product-ar-img {
  width: 100%;
  object-fit: cover;
  object-position: top center;
  aspect-ratio: 1/1;
}

.product-tip {
  background: rgba(34, 14, 14, 0.05);
  padding: clamp(15px, 2.35vw + 6.20px, 40px);
  margin-top: 20px;
}

.product-tip-title {
  font: var(--font-title-xxsmall);
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0;
}

.product-tip-desc {
  font-size: 14px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
  opacity: 0.8;
  margin-top: 24px;
}

.product-tip-card-title {
  font: var(--font-subtitle-small);
  letter-spacing: 0px;
  color: var(--color-Thunderbird);
  margin: 0;
}

.product-tip-card-desc {
  font: var(--font-desc-xsmall);
  letter-spacing: 0px;
  color: var(--color-SealBrown);
  opacity: 0.8;
  margin-top: 12px;
}

.product-tip-card-desc ul {
  list-style-type: square;
  list-style-position: inside;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.product-tip-card-desc>p:last-child,
.product-tip-card-desc>ul:last-child {
  margin-bottom: 0;
}

.product-feature {
  margin-top: 20px;
}

.product-feature-card {
  background: rgba(120, 0, 0, 0.05);
  padding: clamp(15px, 2.35vw + 6.20px, 40px);
  height: 100%;
}

.product-feature-card-title {
  font: var(--font-title-xxsmall);
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0;
}

.product-feature-card-desc {
  font: var(--font-desc-xsmall);
  letter-spacing: 0px;
  color: var(--color-SealBrown);
  margin-top: 24px;
}

.product-feature-card-desc ul {
  list-style-type: square;
  list-style-position: inside;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 0;
}

.product-feature-card-desc>p:last-child,
.product-feature-card-desc>ul:last-child {
  margin-bottom: 0;
}

.product-feature-card-footer {
  margin-top: 32px;
}

.product-feature-card-icon {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 20px;
}

.product-feature-card-icon img {
  height: 80px;
}

.product-pattern {
  background: rgba(183, 146, 122, 0.2);
  padding: 40px;
  margin-top: 20px;
}

.product-pattern-title {
  font-family: "FH Ampersand Display";
  font-size: 42px;
  font-weight: normal;
  line-height: 42px;
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0;
}

.product-pattern-desc {
  font-size: 16px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
  margin-top: 24px;
  -moz-columns: 2;
  -webkit-columns: 2;
  columns: 2;
  -webkit-column-gap: 24px;
  -moz-column-gap: 24px;
  column-gap: 24px;
}

.section-about-hero {
  background: var(--color-SealBrown);
  color: var(--color-White);
}

.section-about-hero .section-title {
  font: var(--font-title-xxlarge);
  color: inherit;
}

.section-about-hero-2 .section-desc {
  font: var(--font-desc-medium);
  text-align: center;
  letter-spacing: 0px;
  color: var(--color-White);
}

.section-about-intro .section-title {
  font: var(--font-title-xsmall);
  color: var(--color-SealBrown);
}

.section-about-intro .section-desc {
  font: var(--font-desc-large);
  text-align: center;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
}

.section-about-certificate .section-title,
.section-about-member .section-title,
.section-about-mission .section-title,
.section-about-vision .section-title {
  font: var(--font-title-xlarge);
  color: var(--color-SealBrown);
}

.section-about-mission .section-desc,
.section-about-vision .section-desc {
  font: var(--font-desc-small);
  letter-spacing: 0px;
  color: var(--color-SealBrown);
}

.section-about-gallery {
  overflow: hidden;
}

.about-gallery-carousel {
  overflow: visible;
}

.about-gallery-carousel::before {
  height: 100%;
  width: 100vw;
  background: var(--color-White);
  position: absolute;
  top: 0;
  right: 100%;
  z-index: 1;
  content: "";
}

.about-gallery-carousel .swiper-wrapper {
  overflow: visible;
}

.about-gallery-carousel .about-gallery-card {
  width: 100%;
  height: 100%;
}

.about-gallery-carousel .about-gallery-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.member-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1/1;
}

.member-card-body {
  padding-top: 12px;
}

.member-card-title {
  font: var(--font-desc-small);
  letter-spacing: 0px;
  color: var(--color-SealBrown);
  margin: 0;
}

.member-card-subtitle {
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
  margin: 5px 0 0;
}

.section-about-service {
  background: var(--color-Mushroom);
}

.section-about-service .section-desc {
  font: var(--font-desc-medium);
  text-align: center;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
}

.certificate-card {
  display: flex;
  justify-content: center;
  align-items: center;
}

.certificate-card-img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
}

.faq-tab-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

.faq-tab-nav>li>a {
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-1000);
  opacity: 0.75;
}

.faq-tab-nav>li.active>a {
  color: var(--color-Thunderbird);
  opacity: 1;
  display: inline-flex;
  align-items: center;
}

.faq-tab-nav>li.active>a::before {
  background-color: var(--color-Thunderbird);
  width: 8px;
  height: 8px;
  margin-right: 12px;
  content: "";
}

.accordion-list .accordion-card:not(.active) .accordion-card-body {
  display: none;
}

.faq-list {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.faq-list>div:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.faq-card-header {
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.faq-card-header::after {
  width: 24px;
  height: 24px;
  background: url(../img/icon-add.svg) no-repeat center/cover;
  margin-left: 12px;
  display: block;
  content: "";
}

.faq-card.active .faq-card-header::after {
  background-image: url(../img/icon-remove.svg);
}

.faq-card-title {
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Black);
  margin: 0;
}

.faq-card-body {
  font-size: 20px;
  font-weight: normal;
  line-height: 28px;
  letter-spacing: 0px;
  color: rgba(0, 0, 0, 0.8);
  padding-bottom: 22px;
}

.section-cta .section-header {
  padding-top: 80px;
}

.section-cta .section-title {
  font-size: 64px;
}

.section-cta .section-subtitle {
  font-size: 20px;
  font-weight: 500;
  margin: 20px 0 0;
}

.section-cta .section-nav {
  margin: 40px 0 0;
}

.masonry-grid-item {
  padding-bottom: 24px;
}

.social-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.social-card-profile>img {
  width: 36px;
  height: 36px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  margin-right: 12px;
}

.social-card-profile>strong {
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  text-align: center;
  text-transform: lowercase;
  letter-spacing: 0px;
  color: var(--color-Black);
}

.social-card-icon>img {
  height: 24px;
}

.social-card-body {
  margin-top: 12px;
}

.social-card-img {
  width: 100%;
  border-radius: 4px;
}

.social-card-footer {
  margin-top: 12px;
}

.social-card-desc {
  font-size: 16px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Black);
}

.zoom-lens {
  background-color: var(--color-White);
  transition: background-position 0.1s ease-out;
  cursor: zoom-in;
}

.presentation-card-image {
  cursor: zoom-in;
}

.presentation-card-image>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.presentation-card-text,
.presentation-card-quote {
  font-size: 24px;
  font-weight: normal;
  color: var(--color-SealBrown);
}

.presentation-card-quote {
  padding: 32px;
  background: rgba(183, 146, 122, 0.25);
}

#infinite-loading {
  margin: 20px auto;
  display: none;
  text-align: center;
}

.section-blog-single .section-header {
  text-align: start;
  padding-top: 100px;
}

.shop-table-thumbnail {
  width: 60px;
  height: 60px;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.section-collection-hero {
  background-color: var(--color-CarpetRed);
}

.section-collection-hero .section-title {
  color: var(--color-White);
}

.section-collection-intro {
  background: var(--color-Mushroom);
}

.section-collection-intro .section-desc {
  font: var(--font-desc-medium);
  letter-spacing: 0px;
  text-align: center;
  color: var(--color-SealBrown);
}

.account-wrapper {
  min-height: 100dvh;
}

.account-hero {
  background: var(--color-BulgarianRose);
  min-height: 100dvh;
  position: sticky;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.account-hero-bg {
  width: auto;
  max-width: 80%;
  height: 71.6049383%;
  object-fit: contain;
}

.account-mainbar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 30px;
  height: 100dvh;
}

.account-header {
  margin-bottom: auto;
  width: 100%;
  position: relative;
}

.account-btn {
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-SealBrown);
}

.account-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.account-card {
  width: 100%;
  margin: 0 0 auto;
}

.account-card-header {
  margin-bottom: 60px;
}

.account-card-footer {
  margin-top: 24px;
  text-align: center;
}

.account-card-img {
  height: 40px;
}

.account-card-title {
  font-family: "FH Ampersand Display";
  font-size: 64px;
  font-weight: normal;
  line-height: 64px;
  letter-spacing: -0.8px;
  color: var(--color-BulgarianRose);
}

.account-card-switch {
  font-size: 14px;
  font-weight: 500;
  line-height: 125%;
  letter-spacing: 0px;
  color: var(--color-Neutral-400);
  margin-top: 30px;
}

.account-card-switch>a {
  color: #9d3136;
}

#sidebar+.section:first-of-type .section-wrapper {
  padding-top: 180px !important;
}

/* Custom Rug */
.custom-wizard-inner {
  width: 100vw;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.section-custom .section-tab {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.section-custom .section-tab>li>a,
.section-custom .section-tab>li>button {
  padding: 8px clamp(15px, 0.47vw + 13.24px, 20px);
  gap: 4px;
  height: 48px;
  border-radius: 25px;
  border: 1px solid var(--color-Black);
  color: var(--color-Black);
  font: var(--font-subtitle-large);
  font-weight: 400;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.section-custom .section-tab>li.active~li>a,
.section-custom .section-tab>li.active~li>button {
  border-color: var(--color-Neutral-100);
  color: var(--color-Neutral-300);
}

.section-custom .section-tab>li.active>a,
.section-custom .section-tab>li.active>button {
  border-color: var(--color-Thunderbird);
  color: var(--color-Thunderbird);
}

.section-custom .section-tab>li>button[type="submit"] {
  background: var(--color-Thunderbird);
  color: var(--color-White);
}

.section-custom h1.section-title {
  font: var(--font-title-large);
  letter-spacing: -0.8px;
  color: var(--color-Black);
}

.section-custom h2.section-title {
  font: var(--font-title-xxsmall);
  letter-spacing: -0.8px;
  color: var(--color-Black);
}

.section-custom .section-desc {
  font: var(--font-subtitle-small);
  letter-spacing: 0.8px;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-Black);
  opacity: 0.5;
  margin: 40px 0 0;
}

.custom-shape-group {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 20px;
  text-align: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.custom-shape {
  cursor: pointer;
  position: relative;
}

.custom-shape {
  display: block;
  margin: 0 auto;
  background: var(--color-Mushroom);
}

.custom-shape-square {
  width: 120px;
  aspect-ratio: 1/1;
}

.custom-shape-rectangular {
  width: 120px;
  aspect-ratio: 2/3;
}

.custom-shape-round {
  width: 120px;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.custom-shape-runner {
  width: 70px;
  aspect-ratio: 1/4;
}

.custom-size-group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.custom-size-group>div {
  width: 50%;
  max-width: 150px;
}

.custom-size-shape {
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 1/1;
  display: block;
  margin: 0 auto;
  background: var(--color-Mushroom);
  opacity: 0.5;
  transition: all 300ms ease-in-out;
}

h3[class*=card-title]>a {
  color: inherit;
}

h3[class*=card-title]>a:hover {
  color: inherit;
}

.section-title>span>span,
.section-subtitle>span,
.section-desc>span,
.page-header-title>span>span,
.page-header-subtitle>span {
  opacity: 0;
}

.custom-summary {
  font: var(--font-subtitle-large);
  color: var(--color-SealBrown);
  background: rgba(183, 146, 122, 0.25);
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: clamp(20px, 1.88vw + 12.96px, 40px);
  list-style: none;
  gap: clamp(12px, 1.13vw + 7.77px, 24px);
  height: 100%;
}


.custom-summary>li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0px;
  gap: 10px;
  border-bottom: 0.5px solid var(--color-Neutral-200);
}

.custom-summary>li>span {
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: var(--color-Neutral-700);
}

.custom-summary>li>div {
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  color: var(--color-Neutral-1000);
}

.wizard-select .swiper-button-prev,
.wizard-select .swiper-button-next {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--color-BulgarianRose);
  top: 50%;
  transform: translateY(-50%);
}

.wizard-select .swiper-button-prev:hover,
.wizard-select .swiper-button-next:hover {
  background: var(--color-Thunderbird);
}

.wizard-select .swiper-button-prev::after,
.wizard-select .swiper-button-next::after {
  width: 60%;
  height: 60%;
  background: url(../img/icon-arrow.svg) no-repeat center/cover;
  filter: brightness(0) invert(1);
  content: '';
}

.wizard-select .swiper-button-prev::after {
  transform: scaleX(-1);
}

.wizard-select-card-img {
  width: 100%;
}

.wizard-swiper>.swiper-wrapper>.swiper-slide.swiper-slide-active .wizard-select {
  overflow: visible;
}

.wizard-select .swiper-slide:not(.swiper-slide-active) {
  opacity: .2;
}

.wizard-select-card {
  position: relative;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wizard-select .swiper-slide {
  width: fit-content;
  max-width: 250px;
}

.wizard-select-card input {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.wizard-select-card-title,
.wizard-select-card-subtitle {
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  text-transform: uppercase;
  color: var(--color-Black);
  margin: 0;
}

.wizard-select-card-subtitle {
  font-weight: 500;
}

/* Art */
.page-template-page-art #footer {
  display: none;
}

.slide-menu {
  position: fixed;
  display: flex;
  justify-content: center;
  padding: 0 clamp(36px, 0.75vw + 33.18px, 44px);
  bottom: 50px;
  left: 0;
  right: 0;
  z-index: 100;
}

.slide-menu>button {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background: none;
  padding: clamp(4px, 0.19vw + 3.30px, 6px) clamp(10px, 0.94vw + 6.48px, 20px);
  gap: 4px;
  border: 1px solid var(--color-Neutral-100);
  border-radius: 25px;
  font: var(--font-subtitle-large);
  color: var(--color-Neutral-300);
  position: static !important;
  width: fit-content !important;
}

.slide-menu>ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  padding: 20px 32px;
  background: var(--color-White);
  border: 1px solid var(--color-Neutral-100);
  border-radius: 20px;
  counter-reset: menu;
  display: none;
}

.slide-menu>ul>li {
  counter-increment: menu;
}

.slide-menu>ul>li>a {
  padding: 12px 0px;
  border-bottom: 1px solid var(--color-Neutral-100);
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  color: var(--color-Neutral-400);
  display: flex;
  align-items: center;
  gap: 20px;
  white-space: nowrap;
}

.slide-menu>ul>li>a:hover {
  color: var(--color-Thunderbird);
}

.slide-menu>ul>li>a::before {
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: var(--color-Neutral-300);
  content: counter(menu, decimal);
}

.slide-menu>ul>li:last-child>a {
  border-bottom: none;
}

.art-slideshow {
  height: 100dvh;
}

.slide {
  background: var(--color-White);
  width: 100vw;
  height: fit-content;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 100px 0 50px;
}

.slide-inner {
  width: 100%;
  max-width: 1130px;
  padding: 0 30px;
  margin: 0 auto;
  position: relative;
}

.slide-intro-title {
  font: var(--font-title-xlarge);
  letter-spacing: -0.8px;
  color: var(--color-SealBrown);
  margin: 0;
  text-align: center;
  opacity: 0;
  transform: translateY(50px);
  transition: all 700ms 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.swiper-slide-active .slide-intro-title {
  opacity: 1;
  transform: translateY(0);
}

.slide-intro-surtitle {
  font: var(--font-desc-small);
  margin: 0;
  text-align: center;
  color: var(--color-Thunderbird);
  opacity: 0;
  transform: translateY(-50px);
  transition: all 700ms 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.swiper-slide-active .slide-intro-surtitle {
  opacity: 1;
  transform: translateY(0);
}

.slide-intro-surtitle+.slide-intro-title {
  margin-top: 40px;
}

.slide-desc {
  font: var(--font-desc-small);
  text-align: center;
  color: var(--color-Neutral-400);
  max-width: 1000px;
  margin: 0 auto;
  transform: translateY(50px);
  opacity: 0;
  transition: all 700ms 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.swiper-slide-active .slide-desc {
  opacity: 1;
  transform: translateY(0);
}

.slide-desc>b {
  color: var(--color-Neutral-1000);
  font-weight: inherit;
  font-style: inherit;
  opacity: .5;
  transition: opacity 500ms 1000ms linear;
}

.swiper-slide-active .slide-desc>b {
  opacity: 1;
}

.slide-desc>i {
  color: var(--color-Thunderbird);
  font-weight: inherit;
  font-style: inherit;
}

.row+.slide-desc {
  margin-top: 40px;
}

#slide-1A .slide-intro-title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(5px, 1.41vw - 0.28px, 20px);
}

#slide-1A .slide-intro-title .inline-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#slide-1A .slide-intro-title .inline-swiper-1,
#slide-1A .slide-intro-title .inline-swiper-2 {
  margin: 0;
  max-width: 0;
  opacity: 0;
  transition: max-width 500ms 200ms ease-out, opacity 500ms 800ms ease-out;
}

.swiper-slide-active #slide-1A .slide-intro-title .inline-swiper-1,
.swiper-slide-active #slide-1A .slide-intro-title .inline-swiper-2 {
  opacity: 1;
}

.swiper-slide-active #slide-1A .slide-intro-title .inline-swiper-1 {
  max-width: clamp(150px, 4.69vw + 132.39px, 200px);
}

#slide-1A .slide-intro-title .inline-swiper-1 .swiper-slide img {
  width: 100%;
  aspect-ratio: 1/0.75;
}

.swiper-slide-active #slide-1A .slide-intro-title .inline-swiper-2 {
  max-width: clamp(100px, 4.69vw + 82.39px, 150px);
}

#slide-1A .slide-intro-title .inline-swiper-2 .swiper-slide img {
  width: 100%;
  aspect-ratio: 1/1.33333333;
}

#slide-1B .slide-desc {
  font-weight: 540;
  color: var(--color-SealBrown);
  max-width: 900px;
  margin: 0 auto;
}

#slide-5F .slide-desc::before,
#slide-1B .slide-desc::before {
  width: 60px;
  height: 60px;
  background: url(../img/icon-art-quote.svg) no-repeat center/cover;
  display: block;
  margin: 0 auto 20px;
  content: '';
}

.curve-carousel {
  width: 100%;
  overflow: visible;
}

.curve-carousel .swiper-slide {
  width: fit-content;
}

.curve-card {
  width: 300px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 36px;
  text-align: center;
}

.curve-carousel .swiper-slide:not(.swiper-slide-active) {
  opacity: 50% !important;
}

.curve-card-header {
  background: #D9D9D9;
}

.curve-card-img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1.33333333;
  object-fit: cover;
  border-radius: 5px;

}

.curve-card-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.curve-card-title {
  font-weight: 500;
  font-size: 24px;
  line-height: 32px;
  color: var(--color-Neutral-1000);
  margin: 0;
}

.curve-card-subtitle {
  font-weight: 400;
  font-size: 20px;
  line-height: 27px;
  color: var(--color-Neutral-500);
  margin: 0;
}

.product-gallery {
  display: flex;
  align-items: start;
  gap: 20px;
}

.art-gallery {
  display: flex;
  flex-direction: row;
  align-items: end;
  gap: 8px;
}

.art-gallery-large {
  border-radius: 5px;
  overflow: hidden;
}

.art-gallery-large-img {
  background: var(--color-Neutral-50);
}

.art-gallery-large-img img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
}

.art-gallery-thumb {
  flex-direction: column;
  min-width: 40px;
  max-width: 40px;
  max-height: calc((40px * 4) + (8px * 3));
  overflow: hidden;
}

.art-gallery-thumb-img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 1px;
  overflow: hidden;
  cursor: pointer;
}

.art-gallery-thumb-img:not(.swiper-slide-thumb-active) {
  opacity: 0.4;
}

.art-gallery-thumb-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.art-gallery-body {
  display: flex;
  flex-direction: column;
  gap: 30px;
  justify-content: space-between;
  height: 100%;
}

.art-gallery-dots {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.art-gallery-dots>li>img {
  height: 32px;
}

.art-gallery-desc {
  font: var(--font-subtitle-small);
  font-weight: 400;
  line-height: 27px;
  color: var(--color-Black);
}

.art-gallery-desc b {
  font-weight: inherit;
  color: var(--color-Thunderbird);
}

#slide-4E .slide-cover,
#slide-4C .slide-cover,
#slide-4D .slide-video,
#slide-4B .slide-video,
#slide-6B .slide-video {
  max-width: 600px;
  aspect-ratio: 1/.75;
  overflow: hidden;
  text-align: center;
  margin: 0 auto;
  transition: all 0.5s .2s linear;
}

#slide-4E .slide-cover>img,
#slide-4C .slide-cover>img,
#slide-4D .slide-video>video,
#slide-4B .slide-video>video,
#slide-6B .slide-video>video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
  border-radius: 5px;
}

#slide-4E .slide-cover,
#slide-4C .slide-cover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.swiper-slide-active #slide-4E .slide-cover,
.swiper-slide-active #slide-4C .slide-cover {
  max-width: 130px;
  top: 0;
}

.swiper-slide-active #slide-4E .slide-desc,
.swiper-slide-active #slide-4C .slide-desc {
  padding-top: 140px;
  transition: all 0.15s linear;
}

.slide-info-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.slide-info-card-header {
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  overflow: hidden;
}

.slide-info-card-header:has(video) {
  aspect-ratio: unset;
}

.slide-info-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide-info-card-title {
  font: var(--font-desc-xsmall);
  color: var(--color-Neutral-800);
  margin: 0;
}

.slide-desc:not(:has(b)) {
  color: var(--color-Neutral-1000);
}

#slide-6C .slide-desc,
#slide-6D .slide-desc {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

#slide-6C .slide-desc::before,
#slide-6D .slide-desc::before {
  width: 100px;
  height: 100px;
  background: url(../img/icon-art-flower.svg) no-repeat center/contain;
  content: '';
}

.art-subsection-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 10px;
  width: clamp(150px, 4.69vw + 132.39px, 200px);
  flex-wrap: wrap;
  z-index: 1;
}

.art-subsection-nav>li {
  width: calc(33.3333333% - 10px);
}

.art-subsection-nav>li>a {
  width: 100%;
  aspect-ratio: 1/1;
  background: #D9D9D9;
  border-radius: 1px;
  display: block;
  font-size: 0;
  position: relative;
}

.art-subsection-nav>li.active>a::after {
  position: absolute;
  top: 1px;
  bottom: 1px;
  left: 1px;
  right: 1px;
  border: 4px solid var(--color-White);
  border-radius: inherit;
  content: '';
}

.art-subsection-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.art-subsection-title {
  font: var(--font-desc-small);
  margin: 0;
}

.art-subsection-desc {
  font: var(--font-desc-xsmall);
  color: var(--color-Neutral-800);
}

#slide-7A {
  background-color: var(--color-SealBrown);
}

#slide-7A .slide-intro-surtitle {
  font: var(--font-desc-small);
  color: var(--color-Thunderbird);
}

#slide-7A .slide-intro-title {
  color: var(--color-White)
}

.slide-floating {
  margin: 0;
  padding: 0;
  list-style: none;
  opacity: 60%;
}

.slide-floating>li {
  position: absolute;
  transition: transform 0.2s ease-out;
  pointer-events: none;
}

.slide-floating>li>img {
  width: 100%;
}

.slide-floating>li:nth-child(1) {
  width: 246px;
  top: -50%;
  left: 0;
}

.slide-floating>li:nth-child(2) {
  width: 157px;
  top: -55%;
  right: 0;
}

.slide-floating>li:nth-child(3) {
  width: 282px;
  left: 7%;
  top: 100%;
}

.slide-floating>li:nth-child(4) {
  width: 163px;
  left: 50%;
  top: 30%;
}

.slide-floating>li:nth-child(5) {
  width: 230px;
  right: -7%;
  top: 100%;
}

#slide-7B .slide-desc {
  position: relative;
  z-index: 2;
}

.slide-cta-card {
  position: relative;
  aspect-ratio: 1/1.47692308;
  overflow: hidden;
  z-index: 1;
}

.slide-cta-card-body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.slide-cta-card-title {
  font: var(--font-title-xxsmall);
  letter-spacing: -0.8px;
  color: var(--color-White);
  margin: 0;
}

.slide-cta-card-btn {
  font: var(--font-desc-xsmall);
  color: var(--color-White);
  text-transform: uppercase;
}

.slide-cta-collection {
  background: var(--color-Mushroom);
}

.slide-cta-doc {
  background: var(--color-CarpetRed);
}

.slide-cta-doc .slide-cta-icon {
  width: 61.5384615%;
  position: absolute;
  left: 32.3076923%;
  top: 36.4583333%;
  transform: rotate(-20.28deg);
  transform-origin: right top;
}

.slide-cta-doc .slide-cta-icon::before {
  background: var(--color-White);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-5.28deg);
  content: '';
  z-index: -1;
}

.slide-cta-doc .slide-cta-icon>img {
  width: 100%;
  transition: all 150ms linear;
}

.slide-cta-doc:hover .slide-cta-icon>img {
  transform: rotate(-5.28deg);
}

.slide-cta-contact {
  background: var(--color-Neutral-50);
}

.slide-cta-contact .slide-cta-icon {
  width: 120.615385%;
  position: absolute;
  left: 9.84615385%;
  top: 29.4363257%;
}

.slide-cta-contact .slide-cta-icon>img {
  width: 100%;
  transition: all 150ms linear;
}

.slide-cta-contact:hover .slide-cta-icon>img {
  transform: scale(.9);
}

.slide-cta-contact .slide-cta-card-title,
.slide-cta-contact .slide-cta-card-btn {
  color: var(--color-BulgarianRose)
}

.slide-cta-collector {
  height: 50%;
  position: absolute;
  bottom: 100px;
  left: 0;
  right: 0;
  padding: 0 32px;
  z-index: -1;
}

.slide-cta-collector::after {
  background: linear-gradient(270deg, #B7927A 18.33%, rgba(183, 146, 122, 0) 70.82%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
}

.section-custom .wizard-prev,
.section-custom .wizard-next {
  background: var(--color-CarpetRed);
  width: 40px;
  height: 40px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.section-custom .wizard-prev {
  left: 10px;
}

.section-custom .wizard-next {
  right: 10px;
}

.section-custom .wizard-prev>span,
.section-custom .wizard-next>span {
  width: 90%;
  height: 90%;
  background: url(../img/icon-arrow.svg) no-repeat center/cover;
  filter: brightness(0) invert(1);
  font-size: 0;
}

.section-custom .wizard-prev>span {
  transform: scaleX(-1);
}

.map-wrapper {
  position: relative;
}

.map-tab-nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  height: 44px;
  border: 1px solid var(--color-Neutral-100);
  border-radius: 25px;
  position: absolute;
  left: 20px;
  bottom: 20px;
  white-space: nowrap;
  margin: 0;
  list-style: none;
  z-index: 1000;
}

.map-tab-nav>li>a {
  font-weight: 500;
  font-size: 14px;
  line-height: 140%;
  color: var(--color-Neutral-100);
}

.map-tab-nav>li:not(:last-child)::after {
  width: 1px;
  height: 16px;
  background: var(--color-Neutral-100);
  display: inline-flex;
  vertical-align: middle;
  margin: 0 12px;
  content: '';
}

.map-tab-nav>li.active>a {
  color: var(--color-Thunderbird);
}

.map-box {
  border: 1px solid var(--color-Neutral-100);
  border-radius: 5px;
  height: 100%;
  overflow: hidden;
}

.map-box-info {
  display: flex;
  flex-direction: column;
}

.map-item {
  aspect-ratio: 1/0.577777778;
  width: 100%;
  height: 100%;
}

.map-box-img {
  width: 100%;
  aspect-ratio: 1/0.666666667;
  object-fit: cover;
}

.map-box-body {
  display: flex;
  flex-direction: column;
  padding: 16px 20px;
  gap: 12px;
}

.map-box-title {
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  color: var(--color-Black);
  margin: 0;
}

.map-box-title::after {
  width: 100%;
  opacity: 0.5;
  border: 1px solid var(--color-Neutral-100);
  display: flex;
  margin-top: 12px;
  content: '';
}

.map-box-desc {
  font-weight: 400;
  font-size: 12px;
  line-height: 140%;
  color: var(--color-Black);
  opacity: 0.8;
}

.map-marker {
  width: 6px;
  height: 6px;
  background-color: var(--color-Thunderbird);
  display: block;
  margin-top: -2px;
  margin-left: -2px;
  border: none;
  transition: all 0.15s linear;
}

.map-pin.active .map-marker {
  width: 12px;
  height: 12px;
  margin-top: -6px;
  margin-left: -6px;
}

.leaflet-control-zoom {
  bottom: 10px;
  right: 10px;
  top: auto !important;
  left: auto !important;
}

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  background: #fff;
  border: none;
  color: #7f1d1d;
  box-shadow: 0 0 0 1px #eee;
  font-weight: bold;
}

.leaflet-container {
  background: none !important;
}

.leaflet-control-zoom {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  gap: 12px;
  position: absolute;
  width: 105px;
  height: 44px;
  border-radius: 25px;
  border: 1px solid var(--color-Neutral-100) !important;
  box-shadow: none !important;
  overflow: hidden;
}

.leaflet-touch .leaflet-bar a {
  color: var(--color-Neutral-100);
  width: 100%;
  height: 100%;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
}

.page-info {
  font: var(--font-title-small);
  text-align: center;
}

.swiper-control {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  bottom: clamp(15px, 1.41vw + 9.72px, 30px);
  left: clamp(15px, 1.41vw + 9.72px, 30px);
  z-index: 12;
  letter-spacing: 0;
  transform: translateX(clamp(-36px, 0.75vw + 33.18px, -44px));
  transition: all 300ms linear;
}

.swiper-control>li {
  padding: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.swiper-control>li>span {
  background: var(--color-Neutral-50);
  border: 1px solid var(--color-Neutral-100);
  border-radius: 10px;
  width: clamp(36px, 0.75vw + 33.18px, 44px);
  height: clamp(36px, 0.75vw + 33.18px, 44px);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0;
  padding: 0;
}

.swiper-control-bottom {
  transform: translateX(100%);
}

.swiper-control-right {
  transform: translateX(200%);
}

.swiper-control-top {
  transform: translate(100%, -100%);

}

.swiper-control>li>span::after {
  width: 10px;
  background: var(--color-Neutral-1000);
  content: '';
}

.swiper-control-left>span::after {
  aspect-ratio: cos(30deg);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.swiper-control-bottom>span::after {
  aspect-ratio: 1/cos(30deg);
  clip-path: polygon(50% 100%, 100% 0, 0 0);
}

.swiper-control-right>span::after {
  aspect-ratio: cos(30deg);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.swiper-control-top>span::after {
  aspect-ratio: 1/cos(30deg);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.swiper-control-left,
.swiper-control-right {
  opacity: 0;
  visibility: hidden;
  transition: all 300ms linear;
}

.art-slideshow[data-current-slide="5"] .swiper-control .swiper-control-left,
.art-slideshow[data-current-slide="5"] .swiper-control .swiper-control-right {
  opacity: 1;
  visibility: visible;
}

.art-slideshow[data-current-slide="5"] .swiper-control {
  transform: translateX(0);
}

.summary-rug {
  width: 100%;
}

body.error404 .account-body {
  margin-bottom: auto;
  text-align: center;
}

.not-found {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  letter-spacing: 0;
  gap: 10px;
}

.not-found-title {
  font: var(--font-title-xxlarge);
  margin: 0;
}

.not-found-subtitle {
  font: var(--font-title-xsmall);
  margin: 0;
}

.wishlist-button {
  width: 30px;
  height: 30px;
  font-size: 0;
  background: none;
  border: none;
  padding: 0;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="0" viewBox="0 -960 960 960"><path d="M440-501Zm0 381L313-234q-72-65-123.5-116t-85-96q-33.5-45-49-87T40-621q0-94 63-156.5T260-840q52 0 99 22t81 62q34-40 81-62t99-22q81 0 136 45.5T831-680h-85q-18-40-53-60t-73-20q-51 0-88 27.5T463-660h-46q-31-45-70.5-72.5T260-760q-57 0-98.5 39.5T120-621q0 33 14 67t50 78.5q36 44.5 98 104T440-228q26-23 61-53t56-50l9 9 19.5 19.5L605-283l9 9q-22 20-56 49.5T498-172l-58 52Zm280-160v-120H600v-80h120v-120h80v120h120v80H800v120h-80Z"/></svg>');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  filter: var(--filter-CarpetRed);
}

.wishlist-button.active {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="0" viewBox="0 -960 960 960"><path d="M718-313 604-426l57-56 57 56 141-141 57 56-198 198ZM440-501Zm0 381L313-234q-72-65-123.5-116t-85-96q-33.5-45-49-87T40-621q0-94 63-156.5T260-840q52 0 99 22t81 62q34-40 81-62t99-22q81 0 136 45.5T831-680h-85q-18-40-53-60t-73-20q-51 0-88 27.5T463-660h-46q-31-45-70.5-72.5T260-760q-57 0-98.5 39.5T120-621q0 33 14 67t50 78.5q36 44.5 98 104T440-228q26-23 61-53t56-50l9 9 19.5 19.5L605-283l9 9q-22 20-56 49.5T498-172l-58 52Z"/></svg>');
  animation: pulse 0.4s ease;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

.woocommerce-store-notice {
  background: var(--color-SealBrown);
  color: var(--color-White);
  margin: 0;
  padding: 10px 15px;
  text-align: center;
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
}

.woocommerce-store-notice a {
  color: var(--color-Thunderbird);
}

.woocommerce-store-notice a:hover {
  color: var(--color-Mushroom);
}

.woocommerce-store-notice__dismiss-link {
  position: static;
  vertical-align: middle;
}

.searchbar {
  background: var(--color-BulgarianRose);
  transition: all 0.3s linear;
  transform: translateY(-100%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1001;
}

body.searchbar-opened #header {
  transform: translateY(-100%);
}

body.searchbar-opened .searchbar {
  transform: translateY(0);
}

.searchbar-form {
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.searchbar-form-input,
.searchbar-form-btn {
  border: none;
  padding: 0;
}

.searchbar-form-input {
  color: var(--color-White);
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  padding: 0;
  text-align: center;
}

.searchbar-form-input::-webkit-input-placeholder {
  color: var(--color-White);
}

.searchbar-form-input:-moz-placeholder {
  color: var(--color-White);
  opacity: 1;
}

.searchbar-form-input::-moz-placeholder {
  color: var(--color-White);
  opacity: 1;
}

.searchbar-form-input:-ms-input-placeholder {
  color: var(--color-White);
}

.searchbar-form-btn {
  width: 40px;
  height: 40px;
  background: url(../img/icon-search.svg) no-repeat center/cover;
  filter: brightness(0) invert(1);
  font-size: 0;
}

/*Plugin*/
ol.rack {
  flex-direction: column;
}

/*Animation*/
[class$='card'][data-animate]>[class$='-card-header'] {
  position: relative;
  overflow: hidden;
}

[class$='card'][data-animate]>[class$='-card-header']::after {
  background: var(--color-White);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(0%);
  transition: transform 700ms cubic-bezier(0.4, 0, 0.2, 1);
  content: '';
}

[class$='card'][data-animate]>.animated>[class$='-card-header']::after {
  transform: translateY(-100%);
}

@media (min-width: 576px) {

  .row>div[class^="col-sm-"][class$="-6"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-sm-"][class$="-4"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-sm-"][class$="-3"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-sm-"][class$="-2"]>[data-animate]>[class*="card-header"]::after {
    transition-delay: calc((var(--nth-child) - 1) * var(--animate-delay));
  }
}

@media (min-width: 768px) {

  .row>div[class^="col-md-"][class$="-6"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-md-"][class$="-4"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-md-"][class$="-3"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-md-"][class$="-2"]>[data-animate]>[class*="card-header"]::after {
    transition-delay: calc((var(--nth-child) - 1) * var(--animate-delay));
  }
}

@media (min-width: 992px) {

  .row>div[class^="col-lg-"][class$="-6"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-lg-"][class$="-4"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-lg-"][class$="-3"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-lg-"][class$="-2"]>[data-animate]>[class*="card-header"]::after {
    transition-delay: calc((var(--nth-child) - 1) * var(--animate-delay));
  }
}

@media (min-width: 1200px) {

  .row>div[class^="col-xl-"][class$="-6"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-xl-"][class$="-4"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-xl-"][class$="-3"]>[data-animate]>[class*="card-header"]::after,
  .row>div[class^="col-xl-"][class$="-2"]>[data-animate]>[class*="card-header"]::after {
    transition-delay: calc((var(--nth-child) - 1) * var(--animate-delay));
  }
}

/*AR*/
.dmc__action-btn {
  background-color: var(--color-CarpetRed);
  color: var(--color-White);
  line-height: 1;
  padding: 10px;
  letter-spacing: .05rem;
  font-weight: 400;
  font-size: clamp(20px, 0.38vw + 18.59px, 24px);
  text-align: center;
  border-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  cursor: pointer;
}

.dmc__action-btn:hover {
  background-color: var(--color-Thunderbird);
}

.dmc__action-btn:active {
  background-color: var(--color-Thunderbird);
}

.dmc__download-btn {
  display: flex;
  align-items: center;
  background-color: var(--color-White);
  line-height: 1;
  padding: 0.25rem 0.25rem 0.25rem 0.25rem;
  letter-spacing: .05rem;
  font-weight: 400;
  font-size: 0.5rem;
  text-align: center;
  border-width: 1px;
  border-color: var(--color-Neutral-500);
  border-style: solid;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  cursor: pointer;
}

.dmc__download-btn:hover {
  background-color: var(--color-Neutral-50);
}

.dmc__download-btn:active {
  background-color: var(--color-Neutral-50);
}

.dmc__delete-btn {
  background-color: var(--color-White);
  line-height: 1;
  padding: 0.75rem 1.5rem 0.75rem;
  letter-spacing: .05rem;
  font-weight: 400;
  font-size: 0.75rem;
  text-align: center;
  border-width: 1px;
  border-color: var(--color-Neutral-500);
  border-style: solid;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  cursor: pointer;
}

.dmc__delete-btn:hover {
  background-color: var(--color-Neutral-50);
}

.dmc__delete-btn:active {
  background-color: var(--color-Neutral-50);
}

.dmc__cancel-btn {
  background-color: var(--color-White);
  line-height: 1;
  padding: 0.75rem 1.5rem 0.75rem;
  letter-spacing: .05rem;
  font-weight: 400;
  font-size: 0.75rem;
  text-align: center;
  border-width: 1px;
  border-color: var(--color-Neutral-500);
  border-style: solid;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  cursor: pointer;
}

.dmc__cancel-btn:hover {
  background-color: var(--color-Neutral-50);
}

.dmc__cancel-btn:active {
  background-color: var(--color-Neutral-50);
}

.dmc__Modal-content {
  background-color: white;
  padding: 1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  border: 1px soli d#d1d5db;
  max-height: 95vh;
  box-sizing: border-box;
  max-width: 95vw;
  width: 100%;
  height: 100%;
}

.dmc__Modal-Overlay {
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999999;
}

.dmc__QRCodeModal-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dmc__QRCodeModal-qr_svg {
  margin-bottom: 0.75rem;
}

.dmc__QRCodeModal-close_icon {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

.dmc__QRCodeModal-info_text {
  text-align: center;
}

.dmc__closeicon-container {
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  background-color: var(--color-White);
  padding: 0.375rem;
}

.dmc__AddRugInRoomModal-container {
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
}

.dmc__AddRugInRoomModal-preview_img {
  max-width: 100%;
  height: 90%;
  object-fit: cover;
  box-sizing: border-box;
}

.dmc__AddRugInRoomModal-loading {
  height: 10%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 8px;
  padding-top: 6px;
}

.dmc__AddRugInRoomModal-loading_image {
  position: absolute;
  background-color: rgba(248, 250, 252, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}

.dmc__ProgressIcon-container {
  width: 2rem;
  height: 2rem;
  margin-right: 0.5rem;
  color: #E5E7EB;
  fill: var(--color-CarpetRed);
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.dmc__AddRugInRoomModal-modal_container {
  width: 90vw;
  max-width: 1024px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.dmc__AddRugInRoomModal-modal_title-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #D1D5DB;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.dmc__AddRugInRoomModal-modal_title {
  font-weight: bold;
  padding-left: 0.5rem;
  box-sizing: border-box;
}

.dmc__AddRugInRoomModal-modal_rooms_container {
  padding-top: 20px;
  overflow-y: scroll;
  box-sizing: border-box;
}

.dmc__AddRugInRoomModal-modal_rooms_container-loading-progress {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.dmc__AddRugInRoomModal-modal_terms-text-container {
  padding-top: 0.5rem;
  box-sizing: border-box;
  display: flex;
  width: 100%;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.dmc__AddRugInRoomModal-modal_terms-text-data {
  max-width: 42rem;
}

.dmc__AddRugInRoomModal-modal_terms-text-containerp {
  font-weight: 500;
  font-size: 0.625rem;
  letter-spacing: 0.0094rem;
  line-height: 150%;
  color: rgb(128, 128, 128);
  text-align: center;
}

.dmc__AddRugInRoomModal-modal_terms-text-containerp {
  padding: 0;
  margin: 0;
}

.dmc__AddRugInRoomModal-modal_terms-text-containerp:not(:first-child) {
  padding-top: 0.5rem;
}

.dmc__AddRugInRoomModal-modal_terms-text-containerp:first-of-type {}

.dmc__AddRugInRoomModal-modal_terms-text-containerp:last-of-type {
  margin-bottom: 0;
}

.dmc__AddRugInRoomModal-modal_rooms_grid {
  display: grid;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.dmc__AddRugInRoomModal-modal_add_rug {
  height: 200px;
  cursor: pointer;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.dmc__AddRugInRoomModal-modal_add_rug_icon {
  color: #D1D5DB;
}

.dmc__RugControlModal-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 500;
}

.dmc__RugControlModal-title {
  font-size: 0.875rem;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.dmc__RugControlModal-title-container {
  display: flex;
  position: relative;
  justify-content: space-between;
  width: 100%;
  align-items: center;
  padding-bottom: 0.5rem;
  box-sizing: content-box;
}

.dmc__RugControlModal-control_container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.dmc__RugControlModal-control {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.dmc__RugControlModal-buttons_container {
  display: flex;
  justify-content: space-around;
  gap: 1rem;
  padding-top: 1rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  box-sizing: border-box;
}

.dmc__ProgressModal-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dmc__ProgressModal-container-msg-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.dmc__ProgressModal-progress_icon {
  width: 2rem;
  height: 2rem;
  margin-right: 0.5rem;
  color: #E5E7EB;
  fill: var(--color-CarpetRed);
  animation: spin 1s linear infinite;
}

.dmc__ErrorModal-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 300px;
}

.dmc__ErrorModal-msg-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.dmc__masonry-grid {
  display: flex;
  width: auto;
  margin-left: -10px;
}

.dmc__masonry-grid_column {
  margin: 10px;
  background-clip: padding-box;
  padding-left: 10px;
}

.dmc__masonry-grid_column>div {
  box-shadow: 04px 6px rgba(0, 0, 0, 0.1), 02px 4px rgba(0, 0, 0, 0.06);
  margin-bottom: 15px;
}

.dmc__masonry-grid_column>div img {
  max-width: 100%;
}

.dmc__rug-in-room-ar-container {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.dmc__action-ar-btn {
  /* height: 100%; */
}

.dmc__upload-room-img-container {
  display: flex;
  justify-content: center;
}

@media(min-width:640px) {
  .dmc__Modal-content {
    max-height: 93vh;
    max-width: 640px;
  }

  .dmc__masonry-grid {
    margin-left: -20px;
  }

  .dmc__masonry-grid_column {
    padding-left: 20px;
    margin: 0px;
  }

  .dmc__masonry-grid_column>div {
    margin-bottom: 20px;
  }
}

@media(min-width:768px) {
  .dmc__masonry-grid {
    margin-left: -15px;
  }

  .dmc__masonry-grid_column {
    padding-left: 15px;
    margin: 0px;
  }

  .dmc__masonry-grid_column>div {
    margin-bottom: 15px;
  }

  .dmc__AddRugInRoomModal-modal_terms-text-container {}
}

@media(min-width:1024px) {
  .dmc__masonry-grid {
    margin-left: -10px;
  }

  .dmc__masonry-grid_column {
    padding-left: 10px;
    margin: 0px;
  }

  .dmc__masonry-grid_column>div {
    margin-bottom: 10px;
  }
}

/*end AR*/
.icon-select {
  position: relative;
  display: block;
  line-height: 1;
}

.icon-select input[type="radio"] {
  display: none;
}

.select-selected {
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 12px 4px;
}

.select-selected::after {
  width: 24px;
  height: 24px;
  margin-left: auto;
  background: url(../img/icon-expand_more.svg) no-repeat center/cover;
  content: "";
}

.select-items {
  position: absolute;
  background-color: var(--color-White);
  border: 1px solid #ddd;
  width: fit-content;
  min-width: 100%;
  z-index: 99;
  display: none;
}

.select-items label {
  padding: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin: 0;
}

.select-selected,
.select-items label>div {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.select-items label.disabled {
  filter: opacity(.5);
}

.select-selected i,
.select-items label i,
.select-selected img,
.select-items label img {
  min-width: 24px;
  max-width: 24px;
  height: 24px;
  aspect-ratio: 1/1;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.select-selected span,
.select-items label span {
  font: var(--font-desc-xsmall);
  font-weight: 500;
  letter-spacing: 0px;
  color: var(--color-Neutral-1000);
}

.select-items label:hover {
  background-color: #f0f0f0;
}


.select-selected[data-title="multicolored"]>i,
.select-items input[value="multicolored"]+div>i {
  background-image: url(../img/icon-color.png);
}

/*--*/
.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #eee;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.form-floating,
.form-row {
  margin: 25px 0 15px;
  position: relative;
}

.form-label,
.form-row label {
  font-family: "General Sans";
  font-size: 16px;
  font-weight: normal;
  line-height: 125%;
  letter-spacing: 0px;
  color: var(--color-Neutral-900);
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.form-floating:has(.form-control:focus) .form-label,
.form-row:has(input:focus) label,
.form-row:has(textarea:focus) label,
.form-floating:has(.form-control:not(:placeholder-shown)) .form-label,
.form-row:has(input:not(:placeholder-shown)) label,
.form-row:has(textarea:not(:placeholder-shown)) label {
  transform: translateY(-100%);
  font-size: 85%;
}

.form-floating:has(.form-control:focus) .form-label,
.form-row:has(input:not(:placeholder-shown)) label,
.form-row:has(textarea:not(:placeholder-shown)) label {
  color: var(--color-Neutral-500);
}

.form-row label>.required {
  color: rgba(var(--color-Error), 1);
}

.form-label.required::after {
  content: "*";
  color: rgba(var(--color-Error), 1);
  line-height: 0.5;
  margin-left: 2px;
}

.form-floating .form-control,
.form-row .input-text {
  width: 100%;
  display: block;
  border: none;
  background: none;
  padding: 0 0 15px;
  border-bottom: 1px solid var(--color-Neutral-600);
  font-family: "General Sans";
  font-size: 16px;
  font-weight: 500;
  line-height: 125%;
  letter-spacing: 0px;
  color: var(--color-Neutral-600);
}

.form-floating .form-control:focus,
.form-row .input-text:focus {
  border-bottom-color: var(--color-Black);
}

.form-floating textarea {
  resize: none;
}

.form-row:has(input[type=radio]) label,
.form-row:has(input[type=checkbox]) label {
  position: static;
  transform: unset;
  font-size: 100%;
}

input[type=radio],
input[type=checkbox] {
  accent-color: var(--color-Mushroom);
}

/*Shop*/
ul.woocommerce-order-overview {
  list-style-position: inside;
  list-style-type: square;
}

div.woocommerce .button {
  height: 48px;
  padding: 0 24px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0px;
  text-wrap: nowrap;
  text-transform: uppercase;
  margin: 0;
  border: none;
  background: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: rgba(172, 31, 31, 0.1);
  color: var(--color-Thunderbird);
}

div.woocommerce .button:hover {
  background: var(--color-Thunderbird);
  color: var(--color-White);
}

div.woocommerce .button.alt {
  background: transparent;
  color: var(--color-Thunderbird);
}

div.woocommerce .button.alt:hover {
  background: var(--color-Thunderbird);
  color: var(--color-White);
}

div.woocommerce .button[disabled],
div.woocommerce .button.disabled {
  background-color: var(--color-Neutral-300);
  color: var(--color-Neutral-50);
  cursor: not-allowed;
  pointer-events: none;
}

div.woocommerce .place-order,
div.woocommerce .wc-proceed-to-checkout,
div.woocommerce .return-to-shop {
  margin: 20px auto 0;
  text-align: center;
}

.alert,
div.woocommerce .woocommerce-warning,
div.woocommerce .woocommerce-error,
div.woocommerce .woocommerce-info,
div.woocommerce .woocommerce-message {
  font-weight: 450;
  padding: 15px;
  margin: 0 0 15px;
  position: relative;
  border-bottom: 4px solid transparent;
}

.alert-warning,
div.woocommerce .woocommerce-warning {
  background: rgba(var(--color-Warning), 0.1);
  color: rgba(var(--color-Warning), 1);
  border-bottom-color: rgba(var(--color-Warning), 1);
}

.alert-danger,
div.woocommerce .woocommerce-error {
  background: rgba(var(--color-Error), 0.1);
  color: rgba(var(--color-Error), 1);
  border-bottom-color: rgba(var(--color-Error), 1);
}

.alert-info,
div.woocommerce .woocommerce-info {
  background: rgba(var(--color-Info), 0.1);
  color: rgba(var(--color-Info), 1);
  border-bottom-color: rgba(var(--color-Info), 1);
}

.alert-success div.woocommerce .woocommerce-message {
  background: rgba(var(--color-Success), 0.1);
  color: rgba(var(--color-Success), 1);
  border-bottom-color: rgba(var(--color-Success), 1);
}

div.woocommerce .woocommerce-warning,
div.woocommerce .woocommerce-error::after,
div.woocommerce .woocommerce-info::after,
div.woocommerce .woocommerce-message::after {
  content: "";
  clear: both;
  display: table;
}

div.woocommerce ul.woocommerce-warning,
div.woocommerce ul.woocommerce-error,
div.woocommerce ul.woocommerce-info,
div.woocommerce ul.woocommerce-message {
  list-style-position: inside;
  list-style-type: square;
}

div.woocommerce .woocommerce-warning a,
div.woocommerce .woocommerce-error a,
div.woocommerce .woocommerce-info a,
div.woocommerce .woocommerce-message a {
  text-decoration: underline !important;
}

div.woocommerce .woocommerce-warning .button,
div.woocommerce .woocommerce-error .button,
div.woocommerce .woocommerce-info .button,
div.woocommerce .woocommerce-message .button {
  background: var(--color-Neutral-1000);
  color: var(--color-Neutral-100);
  padding: 15px 10px;
  height: auto;
  float: right;
}

div.woocommerce .woocommerce-warning .button:hover,
div.woocommerce .woocommerce-error .button:hover,
div.woocommerce .woocommerce-info .button:hover,
div.woocommerce .woocommerce-message .button:hover {
  background: var(--color-Neutral-700);
  color: var(--color-Neutral-100);
}

.woocommerce-message {
  border-top-color: rgba(var(--color-Success), 1);
}

.woocommerce-info {
  border-top-color: rgba(var(--color-Info), 1);
}

.woocommerce-error {
  border-top-color: rgba(var(--color-Error), 1);
}

.woocommerce-warning {
  border-top-color: rgba(var(--color-Warning), 1);
}

.woocommerce-MyAccount-navigation>ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.woocommerce-MyAccount-navigation>ul>li>a {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0px;
  color: var(--color-Neutral-900);
  display: inline-flex;
  align-items: center;
}

.woocommerce-MyAccount-navigation>ul>li>a:hover,
.woocommerce-MyAccount-navigation>ul>li.is-active>a {
  color: var(--color-CarpetRed);
}

.woocommerce-MyAccount-navigation>ul>li.is-active>a::before {
  background: url(../img/icon-arrow.svg) no-repeat center center;
  background-size: auto 100%;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  content: "";
}

.shop_table {
  width: 100%;
  border-spacing: 3px;
}

.shop_table th {
  font-size: 14px;
  font-weight: normal;
  line-height: normal;
  letter-spacing: 0px;
  color: var(--color-Neutral-900);
}

.shop_table td {
  font-size: 16px;
  font-weight: normal;
  line-height: normal;
  text-transform: uppercase;
  letter-spacing: 0px;
  color: var(--color-Neutral-800);
}

.shop_table>thead>tr>th,
.shop_table>tbody>tr>th,
.shop_table>tbody>tr>td,
.shop_table>tfoot>tr>th,
.shop_table>tfoot>tr>td {
  border-bottom: var(--border);
  padding: 10px;
}

.shop_table>thead>tr>th {
  padding: 10px;
}

.shop_table>thead>tr>th:first-child,
.shop_table>tbody>tr>th:first-child,
.shop_table>tbody>tr>td:first-child,
.shop_table>tfoot>tr>th:first-child,
.shop_table>tfoot>tr>td:first-child {
  padding-left: 0;
}

.shop_table>thead>tr>th:last-child,
.shop_table>tbody>tr>th:last-child,
.shop_table>tbody>tr>td:last-child,
.shop_table>tfoot>tr>th:last-child,
.shop_table>tfoot>tr>td:last-child {
  padding-right: 0;
}

.shop_table .product-thumbnail img {
  width: 64px;
  height: 64px;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.shop_table .product-remove a {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 20px;
  background-color: rgba(var(--color-Error), 1);
  color: var(--color-White);
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.shop_table.woocommerce-checkout-review-order-table>tfoot>tr {
  background: var(--color-light);
}

.checkout_coupon {
  display: flex;
  justify-content: center;
  align-items: end;
  flex-wrap: wrap;
  padding-bottom: 30px;
}

.checkout_coupon>p:first-child {
  width: 100%;
}

.checkout_coupon .form-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  margin: 0;
}

.coupon {
  display: inline-flex;
  gap: 10px;
}

.checkout_coupon label,
.shop_table td.actions .coupon label {
  margin: 0 0 0 10px;
}

.shop_table td.actions .coupon input {
  border: var(--border);
  padding: 0 10px;
}

.cart_totals {
  margin-top: 30px;
}

#order_review_heading,
.woocommerce-shipping-fields>h3,
.woocommerce-billing-fields>h3,
.woocommerce-additional-fields>h3,
.cart_totals>h2 {
  font-size: 22px;
  margin: 0 0 10px;
}

.cart_totals .wc-proceed-to-checkout {
  padding-top: 15px;
  text-align: end;
}

.select2-selection--single .select2-selection__arrow {
  top: 50% !important;
  transform: translateY(-50%);
}

.payment_methods {
  margin: 15px 0;
  padding: 0;
  list-style: none;
}

.payment_methods>li label {
  display: inline-flex;
  align-items: center;
  flex-direction: row-reverse;
}

.payment_methods>li label>img {
  height: 40px;
  margin-left: 10px;
}

.woocommerce-shipping-methods {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

@media (max-width: 767.98px) {

  .cart_totals .shop_table th,
  .shop_table thead {
    display: none;
  }

  .shop_table tr,
  .shop_table th,
  .shop_table td {
    display: block;
  }

  .shop_table tr {
    border-bottom: 1px solid rgb(200, 200, 200);
  }

  .shop_table>tbody>tr>td {
    padding-left: 0;
    padding-right: 0;
  }

  .shop_table td[data-title]::before {
    font-size: 14px;
    font-weight: normal;
    line-height: normal;
    letter-spacing: 0px;
    color: var(--color-Neutral-900);
    content: attr(data-title) ":";
    margin-right: 5px;
    display: inline-flex;
  }

  .shop_table td.product-remove {
    text-align: end;
    border-bottom: none;
    height: 64px;
  }

  .shop_table td.product-thumbnail {
    border-top: none;
    padding: 0;
    position: relative;
  }

  .shop_table td.product-thumbnail>a {
    position: absolute;
    bottom: 100%;
    left: 0;
  }

  .shop_table .quantity {
    display: inline-flex;
  }

  .checkout-button {
    width: 100%;
  }

  .coupon {
    display: flex;
  }

  .coupon>input {
    width: 100%;
  }

  .shop_table td.actions>.button {
    width: 100%;
    margin-top: 15px;
  }

  .woocommerce .col2-set {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .woocommerce .col2-set>div {
    width: 100%;
  }

  .slide-menu {
    justify-content: end;
    bottom: clamp(15px, 1.41vw + 9.72px, 30px);
  }
}

@media (min-width: 768px) {

  .woocommerce .col2-set,
  body.woocommerce-account .woocommerce {
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }

  .woocommerce .col2-set {
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }

  .woocommerce .col2-set>div {
    width: calc(50% - 15px);
  }

  .woocommerce-MyAccount-content {
    width: 70%;
  }

  .shop_table td.actions>.button {
    float: right;
  }

  .cart_totals {
    width: 50%;
    margin-right: auto;
  }

  .product-footer>div {
    flex: 0 0 50%;
    max-width: 50%;
  }

  th.product-remove,
  th.product-thumbnail,
  th.product-quantity {
    white-space: nowrap;
    width: 1%;
  }

  td.product-remove,
  td.product-thumbnail {
    text-align: center;
  }

  td.product-thumbnail {
    padding: 0;
  }

  .cart-total-footer th {
    text-align: end;
  }
}

/*CMS*/
.entry-footer {
  margin-top: 3rem;
}

.entry-meta {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.entry-meta>li>strong {
  margin-right: 5px;
}

.entry-content {
  font: var(--font-desc-small);
  color: var(--color-Neutral-1000);
}

.entry-content a {
  color: var(--color-Mushroom);
  text-decoration: underline !important;
}

.entry-content a:hover {
  color: var(--color-CarpetRed);
}

.wp-block {
  margin-bottom: 1.5em;
  max-width: 100%;
  box-sizing: border-box;
}

.wp-block p {
  line-height: 1.8;
  font-size: 1rem;
  margin-bottom: 1em;
}

div>p:last-child,
blockquote>p:last-child {
  margin-bottom: 0;
}

.wp-block-paragraph {
  margin-bottom: 1.5em;
  font-size: 1rem;
  line-height: 1.8;
}

.wp-block-heading {
  margin: 0 0 1em;
  font-weight: 600;
}

.wp-block-heading h1,
h1.wp-block-heading {
  font-size: 2em;
}

.wp-block-heading h2,
h2.wp-block-heading {
  font-size: 1.75em;
}

.wp-block-heading h3,
h3.wp-block-heading {
  font-size: 1.5em;
}

.wp-block-heading h4,
h4.wp-block-heading {
  font-size: 1.25em;
}

.wp-block-heading h5,
h5.wp-block-heading {
  font-size: 1em;
}

.wp-block-heading h6,
h6.wp-block-heading {
  font-size: 0.875em;
}

.wp-block-image {
  display: block;
  margin: 1.5em auto;
  max-width: 100%;
}

.entry-content img,
.wp-block-image img {
  width: 100%;
  height: auto;
}

.wp-block-image figcaption {
  text-align: center;
  font-size: 0.875em;
  color: #666;
}

.wp-block-button {
  display: inline-block;
  margin: 1em 0;
}

.wp-block-button__link {
  display: inline-block;
  padding: 0.75em 1.5em;
  background: #0073aa;
  color: var(--color-White);
  text-decoration: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: bold;
}

.wp-block-button__link:hover {
  background: #005177;
}

.wp-block-quote {
  background: rgba(183, 146, 122, 0.25);
  padding: 1em;
  margin: 1.5em 0;
  font-style: italic;
}

.wp-block-quote cite {
  display: block;
  margin-top: 0.5em;
  font-weight: bold;
  color: #666;
}

.wp-block-list {
  margin: 1.5em 0;
  padding-left: 1.5em;
}

.wp-block-list li {
  margin-bottom: 0.5em;
}

.wp-block-table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table th,
.wp-block-table td {
  padding: 0.75em;
  border: 1px solid #ddd;
}

.wp-block-table th {
  background: #f0f0f0;
  font-weight: bold;
}

.wp-block-code {
  background: #f7f7f7;
  padding: 1em;
  font-family: monospace;
  white-space: pre;
  border-radius: 4px;
  overflow-x: auto;
}

.wp-block-separator {
  border: none;
  border-top: 2px solid #ddd;
  margin: 2em 0;
}

.wp-block-video {
  max-width: 100%;
}

.wp-block-video video {
  width: 100%;
  height: auto;
}

.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wp-block-gallery .wp-block-image {
  flex: 1 1 calc(33.333% - 10px);
}

@media (max-width: 768px) {
  .wp-block-gallery .wp-block-image {
    flex: 1 1 calc(50% - 10px);
  }
}

@media (max-width: 480px) {
  .wp-block-gallery .wp-block-image {
    flex: 1 1 100%;
  }
}

/*Responsive*/


@media (max-width: 991.98px) {

  .map-box-info {
    flex-direction: row;
  }

  .map-box-header {
    min-width: 33.3333333%;
    max-width: 33.3333333%;
  }

  .map-box-img {
    height: 100%;
  }

  .map-tab-nav {
    position: static;
    margin-bottom: 20px;
  }

  .art-subsection-nav {
    margin-bottom: 20px;
  }

  body.single-product #sidebar+.section.section-product-single .section-wrapper {
    padding-top: 100px !important;
  }

  .product-info-subtitle {
    display: none;
  }
}

@media (min-width: 992px) {
  .collection-grid .col-lg-6>.collection-card {
    display: flex;
    flex-direction: row;
  }

  .collection-grid .col-lg-6 .collection-card-header {
    min-width: 50%;
    max-width: 50%;
  }

  .collection-grid .col-lg-6 .collection-card-body {
    width: 100%;
  }

  .product-sidebar {
    padding: 30px 0 0;
    margin-top: -30px;
    height: calc(100dvh - 180px);
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .art-subsection-nav {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0 30px;
  }

  .product-sidebar-cover {
    display: none;
  }

  .product-card-badge {
    align-self: start;
  }
}

@media (max-width: 767.98px) {
  .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }

  #header {
    padding: 20px 0;
  }

  #header>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .section-blog-single .section-header {
    text-align: center;
    padding-top: 50px;
  }

  .section-collection .section-header {
    align-items: end;
  }

  .product-feature-card-desc,
  .product-tip-desc {
    margin-top: 15px;
  }

  .product-tip-card-desc {
    margin-top: 8px;
  }

  .modal-header,
  .modal-body {
    padding: 15px;
  }

  #footer {
    text-align: center;
    padding-top: 80px;
  }

  #page-header {
    padding: 20px 0;
  }

  .footer-nav,
  .access-nav,
  .footer-contact {
    column-gap: 20px;
    row-gap: 10px;
    margin-top: 15px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .faq-card-header {
    padding: 15px 0;
  }

  .product-sidebar-header {
    text-align: center;

  }

  .account-hero {
    display: none;
  }

  .section-custom .section-tab {
    display: none;
  }

  .user-nav {
    gap: 12px;
  }

  .user-nav>li span {
    font-size: 0;
    width: 26px;
    height: 26px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .user-nav>li.nav-toggle {
    order: 10
  }

  .user-nav>li.nav-toggle>button:first-child span {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 -960 960 960"><path d="M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"/></svg>');
  }

  .user-nav>li.nav-toggle>button:last-child span {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 -960 960 960"><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg>');
  }

  .user-nav>li.search-toggle span {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 -960 960 960"><path d="M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z"/></svg>');
  }

  .user-nav>li.shop-toggle span {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 0 96 96"><path d="M72.8 11.9v5.7h-2.7v-5.7h-5.2v5.7h-2.7v-5.7H57v5.7h-2.7v-5.7h-5.2v5.7h-2.7v-5.7h-5.2v5.7h-2.7v-5.7h-5.2v5.7h-2.7v-5.7h-5.2v5.7h-2.7v-5.7h-5.2v72.3h5.2v-5.7h2.7v5.7h5.2v-5.7h2.7v5.7h5.2v-5.7h2.7v5.7h5.2v-5.7h2.7v5.7h5.2v-5.7H57v5.7h5.2v-5.7h2.7v5.7h5.2v-5.7h2.7v5.7H78V11.9h-5.2ZM65 22.7v2.7h-7.8v7.8h-7.8V41h-2.7v-7.8h-7.8v-7.8h-7.8v-2.7h34ZM31 73.3v-2.7h7.8v-7.8h7.8V55h2.7v7.8h7.8v7.8h7.8v2.7H31Zm39.2 0v-7.8h-7.8v-7.8h-7.8v-7.8h-13v7.8h-7.8v7.8H26v7.8h-2.7V22.7H26v7.8h7.8v7.8h7.8v7.8h13v-7.8h7.8v-7.8h7.8v-7.8h2.7v50.6h-2.7Z"/></svg>');
  }

  .user-nav>li.wishlist-toggle span {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 -960 960 960"><path d="M480-388q51-47 82.5-77.5T611-518q17-22 23-38.5t6-35.5q0-36-26-62t-62-26q-21 0-40.5 8.5T480-648q-12-15-31-23.5t-41-8.5q-36 0-62 26t-26 62q0 19 5.5 35t22.5 38q17 22 48 52.5t84 78.5ZM200-120v-640q0-33 23.5-56.5T280-840h400q33 0 56.5 23.5T760-760v640L480-240 200-120Zm80-122 200-86 200 86v-518H280v518Zm0-518h400-400Z"/></svg>');
  }

  .user-nav>li.cart-toggle span {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 -960 960 960"><path d="M280-80q-33 0-56.5-23.5T200-160q0-33 23.5-56.5T280-240q33 0 56.5 23.5T360-160q0 33-23.5 56.5T280-80Zm400 0q-33 0-56.5-23.5T600-160q0-33 23.5-56.5T680-240q33 0 56.5 23.5T760-160q0 33-23.5 56.5T680-80ZM246-720l96 200h280l110-200H246Zm-38-80h590q23 0 35 20.5t1 41.5L692-482q-11 20-29.5 31T622-440H324l-44 80h480v80H280q-45 0-68-39.5t-2-78.5l54-98-144-304H40v-80h130l38 80Zm134 280h280-280Z"/></svg>');
  }

  .user-nav>li.account-toggle span {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 -960 960 960"><path d="M480-480q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 66-47 113t-113 47ZM160-160v-112q0-34 17.5-62.5T224-378q62-31 126-46.5T480-440q66 0 130 15.5T736-378q29 15 46.5 43.5T800-272v112H160Zm80-80h480v-32q0-11-5.5-20T700-306q-54-27-109-40.5T480-360q-56 0-111 13.5T260-306q-9 5-14.5 14t-5.5 20v32Zm240-320q33 0 56.5-23.5T560-640q0-33-23.5-56.5T480-720q-33 0-56.5 23.5T400-640q0 33 23.5 56.5T480-560Zm0-80Zm0 400Z"/></svg>');
  }

  body.logged-in .user-nav>li.account-toggle span {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 -960 960 960"><path d="M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm246-164q-59 0-99.5-40.5T340-580q0-59 40.5-99.5T480-720q59 0 99.5 40.5T620-580q0 59-40.5 99.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q53 0 100-15.5t86-44.5q-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160Zm0-360q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm0-60Zm0 360Z"/></svg>');
  }

  .user-nav>li strong {
    transform: translate(50%, -50%) !important;
    background-color: var(--color-White) !important;
    color: var(--color-Black) !important;
  }

  body.page-template-page-faq:not(.nav-opened) .user-nav>li>a,
  body.page-template-page-faq:not(.nav-opened) .user-nav>li>button,
  body.page-template-page-wishlist:not(.nav-opened) .user-nav>li>a,
  body.page-template-page-wishlist:not(.nav-opened) .user-nav>li>button,
  body.page-template-page-art:not(.nav-opened) .user-nav>li>a,
  body.page-template-page-art:not(.nav-opened) .user-nav>li>button,
  body.page-template-page-custom:not(.nav-opened) .user-nav>li>a,
  body.page-template-page-custom:not(.nav-opened) .user-nav>li>button,
  body.page-template-page-shopping:not(.nav-opened) .user-nav>li>a,
  body.page-template-page-shopping:not(.nav-opened) .user-nav>li>button,
  body.page-template-page-account:not(.nav-opened) .user-nav>li>a,
  body.page-template-page-account:not(.nav-opened) .user-nav>li>button,
  body[class*="tax-pa"]:not(.nav-opened) .user-nav>li>a,
  body[class*="tax-pa"]:not(.nav-opened) .user-nav>li>button,
  body[class*="tax-product_"]:not(.nav-opened) .user-nav>li>a,
  body[class*="tax-product_"]:not(.nav-opened) .user-nav>li>button,
  body.post-type-archive-product:not(.nav-opened) .user-nav>li>a,
  body.post-type-archive-product:not(.nav-opened) .user-nav>li>button,
  body.single:not(.nav-opened) .user-nav>li>a,
  body.single:not(.nav-opened) .user-nav>li>button,
  body:not(.nav-opened) #header.sticky .user-nav>li>a,
  body:not(.nav-opened) #header.sticky .user-nav>li>button {
    filter: invert(1);
  }

  .product-action {
    background: var(--color-CarpetRed);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding-left: 15px;
    z-index: 100;
  }

  .product-action .wishlist-button {
    filter: brightness(0) invert(1);
    order: -1;
    margin-right: auto;
  }

  .product-info-price {
    color: var(--color-White);
  }

  .product-action button:not(:hover) {
    color: var(--color-White);
  }
}

@media (min-width: 768px) {
  .logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .footer-top>div,
  .footer-bottom>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .footer-nav,
  .access-nav,
  .footer-contact {
    align-items: center;
    column-gap: 40px;
  }

  .section-about-certificate .section-title,
  .section-about-member .section-title,
  .section-about-mission .section-title,
  .section-about-vision .section-title {
    text-align: start;
  }

  .access-nav {
    margin: 0 auto 0 40px;
  }

  .account-wrapper {
    display: flex;
    flex-direction: row-reverse;
  }

  .account-wrapper>div {
    flex: 0 0 50%;
    max-width: 50%;
    min-height: 100%;
  }

  .account-card {
    max-width: 54.3055556%;
  }

  .section-custom .wizard-prev,
  .section-custom .wizard-next {
    display: none;
  }
}   