/*
 * Migration stylesheet.
 *
 * Move styles from custom.css into this file block by block.
 * Do not duplicate selectors without removing the old custom.css rule.
 * When migration is complete, this file should replace custom.css.
 */

:root {
  --pink: #FC578A;
  --pink-dark: #d83874;
  --red: #E60000;
  --color-asterisk: var(--red);
  --black: #000;
  --green: #3D9B69;
  --white: #fff;
  --orange: #F8B243;
  --sub-orange: #F8B243;
  --light-pink: #FEF6F0;
  --blue: #4257FC;
  --font-family-base: 'Avenir', Helvetica, Arial, sans-serif;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-base);
  font-size: 16px;
  font-weight: 300;
  line-height: 140%;
}

/* Home page banner */
.main-banner {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

.banner-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.banner-caption {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: auto;
  color: #fff;
  line-height: 20px;
  text-align: center;
}

.bottom-curve {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  height: auto;
  padding-bottom: 0;
}

.main-banner > .bottom-curve > img {
  display: block;
}

/* Homepage carousel navigation */
.slick-nav {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.slick-nav button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: solid 1px var(--black);
  background: none;
  color: var(--black);
  font-size: 18px;
  cursor: pointer;
  transition: all ease 0.5s;
}

.slick-nav button.slick-disabled {
  opacity: 0.4;
}

/* Keep the Pick Up arrows at the original button size and hover positions. */
.slick-nav .slick-prev .icon-arrow-back,
.slick-nav .slick-next .icon-arrow-forward {
  width: 1em;
  transition: transform ease 0.5s;
}

.slick-nav .slick-next:hover .icon-arrow-forward {
  transform: translateX(-10px);
}

.slick-nav .slick-prev:hover .icon-arrow-back {
  transform: translateX(10px);
}

/* Meet the designers carousel */
/* Match the arrow size to the workshop carousel controls. */
.slick-nav .slick-prev01 .icon-arrow-back,
.slick-nav .slick-next01 .icon-arrow-forward {
  width: 1em;
}

.designer-slider.slick-initialized {
  margin: 0 -15px;
}

.designer-slider.slick-initialized .designer-box {
  min-width: 380px;
  height: auto;
  margin: 0 7.5px;
}


/* Inner-page banner */

/* Store header */
.dokan-store .dokan-single-store .profile-frame .profile-info-box.profile-layout-default img.profile-info-img {
  position: relative;
}

body .dokan-single-store .profile-frame .profile-info-box.profile-layout-layout1 .profile-info-summery-wrapper .profile-info-summery {
  width: 100%;
  display: flex;
  background-color: transparent;
  left: 0;
  margin-top: -35px;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper {
  color: #000;
  position: relative;
  top: -5px;
}

body .dokan-single-store .profile-frame .profile-info-box.profile-layout-layout1 .profile-info-summery-wrapper .profile-info-summery .profile-info .store-name {
  color: #000;
  text-shadow: none;
  margin: 0 0 10px 15px;
  font-weight: 500;
}

.dokan-store .dokan-single-store .profile-frame {
  background: none;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info-head .profile-img.profile-img-circle img {
  width: 150px;
  height: 150px;
}

body .dokan-single-store .profile-frame .profile-info-box.profile-layout-layout1 .profile-info-summery-wrapper .profile-info-summery .profile-info {
  margin-top: 70px;
  width: calc(100% - 230px);
  position: relative;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info .dokan-store-info .dokan-store-address {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #898790;
  font-size: 13px;
  margin-bottom: 15px;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info .dokan-store-info .dokan-store-address > *:not(:last-child) {
  margin-inline-end: 0.5em;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info .dokan-store-info {
  font-weight: 300;
}

/* Keep store hours hidden in the seller header. */
.profile-info-summery .dokan-store-open-close {
  display: none;
}

#vendor-store-times .store-times-heading .store-calendar-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin: 0 10px 0 -10px;
  border: 1px solid #cbd9dc;
  border-radius: 50%;
  color: #2471a9;
}

#vendor-store-times .store-times-heading .store-calendar-icon::before {
  content: "";
  width: 14px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("../images/icons/icon-calendar.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-calendar.svg") center / contain no-repeat;
}

.store-open-close-notice .store-hours-chevron {
  display: inline-flex;
  align-items: center;
  flex: 0 0 11px;
  width: 11px;
  height: 16px;
  margin-left: 10px;
}

.store-hours-chevron::before {
  content: "";
  width: 11px;
  height: 6px;
  background-color: currentColor;
  -webkit-mask: url("../images/icons/icon-arrow-down-caret-bold.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-down-caret-bold.svg") center / contain no-repeat;
}

/* Preserve Dokan's popup pointer and compact-screen visibility. */
.store-open-close-notice:hover .store-hours-chevron::after {
  content: "";
  top: 75%;
  right: 44%;
  width: 25px;
  height: 40px;
  z-index: 1;
  position: absolute;
  transform: rotate(45deg);
  border-radius: 5px;
  background-color: #fff;
}

.profile-frame-no-banner .profile-layout-layout3 .store-open-close-notice:hover .store-hours-chevron::after,
.profile-layout-layout2 .store-open-close-notice:hover .store-hours-chevron::after {
  right: -2.5px;
}

@media (max-width: 1199px) {
  .store-open-close-notice .store-hours-chevron {
    display: none;
  }
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info .dokan-store-info .dokan-store-phone,
body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info .dokan-store-info .dokan-store-email {
  display: flex;
  align-items: center;
  column-gap: 0.5em;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info .dokan-store-info .dokan-store-phone .icon-call,
body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info .dokan-store-info .dokan-store-email .icon-mail {
  width: 14px;
  height: 14px;
}

body .dokan-single-store .profile-frame .profile-info-box.profile-layout-layout1 .profile-info-summery-wrapper .profile-info-summery .profile-info .dokan-store-info {
  padding-left: 15px;
  margin-top: 12px;
}

.seller-enquiry {
  position: absolute;
  top: 0;
  right: 0;
  float: right;
  color: #000;
  font-size: 13px;
}

.seller-enquiry a {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.seller-enquiry__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-right: 5px;
  border: 1px solid #e1e1e3;
  border-radius: 50%;
}

body .dokan-single-store .profile-frame .profile-info-box.profile-layout-layout1 .profile-info-summery-wrapper .profile-info-summery .profile-info-head .profile-img img {
  width: 200px;
  height: 200px;
  border-radius: 50%;
}

.dokan-store-rating {
  display: flex;
  align-items: center;
  gap: 10px;
}

.profile-info-summery .dokan-store-email,
.profile-info-summery .dokan-store-rating {
  display: none;
}

/* Match the product-card thumbnail highlight without changing the avatar size. */
body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info-head .profile-img > a > img {
  box-sizing: border-box;
  border: 2px solid transparent;
  transition: border-color 0.25s ease;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info-head .profile-img > a:hover > img,
body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info-head .profile-img > a:focus-visible > img {
  border-color: var(--pink);
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .store-name > a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .store-name > a:hover,
body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .store-name > a:focus-visible {
  color: var(--pink);
}

/* Store product grid: match the standard product archive card layout. */
#seller-store .product-items {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -6px;
}

#seller-store .product-items li {
  width: 25%;
  margin: 0 0 30px;
  padding: 0 6px;
}

/* Match store pagination controls to the archive link treatment. */
body.dokan-store .dokan-pagination-container .dokan-pagination {
  display: inline-flex;
  align-items: center;
  gap: 20px;
}

body.dokan-store #nav-below {
  margin-bottom: 50px;
}

body.dokan-store .dokan-pagination-container .dokan-pagination li a {
  display: flex;
  align-items: center;
  min-height: 20px;
  padding: 0;
  border: none;
  margin-right: 0;
  background: none;
  color: var(--black);
  line-height: 1;
  text-decoration: none;
  transition: color 0.5s ease;
}

body.dokan-store .dokan-pagination-container .dokan-pagination li.active a,
body.dokan-store .dokan-pagination-container .dokan-pagination li a:hover {
  background: none;
  color: var(--pink);
}

body.dokan-store .dokan-pagination-container .dokan-pagination li.prev + li a,
body.dokan-store .dokan-pagination-container .dokan-pagination li.disabled:first-child a,
body.dokan-store .dokan-pagination-container .dokan-pagination li:has(+ li.next) a,
body.dokan-store .dokan-pagination-container .dokan-pagination li.disabled:last-child a {
  font-size: 0;
}

body.dokan-store .dokan-pagination-container .dokan-pagination li.prev + li a::before,
body.dokan-store .dokan-pagination-container .dokan-pagination li.disabled:first-child a::before {
  content: '\2190';
  font-size: 1rem;
}

body.dokan-store .dokan-pagination-container .dokan-pagination li:has(+ li.next) a::before,
body.dokan-store .dokan-pagination-container .dokan-pagination li.disabled:last-child a::before {
  content: '\2192';
  font-size: 1rem;
}

body.dokan-store .dokan-pagination-container .dokan-pagination li.disabled a {
  color: #ccc;
}

/* Use SVG controls instead of font-dependent first/last page characters. */
body.dokan-store .dokan-pagination-container .dokan-pagination li.prev > a,
body.dokan-store .dokan-pagination-container .dokan-pagination li.next > a {
  width: 20px;
  height: 20px;
  font-size: 0;
  background-color: var(--black);
  transition: background-color 0.5s ease;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-size: contain;
}

body.dokan-store .dokan-pagination-container .dokan-pagination li.prev > a {
  -webkit-mask-image: url('../images/icons/icon-double-arrow-left.svg');
  mask-image: url('../images/icons/icon-double-arrow-left.svg');
}

body.dokan-store .dokan-pagination-container .dokan-pagination li.next > a {
  -webkit-mask-image: url('../images/icons/icon-double-arrow-right.svg');
  mask-image: url('../images/icons/icon-double-arrow-right.svg');
}

body.dokan-store .dokan-pagination-container .dokan-pagination li.prev > a:hover,
body.dokan-store .dokan-pagination-container .dokan-pagination li.next > a:hover {
  background-color: var(--pink);
}

.inner-banner-section {
  position: relative;
}

/* Keep category and shop overlays between their images and banner copy. */
body.tax-product_cat .inner-banner-section,
body.woocommerce-shop:not(.search) .inner-banner-section {
  isolation: isolate;
}

body.tax-product_cat .inner-banner-section .bg-overlay,
body.woocommerce-shop:not(.search) .inner-banner-section .bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.inner-banner-section img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}

.page-heading {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 300;
}

/* Center the shop banner copy while leaving product search titles unchanged. */
body.woocommerce-shop:not(.search) .page-heading {
  text-align: center;
}

.woocommerce-shop .page-heading p {
  text-align: center;
  color: #fff;
}

body.woocommerce-shop:not(.search) .page-heading p {
  color: inherit;
}

body.tax-product_cat .inner-banner-section .page-heading,
body.woocommerce-shop:not(.search) .inner-banner-section .page-heading {
  z-index: 2;
}

.page-heading h1 {
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: 'Grande';
  font-size: 4rem;
  font-weight: normal;
  line-height: 6rem;
}

/* Match banner title spacing on the shop and product category archives. */
body.tax-product_cat .page-heading h1,
body.woocommerce-shop:not(.search) .page-heading h1 {
  letter-spacing: 0.05em;
}


/* Preserve category label alignment and spacing with the local SVG arrow. */
.category-section .cat-name .icon-arrow-right {
  position: absolute;
  top: 50%;
  right: calc(100% + 10px);
  transform: translateY(-50%);
  margin-right: 0;
  font-weight: 400;
}

.category-grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* Keep category thumbnails circular while the image zooms inside the fixed crop. */
.category-section .category-box {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
}

.category-section .category-box > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.category-section a:hover .category-box > img {
  transform: scale(1.1);
}

/* Highlight the thumbnail when the product link is hovered or keyboard-focused. */
.woocommerce .product-item img.attachment-woocommerce_thumbnail,
.woocommerce .product-item img.wp-post-image {
  border: 1px solid transparent;
  box-sizing: border-box;
  transition: border-color 0.25s ease;
}

.woocommerce .product-item:has(a.woocommerce-LoopProduct-link:hover) img.attachment-woocommerce_thumbnail,
.woocommerce .product-item:has(a.woocommerce-LoopProduct-link:hover) img.wp-post-image,
.woocommerce .product-item:has(a.woocommerce-LoopProduct-link:focus-visible) img.attachment-woocommerce_thumbnail,
.woocommerce .product-item:has(a.woocommerce-LoopProduct-link:focus-visible) img.wp-post-image {
  border-color: var(--pink);
}

/* Keep seller details aligned across standard product-grid cards with or without prices. */
.home-product ul.products,
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
  display: flex;
  flex-wrap: wrap;
}

.home-product ul.products li.product,
body.woocommerce-shop ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  display: flex;
}

.home-product ul.products li.product .product-item,
body.woocommerce-shop ul.products li.product .product-item,
body.tax-product_cat ul.products li.product .product-item,
body.tax-product_tag ul.products li.product .product-item {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.home-product ul.products li.product .product-item > .woocommerce-LoopProduct-link,
body.woocommerce-shop ul.products li.product .product-item > .woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product .product-item > .woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product .product-item > .woocommerce-LoopProduct-link {
  margin-bottom: auto;
}


/* Keep the single-product breadcrumb aligned with the product image container. */
body.single-product .woocommerce-breadcrumb {
  padding: 0 100px;
}

/* Product sale badge */
body.single-product.woocommerce div.product .woocommerce-product-gallery {
  position: relative;
}

body.single-product.woocommerce div.product .woocommerce-product-gallery > .onsale,
body.woocommerce ul.products li.product .onsale,
body .woocommerce ul.products li.product .onsale,
.woocommerce .regular.slider .item .onsale {
  width: 50px;
  height: 50px;
  min-width: 50px;
  min-height: 50px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  box-sizing: border-box;
  background: var(--pink);
  color: #fff;
  font-family: 'Grande';
  font-size: 1.125rem;
  font-weight: normal;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 10px;
  right: auto;
  left: 10px;
  z-index: 4;
}

/* Distinguish sold products from active sales while retaining the shared badge layout. */
body.single-product.woocommerce div.product .woocommerce-product-gallery > .onsale.sold,
body.woocommerce ul.products li.product .onsale.sold,
body .woocommerce ul.products li.product .onsale.sold,
.woocommerce .regular.slider .item .onsale.sold {
  border: solid 1px var(--pink);
  background: #fff;
  color: var(--pink);
}

/* Keep the main image and WooCommerce's zoom layer clipped to the same rounded shape. */
body.woocommerce div.product div.images img {
  max-height: 1000px;
  object-fit: cover;
  border-radius: 15px;
}

body.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image,
body.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder {
  overflow: hidden;
  border: 0;
  border-radius: 15px;
}

body.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image .zoomImg {
  border-radius: inherit;
}

/* Clip FlexSlider's horizontal slide transition to the same image radius. */
body.single-product.woocommerce div.product div.images .flex-viewport {
  overflow: hidden;
  border-radius: 15px;
}

/* Align thumbnail images to the gallery edge while keeping the existing gaps. */
body.woocommerce div.product div.images .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0 0;
  padding: 0;
}

body.woocommerce div.product div.images .flex-control-thumbs li {
  width: 80px !important;
  height: 80px;
  margin: 0 10px 10px 0 !important;
  border-radius: 10px;
}

body.woocommerce div.product div.images .flex-control-thumbs img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 10px;
}

body.woocommerce div.product div.images .flex-control-thumbs img.flex-active {
  outline: solid 2px var(--pink);
  outline-offset: -2px;
}

/* Give the maker heading more space before the avatar and profile details. */
.vendor-container h2 {
  font-size: 2.5rem;
  font-family: 'Grande';
  font-weight: normal;
  margin: 0 0 30px;
  padding: 0;
}

/* Keep the maker product thumbnails square as their cards shrink. */
.vendor-products {
  display: flex;
  gap: 5px;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}

.vendor-products li {
  flex: 0 1 150px;
  list-style: none;
  min-width: 0;
}

.vendor-products li img {
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.vendor-products p {
  margin: 0;
  font-size: 12px;
}

.vendor-products .product-price {
  margin: 10px 0;
  font-size: 14px;
  font-weight: 400;
}

/* Related products */
.related.products {
  margin: 50px 0;
}

.related.products h2 {
  margin: 0 0 20px;
  padding: 0;
  font-family: 'Grande';
  font-size: 40px;
  font-weight: normal;
}

#main .related.products ul.products li.product .price .amount {
  color: #000;
  font-size: 16px;
}

/* Keep related-product regular prices and their strike-throughs black. */
#main .related.products ul.products li.product .price del {
  color: #000;
}

#main .related.products ul.products li.product .price del::after {
  border-top-color: currentColor;
}


/* Primary header navigation */
header nav {
  padding: 0;
  border-top: solid 1px rgba(0,0,0,0.3);
  border-bottom: solid 1px rgba(0,0,0,0.3);
}

header nav ul {
  margin: 0;
  padding: 0;
}

header nav ul li {
  position: relative;
  list-style: none;
}

header nav ul li a {
  display: block;
  padding: 10px 0;
  color: var(--black);
  font-size: 1rem;
  font-weight: 300;
  text-decoration: none;
}

/* Equal-width items avoid breakpoint-specific margins and label wrapping. */
header nav .header-outer > ul {
  width: 100%;
}

header nav .header-outer > ul > li {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 5px clamp(8px, 1.5vw, 20px);
  text-align: center;
}

header nav .header-outer > ul > li > a {
  white-space: nowrap;
}


/* Header navigation dropdown */
.dropdown-arrow {
  display: none;
}

.dropdown-arrow-icon {
  display: block;
  width: 14px;
  height: 8px;
  background-color: currentColor;
  -webkit-mask: url("../images/icons/icon-arrow-down-caret.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-down-caret.svg") center / contain no-repeat;
}

header nav ul li .dropdown-menu li {
  margin: 0;
  width: 50%;
  /* Prevent centered top-level navigation labels from affecting submenu labels. */
  text-align: left;
}

header nav ul li .dropdown-menu li a {
  padding: 10px 25px;
  white-space: nowrap;
}

header nav ul li .dropdown-menu li a:hover {
  color: var(--pink);
}

@media screen and (min-width:768px) {
  header nav ul li .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px);
    transition: all ease .5s;
    display: flex;
    flex-wrap: wrap;
    width: 350px;
    background: var(--white);
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    z-index: 1;
  }

  header nav ul li:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    min-width: 350px;
    padding: 15px 0;
    z-index: 2;
  }

  header li.discover-menus .dropdown-menu {
    left: 50%;
    max-width: 220px;
    min-width: 200px !important;
    display: block;
    transform: translate(-50%, -10px);
  }

  header li.discover-menus:hover .dropdown-menu {
    transform: translate(-50%, 0);
  }
}


/* Render local interface icons at the surrounding text size and colour. */
.icon-menu,
.icon-close,
.icon-drag,
.icon-arrow-back,
.icon-arrow-back-bold,
.icon-arrow-forward,
.icon-arrow-forward-bold,
.icon-arrow-right,
.icon-arrow-up,
.icon-call,
.icon-check-circle,
.icon-loading,
.icon-location,
.icon-mail,
.icon-scissor,
.icon-shipping-truck,
.icon-star,
.icon-tune,
.icon-social {
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: middle;
  background-color: currentColor;
}

.icon-menu {
  width: 1em;
  height: 0.659em;
  -webkit-mask: url("../images/icons/icon-menu.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-menu.svg") center / contain no-repeat;
}

.icon-close {
  width: 1em;
  height: 1em;
  -webkit-mask: url("../images/icons/icon-close.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-close.svg") center / contain no-repeat;
}

.icon-drag {
  width: 1em;
  height: 1em;
  -webkit-mask: url("../images/icons/icon-drag.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-drag.svg") center / contain no-repeat;
}

/* Keep inline arrows at the existing button icon size and baseline. */
.icon-arrow-back,
.icon-arrow-forward,
.icon-arrow-right {
  width: 0.875em;
  height: 1em;
  vertical-align: -0.125em;
}

.icon-arrow-back {
  -webkit-mask: url("../images/icons/icon-arrow-back.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-back.svg") center / contain no-repeat;
}

.icon-arrow-forward {
  -webkit-mask: url("../images/icons/icon-arrow-forward.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-forward.svg") center / contain no-repeat;
}

/* Preserve the category card arrow motion without affecting other arrows. */
.discoverbox .thumb-caption .icon-arrow-forward {
  transition: transform ease 0.5s;
}

.discoverbox:hover .thumb-caption .icon-arrow-forward {
  transform: translateX(10px);
}

.icon-arrow-back-bold,
.icon-arrow-forward-bold {
  width: 1em;
  height: 1em;
}

.icon-arrow-back-bold {
  -webkit-mask: url("../images/icons/icon-arrow-back-bold.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-back-bold.svg") center / contain no-repeat;
}

.icon-arrow-forward-bold {
  -webkit-mask: url("../images/icons/icon-arrow-forward-bold.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-forward-bold.svg") center / contain no-repeat;
}

.icon-arrow-right {
  -webkit-mask: url("../images/icons/icon-arrow-right.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-right.svg") center / contain no-repeat;
}

.icon-arrow-up {
  width: 1em;
  height: 1em;
  -webkit-mask: url("../images/icons/icon-arrow-up.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-up.svg") center / contain no-repeat;
}

.icon-call {
  width: 16px;
  height: 16px;
  -webkit-mask: url("../images/icons/icon-call.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-call.svg") center / contain no-repeat;
}

.icon-check-circle {
  width: 16px;
  height: 16px;
  -webkit-mask: url("../images/icons/icon-check-circle.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-check-circle.svg") center / contain no-repeat;
}

.icon-loading {
  width: 1em;
  height: 1em;
  -webkit-mask: url('../images/icons/icon-loading.svg') center / contain no-repeat;
  mask: url('../images/icons/icon-loading.svg') center / contain no-repeat;
  animation: register-btn-icon-spin 1s linear infinite;
}

body.woocommerce .loader::before,
body .woocommerce .loader::before {
  background: var(--black);
  -webkit-mask: url('../images/icons/icon-hourglass.svg') center / contain no-repeat;
  mask: url('../images/icons/icon-hourglass.svg') center / contain no-repeat;
}

.confirmation-text {
  display: inline-flex;
  align-items: center;
  column-gap: 0.25em;
  color: #71CF9D;
}

.icon-location {
  width: 0.808em;
  height: 1em;
  -webkit-mask: url("../images/icons/icon-location.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-location.svg") center / contain no-repeat;
}

.icon-mail {
  width: 16px;
  height: 12.44px;
  -webkit-mask: url("../images/icons/icon-mail.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-mail.svg") center / contain no-repeat;
}

.icon-scissor {
  width: 16px;
  height: 16.75px;
  margin-left: 8px;
  transition: transform ease 0.2s;
  -webkit-mask: url("../images/icons/icon-scissor.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-scissor.svg") center / contain no-repeat;
}

.icon-shipping-truck {
  width: 20px;
  height: 14px;
  -webkit-mask: url("../images/icons/icon-shipping-truck.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-shipping-truck.svg") center / contain no-repeat;
}

.shipping-tagline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em;
  margin: 25px 0 0;
}

.shipping-tagline strong {
  font-weight: 600;
}

.icon-star {
  width: 14px;
  height: 12px;
  -webkit-mask: url("../images/icons/icon-star.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-star.svg") center / contain no-repeat;
}

.icon-tune {
  width: 0.878em;
  height: 1em;
  -webkit-mask: url("../images/icons/icon-tune.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-tune.svg") center / contain no-repeat;
}

.address-block .icon-call,
.address-block .icon-mail {
  transform: translateY(-1px);
}

.vendor-profile .vendor-location {
  font-size: 0.813rem;
  font-weight: 300;
}

.vendor-profile .vendor-location .icon-location {
  margin-right: 5px;
  transform: translateY(-1px);
}

.icon-social {
  width: 1em;
  height: 1em;
}

.icon-social--pinterest {
  -webkit-mask: url("../images/icons/icon-social-pinterest.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-pinterest.svg") center / contain no-repeat;
}

.icon-social--instagram {
  -webkit-mask: url("../images/icons/icon-social-instagram.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-instagram.svg") center / contain no-repeat;
}

.icon-social--linkedin {
  -webkit-mask: url("../images/icons/icon-social-linkedin.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-linkedin.svg") center / contain no-repeat;
}

.icon-social--facebook {
  -webkit-mask: url("../images/icons/icon-social-facebook.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-facebook.svg") center / contain no-repeat;
}

.icon-social--x {
  -webkit-mask: url("../images/icons/icon-social-x.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-x.svg") center / contain no-repeat;
}

.icon-social--flickr {
  -webkit-mask: url("../images/icons/icon-social-flickr.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-flickr.svg") center / contain no-repeat;
}

.icon-social--threads {
  -webkit-mask: url("../images/icons/icon-social-threads.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-threads.svg") center / contain no-repeat;
}

.icon-social--tiktok {
  -webkit-mask: url("../images/icons/icon-social-tiktok.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-tiktok.svg") center / contain no-repeat;
}

.icon-social--youtube {
  -webkit-mask: url("../images/icons/icon-social-youtube.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-social-youtube.svg") center / contain no-repeat;
}

.dokan-store-socialicons .store-social {
  margin: 0 0 0 15px;
  padding: 0;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info ul.store-social li {
  margin-right: 10px;
}

body .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info ul.store-social .icon-social {
  background-color: var(--black);
  font-size: 22px;
  transition: background-color 0.5s ease;
}

.dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info ul.store-social li a:hover .icon-social {
  background-color: var(--pink);
}

/* Header actions */
.header-right {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  gap: 30px;
  flex-wrap: nowrap;
}

.header-right li {
  list-style: none;
}

.header-right > li {
  flex: 0 0 auto;
}

.header-right li a {
  color: var(--black);
  font-size: 1.563rem;
  text-decoration: none;
}

.header-right li.cart-icon a {
  font-size: 1.438rem;
}

.header-right li:last-child {
  display: none;
}

.header-right .dropdown {
  position: relative;
}

/* Center the account menu beneath its icon. */
.header-right .dropdown .account-menus {
  position: absolute;
  top: 100%;
  left: 50%;
  min-width: 150px;
  margin-left: 0;
  padding: 15px;
  background: #fff;
  box-shadow: 0 5px 10px rgba(0,0,0,0.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -8px);
  transition: opacity ease 0.5s, transform ease 0.5s, visibility ease 0.5s;
  z-index: 10;
}

.header-right .dropdown:hover .account-menus,
.header-right .dropdown:focus-within .account-menus {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.header-right .dropdown .account-menus ul {
  margin: 0;
  padding: 0;
}

.header-right .dropdown .account-menus ul li {
  display: block;
  margin-bottom: 0;
}

/* Make each menu row, including its spacing, a clickable target. */
.header-right .dropdown .account-menus ul li a {
  display: block;
  padding-bottom: 12px;
  font-size: 16px;
  font-weight: 300;
  text-decoration: none;
  white-space: nowrap;
}

.header-right .dropdown .account-menus ul li:last-child a {
  padding-bottom: 0;
}

.header-right .dropdown .account-menus ul li a:hover {
  color: var(--pink);
}

/* Anchor the rightmost tooltip inward so it cannot widen the page. */
.header-right .cart-icon .header-icon::after {
  right: 0;
  left: auto;
  transform: none;
}


/* Keep the header Wishlist and basket actions and count badges aligned. */
.header-main .wishlist-icon,
.header-main .cart-icon {
  position: relative;
  display: flex;
  align-items: center;
}

.account-icon .header-icon img {
  width: 22px;
  height: 20px;
}

@media (min-width: 1025px) {
  .wishlist-icon .header-icon img {
    width: 26px;
    height: auto;
  }

  .account-icon .header-icon img {
    width: 26px;
    height: 24px;
  }

  .cart-icon .header-icon img {
    width: auto;
    height: 26px;
    transform: translateY(-2px);
  }
}

.wishlist-icon .wishlist-count,
.cart-icon .cart-count {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--pink);
  color: #fff;
  font-size: 8px;
  position: absolute;
  right: -3px;
  top: -8px;
}


form span.required,
body .woocommerce form .form-row .required {
  color: var(--color-asterisk);
}

/* Password visibility toggle */
.woocommerce-account.woocommerce-page form .show-password-input::before,
.woocommerce-account.woocommerce-page form .show-password-input.display-password::before,
.woocommerce form.woocommerce-form-register .show-password-input::before,
.woocommerce form.woocommerce-form-register .show-password-input.display-password::before,
.vendor-form .show-password-input::before,
.vendor-form .show-password-input.display-password::before {
  display: none !important;
}

.woocommerce-account.woocommerce-page form .show-password-input::after,
.woocommerce form.woocommerce-form-register .show-password-input::after,
.vendor-form .show-password-input::after {
  content: '';
  width: 25px;
  height: 25px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18' fill='none'%3E%3Cpath d='M1 8.99978C1 8.99978 4.63636 1.72705 11 1.72705C17.3636 1.72705 21 8.99978 21 8.99978C21 8.99978 17.3636 16.2725 11 16.2725C4.63636 16.2725 1 8.99978 1 8.99978Z' stroke='%231E1E1E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='11' cy='9' r='2.72727' stroke='%231E1E1E' stroke-width='2'/%3E%3C/svg%3E") no-repeat center;
  background-size: 20px 20px;
}

.woocommerce-account.woocommerce-page form .show-password-input.display-password::after,
.woocommerce form.woocommerce-form-register .show-password-input.display-password::after,
.vendor-form .show-password-input.display-password::after {
  content: '';
  width: 25px;
  height: 25px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M16.4 16.4C14.846 17.5845 12.9537 18.2408 11 18.2727C4.63636 18.2727 1 11 1 11C2.13081 8.89263 3.69921 7.05146 5.6 5.6M9.09091 3.94545C9.71667 3.79898 10.3573 3.72576 11 3.72727C17.3636 3.72727 21 11 21 11C20.4482 12.0324 19.7901 13.0043 19.0364 13.9M12.9273 12.9273C12.6776 13.1952 12.3765 13.4101 12.042 13.5592C11.7074 13.7083 11.3463 13.7884 10.9801 13.7949C10.6139 13.8013 10.2501 13.734 9.91055 13.5968C9.57096 13.4596 9.26247 13.2555 9.0035 12.9965C8.74452 12.7375 8.54036 12.429 8.40319 12.0894C8.26602 11.7499 8.19866 11.3861 8.20512 11.0199C8.21158 10.6537 8.29174 10.2926 8.4408 9.95804C8.58986 9.6235 8.80478 9.32241 9.07273 9.07273M1 1L21 21' stroke='%231E1E1E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
  background-size: 20px 20px;
}


/* WooCommerce 10.x restyles form fields; restore the theme design */
.woocommerce form .form-row {
  --wc-form-color-background: transparent;
  --wc-form-border-color: var(--black);
}

/* Remove WooCommerce's default field padding on checkout only. */
body.woocommerce-checkout form .form-row {
  padding: 0;
}

body .woocommerce form .form-row .input-text {
  padding: 13px 15px;
}


/* Sorting dropdown, shared by the WooCommerce catalog and the Dokan store page.
   WooCommerce 10.x positions its SVG caret absolutely; center it beside the text instead */
body :is(.woocommerce-ordering, .dokan-store-products-ordeby) .select2-container--default .select2-selection--single {
  border: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 20px;
}

body :is(.woocommerce-ordering, .dokan-store-products-ordeby) .select2-container--default .select2-selection--single .select2-selection__rendered {
  text-align: right;
  font-weight: 400;
  color: #000;
  line-height: normal;
  padding-right: 8px;
}

body :is(.woocommerce-ordering, .dokan-store-products-ordeby) .select2-container--default .select2-selection--single .select2-selection__arrow {
  position: static;
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
}

body :is(.woocommerce-ordering, .dokan-store-products-ordeby) .select2-container--default .select2-selection--single .select2-selection__arrow b {
  position: static;
  margin: 0;
  width: 12px;
  height: 12px;
  border: none;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

body :is(.woocommerce-ordering, .dokan-store-products-ordeby) .select2-container--default .select2-selection--single .select2-selection__arrow b::after {
  content: "";
  position: static;
  width: 7px;
  height: 7px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: translateY(-25%) rotate(45deg);
  transition: transform 250ms ease;
}

/* Rotate the sorting caret to the right while its menu is open. */
body :is(.woocommerce-ordering, .dokan-store-products-ordeby) .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b::after {
  transform: translateY(-25%) rotate(-45deg);
}

body :is(.woocommerce-ordering, .dokan-store-products-ordeby) .select2-container--default.select2-container--open.wstheme-sort-select--closing .select2-selection--single .select2-selection__arrow b::after {
  transform: translateY(-25%) rotate(45deg);
}

.dokan-store-products-ordeby .select2-container {
  width: auto !important;
  min-width: 200px;
}

/* Fade and slide the complete sorting menu without stretching its contents. */
body:is(.archive, .dokan-store) .select2-container--open .select2-dropdown--below {
  transform-origin: top;
  animation: wstheme-sort-dropdown-enter 250ms ease-out both;
  will-change: opacity, transform;
}

@keyframes wstheme-sort-dropdown-enter {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body:is(.archive, .dokan-store) .select2-container--open .select2-dropdown--below.wstheme-sort-dropdown--closing {
  pointer-events: none;
  animation-name: wstheme-sort-dropdown-exit;
  animation-timing-function: ease-in;
}

@keyframes wstheme-sort-dropdown-exit {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body :is(.woocommerce-ordering, .dokan-store-products-ordeby) .select2-container--default .select2-selection--single .select2-selection__arrow b::after {
    transition: none;
  }

  body:is(.archive, .dokan-store) .select2-container--open .select2-dropdown--below {
    animation: none;
  }
}

body.dokan-store .select2-container--open .select2-dropdown--below {
  border-top: 1px solid #aaa;
  margin-top: 0;
}

body.dokan-store .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--pink);
}


/* Keep shared pink buttons consistent. */
.btn-pink,
body a.dokan-btn,
body .dokan-become-seller input[type='submit'].dokan-btn-default,
body .dokan-become-seller a.dokan-btn-default,
body .dokan-become-seller .dokan-btn-default,
.woocommerce-account .woocommerce-info .woocommerce-Button {
  background: var(--pink);
  color: #fff;
  border: solid 1px var(--pink);
  height: 45px;
  line-height: 43px;
  padding: 0 20px;
  font-size: 1rem;
  font-weight: normal;
  border-radius: 0;
}

.btn-pink:hover,
body .dokan-become-seller input[type='submit'].dokan-btn-default:hover,
body .dokan-become-seller a.dokan-btn-default:hover,
body .dokan-become-seller .dokan-btn-default:hover,
.woocommerce-account .woocommerce-info .woocommerce-Button:hover {
  background: none !important;
  color: var(--pink) !important;
  border: solid 1px var(--pink) !important;
}

body .dokan-become-seller input[type='submit'].dokan-btn-default {
  transition: all ease 0.5s;
}

/* Basket update button uses the shared secondary orange treatment. */
.woocommerce-cart-form .shop_table .actions button[name='update_cart'] {
  height: 40px;
  padding: 0 15px !important;
  background: var(--sub-orange) !important;
  color: #fff !important;
  border: solid 1px var(--sub-orange) !important;
  border-radius: 0;
  font-weight: normal;
  line-height: 40px;
  transition: all ease 0.5s;
}

.woocommerce-cart-form .shop_table .actions button[name='update_cart']:hover {
  background: none !important;
  color: var(--sub-orange) !important;
  border-color: var(--sub-orange) !important;
}

.woocommerce-cart-form .shop_table .actions button[name='update_cart']:disabled,
.woocommerce-cart-form .shop_table .actions button[name='update_cart']:disabled:hover {
  background: var(--sub-orange) !important;
  color: #fff !important;
  border-color: var(--sub-orange) !important;
  opacity: 0.5 !important;
}

/* Present checkout headings and field labels in title case. */
body.woocommerce-checkout form.checkout h3,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields .form-row > label,
body.woocommerce-checkout form.checkout .woocommerce-shipping-fields .form-row > label,
body.woocommerce-checkout form.checkout .woocommerce-additional-fields .form-row > label,
body.woocommerce-checkout form.checkout #place_order {
  text-transform: capitalize;
}

/* Keep checkout country selectors aligned with the full-width address fields. */
body.woocommerce-checkout form.checkout :is(#billing_country_field, #shipping_country_field) .select2-container {
  width: 100% !important;
}

/* Compensate for Select2's negative bottom margin to match text-input spacing. */
body.woocommerce-checkout form.checkout :is(#billing_country_field, #shipping_country_field) {
  margin-bottom: 10px;
}

/* Dokan adds a dropdown offset globally; keep checkout country lists attached. */
body.woocommerce-checkout .select2-container--open .select2-dropdown--below {
  margin-top: 0;
}

form.update-customer-to-vendor p.form-row:has(input[name='dokan_migration']) {
  padding-top: 48px;
}

/* Keep WooCommerce pink buttons consistent, including the lost-password submit button */
.woocommerce-button,
.woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button[name='save_address'],
body .woocommerce form.woocommerce-ResetPassword .woocommerce-button,
body .woocommerce form.woocommerce-ResetPassword .woocommerce-Button {
  background: var(--pink);
  color: #fff;
  padding: 0;
  width: 100%;
  border: solid 1px var(--pink);
  font-family: var(--font-family-base);
  font-size: 18px;
  font-weight: 300;
  cursor: pointer;
  border-radius: 0;
  height: 50px;
  line-height: 50px;
  transition: background-color 0.5s ease, border-color 0.5s ease, color 0.5s ease;
}

.woocommerce-button:hover,
.woocommerce-Button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button[name='save_address']:hover,
body .woocommerce form.woocommerce-ResetPassword .woocommerce-button:hover,
body .woocommerce form.woocommerce-ResetPassword .woocommerce-Button:hover {
  background: #fff;
  border-color: var(--pink);
  color: var(--pink);
}

/* Keep My Account action buttons sized to their labels. */
.woocommerce-MyAccount-content .woocommerce-Button {
  width: auto;
}

/* Separate the full-width address action from the final form field. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button[name='save_address'] {
  width: 100%;
  margin-top: 20px;
}

/* Center password-reset button labels within the border-box control height. */
.form-container form.woocommerce-ResetPassword .woocommerce-button,
.form-container form.woocommerce-ResetPassword .woocommerce-Button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
}

/* Give the customer-to-seller application section more breathing room. */
body .woocommerce-MyAccount-content ul.dokan-account-migration-lists > li {
  padding: 30px;
}

/* Match the customer-to-seller application link with the shared pink button treatment. */
body .dokan-account-migration-lists .btn.btn-primary {
  display: inline-block;
  height: 45px;
  padding: 0 20px;
  border: solid 1px var(--pink);
  border-radius: 0;
  background: var(--pink);
  color: #fff;
  font-family: var(--font-family-base);
  font-size: 1rem;
  font-weight: normal;
  line-height: 43px;
  text-decoration: none;
  transition: background-color 0.5s ease, border-color 0.5s ease, color 0.5s ease;
}

body .dokan-account-migration-lists .btn.btn-primary:hover,
body .dokan-account-migration-lists .btn.btn-primary:focus-visible {
  background: transparent;
  border-color: var(--pink);
  color: var(--pink);
}

body .dokan-account-migration-lists .btn.btn-primary:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 2px;
}


/* Neutralize the WooCommerce register-form card and grey submit button */
body .woocommerce form.register {
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
}

body form.woocommerce-form .woocommerce-form-login__submit,
body form.woocommerce-form .woocommerce-form-register__submit {
  background: var(--pink);
  color: #fff;
  border: solid 1px var(--pink);
}

body form.woocommerce-form .woocommerce-form-login__submit:hover,
body form.woocommerce-form .woocommerce-form-register__submit:hover {
  background: none;
  color: var(--pink);
}


/* Let the vendor dashboard fill the content area edge to edge */
body.dokan-dashboard .main-container {
  padding-bottom: 0 !important;
}

body.dokan-dashboard .main-container .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

body.dokan-dashboard .dokan-dashboard-content {
  padding-right: 25px;
}


/* Store page contact-vendor popup */
.inquiry-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 10;
  transition: all ease 0.5s;
  opacity: 0;
  visibility: hidden;
  padding: 50px 15px;
}

.inquiry-popup.open-popup {
  opacity: 1;
  visibility: visible;
}

.inquiry-popup .popup-content {
  background: #fff;
  max-width: 600px;
  border-radius: 10px;
  padding: 20px;
  transform: translateY(-100%);
  transition: all ease 0.5s;
}

.inquiry-popup.open-popup .popup-content {
  transform: translateY(0%);
}

.inquiry-popup .dokan-store-menu {
  display: none;
}

.close-popup {
  background: none;
  border: none;
}

body .inquiry-popup .dokan-privacy-policy-text,
body .inquiry-popup .widget-title {
  text-align: left;
}

.inquiry-popup textarea.dokan-form-control {
  height: 168px;
  max-width: 100%;
  resize: vertical;
}

.inquiry-popup #dokan-form-contact-seller.enquiry-sent > :not(.ajax-response) {
  display: none;
}


/* Align the category background with the section top */
.category-section::before {
  content: '';
  background: url(../images/category-bg.png) center top no-repeat;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}


/* Product loop add-to-basket button icon */
.woocommerce ul.products li.product .button:after {
  content: '';
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 5H8C7.71667 5 7.47917 4.90417 7.2875 4.7125C7.09583 4.52083 7 4.28333 7 4C7 3.71667 7.09583 3.47917 7.2875 3.2875C7.47917 3.09583 7.71667 3 8 3H10V1C10 0.716667 10.0958 0.479167 10.2875 0.2875C10.4792 0.0958333 10.7167 0 11 0C11.2833 0 11.5208 0.0958333 11.7125 0.2875C11.9042 0.479167 12 0.716667 12 1V3H14C14.2833 3 14.5208 3.09583 14.7125 3.2875C14.9042 3.47917 15 3.71667 15 4C15 4.28333 14.9042 4.52083 14.7125 4.7125C14.5208 4.90417 14.2833 5 14 5H12V7C12 7.28333 11.9042 7.52083 11.7125 7.7125C11.5208 7.90417 11.2833 8 11 8C10.7167 8 10.4792 7.90417 10.2875 7.7125C10.0958 7.52083 10 7.28333 10 7V5ZM6 21C5.45 21 4.97917 20.8042 4.5875 20.4125C4.19583 20.0208 4 19.55 4 19C4 18.45 4.19583 17.9792 4.5875 17.5875C4.97917 17.1958 5.45 17 6 17C6.55 17 7.02083 17.1958 7.4125 17.5875C7.80417 17.9792 8 18.45 8 19C8 19.55 7.80417 20.0208 7.4125 20.4125C7.02083 20.8042 6.55 21 6 21ZM16 21C15.45 21 14.9792 20.8042 14.5875 20.4125C14.1958 20.0208 14 19.55 14 19C14 18.45 14.1958 17.9792 14.5875 17.5875C14.9792 17.1958 15.45 17 16 17C16.55 17 17.0208 17.1958 17.4125 17.5875C17.8042 17.9792 18 18.45 18 19C18 19.55 17.8042 20.0208 17.4125 20.4125C17.0208 20.8042 16.55 21 16 21ZM2 3H1C0.716667 3 0.479167 2.90417 0.2875 2.7125C0.0958333 2.52083 0 2.28333 0 2C0 1.71667 0.0958333 1.47917 0.2875 1.2875C0.479167 1.09583 0.716667 1 1 1H2.65C2.83333 1 3.00833 1.05 3.175 1.15C3.34167 1.25 3.46667 1.39167 3.55 1.575L7.525 10H14.525L18.15 3.5C18.2333 3.33333 18.35 3.20833 18.5 3.125C18.65 3.04167 18.8167 3 19 3C19.3833 3 19.6708 3.1625 19.8625 3.4875C20.0542 3.8125 20.0583 4.14167 19.875 4.475L16.3 10.95C16.1167 11.2833 15.8708 11.5417 15.5625 11.725C15.2542 11.9083 14.9167 12 14.55 12H7.1L6 14H17C17.2833 14 17.5208 14.0958 17.7125 14.2875C17.9042 14.4792 18 14.7167 18 15C18 15.2833 17.9042 15.5208 17.7125 15.7125C17.5208 15.9042 17.2833 16 17 16H6C5.25 16 4.67917 15.675 4.2875 15.025C3.89583 14.375 3.88333 13.7167 4.25 13.05L5.6 10.6L2 3Z' fill='%231C1B1F'/%3E%3C/svg%3E%0A");
  mask-image: url("data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 5H8C7.71667 5 7.47917 4.90417 7.2875 4.7125C7.09583 4.52083 7 4.28333 7 4C7 3.71667 7.09583 3.47917 7.2875 3.2875C7.47917 3.09583 7.71667 3 8 3H10V1C10 0.716667 10.0958 0.479167 10.2875 0.2875C10.4792 0.0958333 10.7167 0 11 0C11.2833 0 11.5208 0.0958333 11.7125 0.2875C11.9042 0.479167 12 0.716667 12 1V3H14C14.2833 3 14.5208 3.09583 14.7125 3.2875C14.9042 3.47917 15 3.71667 15 4C15 4.28333 14.9042 4.52083 14.7125 4.7125C14.5208 4.90417 14.2833 5 14 5H12V7C12 7.28333 11.9042 7.52083 11.7125 7.7125C11.5208 7.90417 11.2833 8 11 8C10.7167 8 10.4792 7.90417 10.2875 7.7125C10.0958 7.52083 10 7.28333 10 7V5ZM6 21C5.45 21 4.97917 20.8042 4.5875 20.4125C4.19583 20.0208 4 19.55 4 19C4 18.45 4.19583 17.9792 4.5875 17.5875C4.97917 17.1958 5.45 17 6 17C6.55 17 7.02083 17.1958 7.4125 17.5875C7.80417 17.9792 8 18.45 8 19C8 19.55 7.80417 20.0208 7.4125 20.4125C7.02083 20.8042 6.55 21 6 21ZM16 21C15.45 21 14.9792 20.8042 14.5875 20.4125C14.1958 20.0208 14 19.55 14 19C14 18.45 14.1958 17.9792 14.5875 17.5875C14.9792 17.1958 15.45 17 16 17C16.55 17 17.0208 17.1958 17.4125 17.5875C17.8042 17.9792 18 18.45 18 19C18 19.55 17.8042 20.0208 17.4125 20.4125C17.0208 20.8042 16.55 21 16 21ZM2 3H1C0.716667 3 0.479167 2.90417 0.2875 2.7125C0.0958333 2.52083 0 2.28333 0 2C0 1.71667 0.0958333 1.47917 0.2875 1.2875C0.479167 1.09583 0.716667 1 1 1H2.65C2.83333 1 3.00833 1.05 3.175 1.15C3.34167 1.25 3.46667 1.39167 3.55 1.575L7.525 10H14.525L18.15 3.5C18.2333 3.33333 18.35 3.20833 18.5 3.125C18.65 3.04167 18.8167 3 19 3C19.3833 3 19.6708 3.1625 19.8625 3.4875C20.0542 3.8125 20.0583 4.14167 19.875 4.475L16.3 10.95C16.1167 11.2833 15.8708 11.5417 15.5625 11.725C15.2542 11.9083 14.9167 12 14.55 12H7.1L6 14H17C17.2833 14 17.5208 14.0958 17.7125 14.2875C17.9042 14.4792 18 14.7167 18 15C18 15.2833 17.9042 15.5208 17.7125 15.7125C17.5208 15.9042 17.2833 16 17 16H6C5.25 16 4.67917 15.675 4.2875 15.025C3.89583 14.375 3.88333 13.7167 4.25 13.05L5.6 10.6L2 3Z' fill='%231C1B1F'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  display: inline-block;
  width: 18px;
  height: 19px;
  margin-top: 15px;
  vertical-align: top;
  margin-left: 10px;
  position: relative;
  top: 0;
  right: 0;
  animation: none;
  transition: all ease 0.5s;
}

/* Read-more links are navigation controls, not add-to-basket actions. */
.woocommerce ul.products li.product .button.read-more-button:after {
  display: none;
}

.woocommerce ul.products li.product .button.read-more-button:hover {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}


/* Hover state for the auth-form text links (login "Forgot password?", register terms/privacy) */
.woocommerce-form-login__rememberme + a:hover,
body .woocommerce .terms a:hover,
.woocommerce-privacy-policy-text a:hover {
  color: var(--black);
}


/* Filter panel Clear/Apply buttons: pink border kept from the start so the hover swap doesn't shift layout */
.filter-button button {
  background: var(--pink);
  color: #fff;
  border: solid 1px var(--pink);
  cursor: pointer;
  transition: all ease 0.5s;
}

.filter-button button:hover {
  background: none;
  color: var(--pink);
}


/* Filter tags: padding moved onto the anchor so the whole pill is clickable, not just the text/icon */
.filterTags span {
  background: #FEF6F0;
  border: solid 1px #000;
  font-size: 1rem;
  font-weight: 400;
}

.filterTags span a {
  display: block;
  padding: 10px 15px;
  color: #000;
  text-decoration: none;
}


/* Filter toggle button: add the shared transition so the hover color swap animates */
.filter-toggle {
  border: solid 1px #000;
  background: none;
  padding: 12px 20px;
  border-radius: 4px;
  font-family: var(--font-family-base);
  font-size: 1rem;
  cursor: pointer;
  margin-left: 0px;
  display: flex;
  align-items: center;
  color: #000;
  transition: all ease 0.5s;
}

.filter-toggle .icon-tune {
  margin-right: 5px;
}

.filter-toggle:hover {
  background: var(--pink);
  color: var(--white);
  border: solid 1px var(--pink);
}


/* Filter panel close button: enlarged and tucked closer to the panel edge */
.filter-slide .close-filter {
  position: relative;
  right: 0px;
  top: 0;
  color: #fff;
  background: none;
  border: none;
  font-size: 50px;
  float: right;
  cursor: pointer;
  padding: 0;
}

.filter-slide.open-filter .close-filter {
  right: -50px;
}


/* Filter labels: inline-flex so the clickable area hugs the checkbox and text instead of filling the row */
.custom-checkbox label,
.custom-radio label {
  font-size: 0.813rem;
  display: inline-flex;
  align-items: center;
  font-weight: 400;
}


/* Radio hover: show only the inner dot, keeping the black border so hover reads differently from the pink-bordered selected state */
.custom-radio input[type="radio"]:hover + label:after {
  content: "";
  position: absolute;
  left: 5px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--pink);
}


/* Shared button icon motion */
.btn i,
.btn .icon-arrow-forward,
.btn .icon-arrow-right,
.btn-prev .icon-arrow-back {
  transition: transform ease 0.2s;
  font-weight: 400;
}

.btn:hover i,
.btn:hover .icon-arrow-forward,
.btn:hover .icon-arrow-right {
  transform: translateX(5px);
}

.btn:hover .icon-scissor {
  transform: translateX(5px);
}

.btn-prev:hover .icon-arrow-back {
  transform: translateX(-5px);
}


/* About page service grid and call-to-action */
.services-slider {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.services-slider .item {
  min-width: 0;
}

.service-box .btn {
  margin-top: 5px;
  display: inline-block;
}

.service-box .btn .icon-arrow-forward {
  margin-left: 10px;
}

/* Size gallery arrows independently of the service button arrows. */
.workshop-slider-arrow .icon-arrow-back,
.workshop-slider-arrow .icon-arrow-forward {
  width: 1em;
}


/* Registration agreement checkbox */
.woocommerce-form__label.checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.woocommerce-form__label.checkbox {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.5;
}

.woocommerce-form__label.checkbox span:first-of-type {
  position: relative;
  padding-left: 34px;
}

.woocommerce-form__label.checkbox span:first-of-type::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border: 2px solid var(--pink);
  border-radius: 4px;
  background: #fff;
  transition: all .3s ease;
}

.woocommerce-form__label.checkbox span:first-of-type::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 6px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity .3s ease;
}

.woocommerce-form__label.checkbox input[type="checkbox"]:checked + span::before {
  background: var(--pink);
  border-color: var(--pink);
}

.woocommerce-form__label.checkbox input[type="checkbox"]:checked + span::after {
  opacity: 1;
}

.woocommerce-form__label.checkbox:hover span::before {
  border-color: #d83874;
}

.woocommerce-form__label.checkbox input[type="checkbox"]:focus-visible + span::before {
  outline: 2px solid var(--black);
  outline-offset: 2px;
}


/* Apply Seller form */
.vendor-form {
  margin: 50px 0 0;
}

.vendor-form h2 {
  margin-bottom: 10px;
  font-family: 'Grande';
  font-size: 2.5rem;
  font-weight: 400;
}

.vendor-form .form-column label {
  display: block;
}

.vendor-form .form-column input,
.vendor-form .form-row input {
  width: 100%;
  height: 48px;
  padding: 10px;
  border: solid 1px #000;
  border-radius: 4px;
  font-family: var(--font-family-base);
  font-size: 1rem;
}

.vendor-form .password-input {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.vendor-form .password-input input {
  padding-right: 50px;
}

.vendor-form .show-password-input {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 25px;
  height: 25px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--black);
  cursor: pointer;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  transform: translateY(-50%);
  -webkit-appearance: none;
  -moz-osx-font-smoothing: inherit;
  -webkit-font-smoothing: inherit;
}

.vendor-form .show-password-input:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 2px;
}

.vendor-form .vendor-form-row {
  display: flex;
  gap: 30px;
}

.vendor-form .vendor-form-row .form-column {
  width: 50%;
}

.vendor-form .vendor-description-row {
  margin-top: 16px;
}

.vendor-form .form-row textarea {
  width: 100%;
  height: 168px;
  padding: 10px;
  border: solid 1px #000;
  border-radius: 4px;
  font-family: var(--font-family-base);
  font-size: 1rem;
}

.vendor-form .form-row.terms > label:not(.error) {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.vendor-form .form-row.terms {
  margin-top: 32px;
}

.vendor-form .form-row.terms input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0 10px 0 0;
  padding: 0;
  border: 2px solid var(--pink);
  border-radius: 4px;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 12px 12px;
  cursor: pointer;
  transition: all .3s ease;
}

.vendor-form .form-row.terms input[type="checkbox"]:checked {
  border-color: var(--pink);
  background-color: var(--pink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.7 9 10 3' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.vendor-form .form-row.terms input[type="checkbox"]:not(:checked):hover {
  border-color: #d83874;
}

.vendor-form .form-row.terms input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 2px;
}

.vendor-form .form-row.terms a {
  margin-left: 5px;
  color: #3D9B69;
}

.vendor-form .dokan-btn-outer {
  margin-top: 32px;
  text-align: left;
}

body .vendor-form .dokan-btn-outer .dokan-btn {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  height: 50px;
  padding: 10px 25px;
  border: solid 1px var(--green) !important;
  border-radius: 0;
  background: var(--green) !important;
  color: var(--white) !important;
  font-family: var(--font-family-base);
  font-size: 1.125rem;
  font-weight: 300;
  transition: all ease 0.5s;
}

body .vendor-form .dokan-btn-outer .register-btn-icon {
  display: inline-block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  background-color: currentColor;
  -webkit-mask: url('../images/icons/icon-send.svg') center / contain no-repeat;
  mask: url('../images/icons/icon-send.svg') center / contain no-repeat;
}

body .vendor-form .dokan-btn-outer .register-btn-icon.is-loading {
  -webkit-mask: url('../images/icons/icon-loading.svg') center / contain no-repeat;
  mask: url('../images/icons/icon-loading.svg') center / contain no-repeat;
  animation: register-btn-icon-spin 1s linear infinite;
}

@keyframes register-btn-icon-spin {
  to {
    transform: rotate(360deg);
  }
}

body .vendor-form .dokan-btn-outer .dokan-btn:hover,
body .vendor-form .dokan-btn-outer .dokan-btn:focus-visible {
  border-color: var(--pink) !important;
  background: transparent !important;
  color: var(--pink) !important;
}

body .vendor-form .dokan-btn-outer .dokan-btn:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 2px;
}


/* Form validation and AJAX response messages */
label.error {
  color: red;
  font-size: 12px;
  font-weight: 300;
}

.alert-error {
  color: red;
}

.alert-success {
  color: green;
}


/* Why Upcycling Textiles carousel */
.upcycling-page {
  padding: 100px 0 0;
}

.upcycling-page h2 {
  margin: 0;
  padding: 0;
  color: #000;
  font-family: 'Grande';
  font-size: 40px;
  font-weight: normal;
  line-height: 40px;
}

.upcycling-section {
  --upcycling-content-width: 700px;
  --upcycling-card-gap: 24px;
  margin-top: 40px;
  padding: 100px 0;
  background: url('../images/upcycling-graphics.png') center top no-repeat;
}

.upcycling-section h2 {
  max-width: var(--upcycling-content-width);
  margin: auto;
  padding-bottom: 120px;
  text-align: left;
}

.upcycling-des {
  padding-left: 35px;
}

.upcycling-slider .slick-list {
  box-sizing: border-box;
  padding-left: max(15px, calc((100% - var(--upcycling-content-width)) / 2));
}

.upcycling-slider .slick-track {
  display: flex;
}

.upcycling-slider .item {
  flex: 0 0 40vw;
  width: 40vw;
  height: auto;
  margin-right: var(--upcycling-card-gap);
  padding: 0;
  opacity: 0.5;
}

.upcycling-slider .item.slick-current {
  opacity: 1;
}

.upcycling-box {
  height: 100%;
  overflow: hidden;
  border-radius: 30px;
  background: #FEF6F0;
}

.upcycling-box > img {
  display: block;
  width: 100%;
}

.upcycling-box .box-des {
  padding: 30px;
}

.upcycling-box .box-des h2 {
  margin: 0;
  padding: 0;
  font-size: 36px;
  line-height: 32px;
}

.upcycling-slider .slick-dots {
  position: absolute;
  top: -60px;
  right: 0;
  left: 0;
  display: flex;
  width: var(--upcycling-content-width);
  margin: auto;
  padding: 0;
}

.upcycling-slider .slick-dots li {
  margin: 0 25px 0 0;
  list-style: none;
}

.upcycling-slider .slick-dots li button {
  border: none;
  background: none;
  color: #E1E1E3;
  font-family: 'Grande';
  font-size: 24px;
  font-weight: normal;
  cursor: pointer;
}

.upcycling-slider .slick-dots li.slick-active button {
  color: var(--pink);
}

/* Footer newsletter form: MailerLite's generated CSS is intentionally omitted. */
.form-subscribe {
  font-size: 0.875rem;
  padding-left: 0;
}

.form-subscribe .ml-block-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
}

.form-subscribe .ml-form-formContent {
  flex: 1 1 0;
  min-width: 0;
}

.form-subscribe .ml-field-group label {
  display: block;
  color: var(--black);
  font-size: 0.75rem;
}

.form-subscribe .ml-field-group input[type="email"] {
  width: 100%;
  min-height: 48px;
  padding: 10px 15px;
  border: solid 1.5px var(--black);
  border-radius: 0;
  background: none;
  color: var(--black);
  font-family: var(--font-family-base);
  font-size: 1rem;
}

.form-subscribe .ml-form-embedSubmit {
  flex: 0 0 auto;
}

.form-subscribe .ml-form-embedSubmit button {
  min-height: 48px;
  padding: 10px 15px;
  border: solid 1.5px var(--pink);
  border-radius: 0;
  background: none;
  color: var(--pink);
  font-family: var(--font-family-base);
  font-size: 1rem;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.5s ease, border-color 0.5s ease, color 0.5s ease;
}

.form-subscribe .ml-form-embedSubmit button:hover {
  border-color: var(--pink);
  background: var(--pink);
  color: #fff;
}

.form-subscribe .ml-block-form.is-recaptcha-pending .ml-form-embedSubmit button.primary,
.form-subscribe .ml-block-form.is-recaptcha-pending .ml-form-embedSubmit button.primary:hover {
  background: none;
  color: var(--pink);
  cursor: not-allowed;
  opacity: 0.55;
}

.form-subscribe .ml-form-recaptcha {
  order: 3;
  flex-basis: 100%;
}

.form-subscribe .ml-form-successBody {
  margin-top: 20px;
  padding: 20px;
  border: solid 1.5px var(--pink);
}

.form-subscribe .ml-form-successContent h4 {
  margin: 0 0 10px;
  font-weight: 400;
}

.form-subscribe .ml-form-successContent p:last-child {
  margin-bottom: 0;
}

.form-subscribe small {
  display: block;
  margin-top: 15px;
  font-size: 0.75rem;
}

.form-subscribe small a {
  color: var(--pink);
}

.form-subscribe small a:hover {
  color: var(--black);
}

/* Product-detail pricing */
.woocommerce div.product div.summary .price {
  margin: 0 0 10px;
  padding: 0;
}

.woocommerce div.product div.summary .woocommerce-Price-amount bdi {
  color: #000;
  font-size: 1.75rem;
  font-weight: 600;
}

/* Keep the sale-price strike-through centred and matched to the standard-price text. */
body.single-product.woocommerce div.product div.summary .price del {
  position: relative;
  display: inline-block;
  color: #000;
  line-height: 1;
  text-decoration: none;
}

body.single-product.woocommerce div.product div.summary .price del::after {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  content: '';
  border-top: 1px solid currentColor;
  transform: translateY(-50%);
}

/* Base accordion indicator. */
.acc__title::after {
  width: 8px;
  height: 8px;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
  content: " ";
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(-45deg);
  transition: all 0.2s ease-in-out;
}

.acc__title.active::after {
  transform: rotate(45deg);
  transition: all 0.2s ease-in-out;
}

/* Match product-detail indicator rotation to the accordion panel animation. */
body.single-product .product-description .acc__title::after,
body.single-product .shop-review .acc__title::after {
  transition: all 0.4s ease-in-out;
}

/* Store-review pagination arrows use local SVGs instead of icon fonts. */
.pagination-wrap {
  text-align: center;
}

.shop-review .pagination-wrap ul.pagination {
  display: flex;
  justify-content: center;
}

.shop-review .pagination-wrap ul.pagination > li > span,
.shop-review .pagination-wrap ul.pagination > li > a {
  background: none;
  border: none;
  padding: 0;
}

.shop-review .pagination-wrap ul.pagination > li > a:hover {
  background: none;
  color: var(--pink);
}

.shop-review .pagination-wrap ul.pagination > li > a.next.page-numbers,
.shop-review .pagination-wrap ul.pagination > li > a.prev.page-numbers {
  font-size: 0;
}

.shop-review .pagination-wrap ul.pagination > li > a.next.page-numbers::before,
.shop-review .pagination-wrap ul.pagination > li > a.prev.page-numbers::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 10px;
  background-color: currentColor;
}

.shop-review .pagination-wrap ul.pagination > li > a.next.page-numbers::before {
  -webkit-mask: url("../images/icons/icon-arrow-forward.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-forward.svg") center / contain no-repeat;
}

.shop-review .pagination-wrap ul.pagination > li > a.prev.page-numbers::before {
  -webkit-mask: url("../images/icons/icon-arrow-back.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-arrow-back.svg") center / contain no-repeat;
}

.shop-review .pagination-wrap ul.pagination > li > span.current {
  background: none;
  color: var(--pink);
}

/* Center the Wishlist basket label and arrow independently of the text baseline. */
.wishlist-basket-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.4em;
  line-height: 1.2;
}

/* Keep Wishlist item removal spacing and hover feedback after replacing the icon font. */
table.wishlist_table.shop_table .product-remove {
  padding-right: 25px;
}

.wishlist-outer .wishlist-items-wrapper a.remove {
  color: var(--black) !important;
  font-size: 1rem;
  font-weight: 600 !important;
}

.wishlist-outer .wishlist-items-wrapper a.remove:hover {
  color: var(--pink) !important;
}

/* Use the local favourite icon while preserving the Follow button hover colour. */
.follow-btn {
  padding: 12px 20px;
  border: solid 1px #000;
  border-radius: 5px;
  background: none;
  text-decoration: none;
}

.follow-btn__icon {
  display: inline-block;
  width: 18px;
  height: 16px;
  margin-right: 4px;
  vertical-align: -2px;
  background-color: currentColor;
  -webkit-mask: url("../images/icons/icon-favorite.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-favorite.svg") center / contain no-repeat;
}

.follow-btn:hover {
  color: var(--pink);
  background: none;
  border-color: var(--pink);
}
/* Keep the Wishlist Add to Basket action on one line. */
body .shop_table .wishlist-items-wrapper .product-add-to-cart {
  width: 163px;
}

body .shop_table .wishlist-items-wrapper .product-add-to-cart .add_to_cart_button {
  display: flex !important;
  width: 163px;
  padding: 5px 45px 5px 10px;
  border: solid 1px var(--pink);
  color: var(--white);
  background: var(--pink);
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 5H8C7.71667 5 7.47917 4.90417 7.2875 4.7125C7.09583 4.52083 7 4.28333 7 4C7 3.71667 7.09583 3.47917 7.2875 3.2875C7.47917 3.09583 7.71667 3 8 3H10V1C10 0.716667 10.0958 0.479167 10.2875 0.2875C10.4792 0.0958333 10.7167 0 11 0C11.2833 0 11.5208 0.0958333 11.7125 0.2875C11.9042 0.479167 12 0.716667 12 1V3H14C14.2833 3 14.5208 3.09583 14.7125 3.2875C14.9042 3.47917 15 3.71667 15 4C15 4.28333 14.9042 4.52083 14.7125 4.7125C14.5208 4.90417 14.2833 5 14 5H12V7C12 7.28333 11.9042 7.52083 11.7125 7.7125C11.5208 7.90417 11.2833 8 11 8C10.7167 8 10.4792 7.90417 10.2875 7.7125C10.0958 7.52083 10 7.28333 10 7V5ZM6 21C5.45 21 4.97917 20.8042 4.5875 20.4125C4.19583 20.0208 4 19.55 4 19C4 18.45 4.19583 17.9792 4.5875 17.5875C4.97917 17.1958 5.45 17 6 17C6.55 17 7.02083 17.1958 7.4125 17.5875C7.80417 17.9792 8 18.45 8 19C8 19.55 7.80417 20.0208 7.4125 20.4125C7.02083 20.8042 6.55 21 6 21ZM16 21C15.45 21 14.9792 20.8042 14.5875 20.4125C14.1958 20.0208 14 19.55 14 19C14 18.45 14.1958 17.9792 14.5875 17.5875C14.9792 17.1958 15.45 17 16 17C16.55 17 17.0208 17.1958 17.4125 17.5875C17.8042 17.9792 18 18.45 18 19C18 19.55 17.8042 20.0208 17.4125 20.4125C17.0208 20.8042 16.55 21 16 21ZM2 3H1C0.716667 3 0.479167 2.90417 0.2875 2.7125C0.0958333 2.52083 0 2.28333 0 2C0 1.71667 0.0958333 1.47917 0.2875 1.2875C0.479167 1.09583 0.716667 1 1 1H2.65C2.83333 1 3.00833 1.05 3.175 1.15C3.34167 1.25 3.46667 1.39167 3.55 1.575L7.525 10H14.525L18.15 3.5C18.2333 3.33333 18.35 3.20833 18.5 3.125C18.65 3.04167 18.8167 3 19 3C19.3833 3 19.6708 3.1625 19.8625 3.4875C20.0542 3.8125 20.0583 4.14167 19.875 4.475L16.3 10.95C16.1167 11.2833 15.8708 11.5417 15.5625 11.725C15.2542 11.9083 14.9167 12 14.55 12H7.1L6 14H17C17.2833 14 17.5208 14.0958 17.7125 14.2875C17.9042 14.4792 18 14.7167 18 15C18 15.2833 17.9042 15.5208 17.7125 15.7125C17.5208 15.9042 17.2833 16 17 16H6C5.25 16 4.67917 15.675 4.2875 15.025C3.89583 14.375 3.88333 13.7167 4.25 13.05L5.6 10.6L2 3Z' fill='%23ffffff'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 90%;
  background-size: 19px;
  font-weight: 300;
  text-decoration: none;
  white-space: nowrap;
}

body .shop_table .wishlist-items-wrapper .add_to_cart_button:hover {
  color: var(--pink);
  background: none;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 5H8C7.71667 5 7.47917 4.90417 7.2875 4.7125C7.09583 4.52083 7 4.28333 7 4C7 3.71667 7.09583 3.47917 7.2875 3.2875C7.47917 3.09583 7.71667 3 8 3H10V1C10 0.716667 10.0958 0.479167 10.2875 0.2875C10.4792 0.0958333 10.7167 0 11 0C11.2833 0 11.5208 0.0958333 11.7125 0.2875C11.9042 0.479167 12 0.716667 12 1V3H14C14.2833 3 14.5208 3.09583 14.7125 3.2875C14.9042 3.47917 15 3.71667 15 4C15 4.28333 14.9042 4.52083 14.7125 4.7125C14.5208 4.90417 14.2833 5 14 5H12V7C12 7.28333 11.9042 7.52083 11.7125 7.7125C11.5208 7.90417 11.2833 8 11 8C10.7167 8 10.4792 7.90417 10.2875 7.7125C10.0958 7.52083 10 7.28333 10 7V5ZM6 21C5.45 21 4.97917 20.8042 4.5875 20.4125C4.19583 20.0208 4 19.55 4 19C4 18.45 4.19583 17.9792 4.5875 17.5875C4.97917 17.1958 5.45 17 6 17C6.55 17 7.02083 17.1958 7.4125 17.5875C7.80417 17.9792 8 18.45 8 19C8 19.55 7.80417 20.0208 7.4125 20.4125C7.02083 20.8042 6.55 21 6 21ZM16 21C15.45 21 14.9792 20.8042 14.5875 20.4125C14.1958 20.0208 14 19.55 14 19C14 18.45 14.1958 17.9792 14.5875 17.5875C14.9792 17.1958 15.45 17 16 17C16.55 17 17.0208 17.1958 17.4125 17.5875C17.8042 17.9792 18 18.45 18 19C18 19.55 17.8042 20.0208 17.4125 20.4125C17.0208 20.8042 16.55 21 16 21ZM2 3H1C0.716667 3 0.479167 2.90417 0.2875 2.7125C0.0958333 2.52083 0 2.28333 0 2C0 1.71667 0.0958333 1.47917 0.2875 1.2875C0.479167 1.09583 0.716667 1 1 1H2.65C2.83333 1 3.00833 1.05 3.175 1.15C3.34167 1.25 3.46667 1.39167 3.55 1.575L7.525 10H14.525L18.15 3.5C18.2333 3.33333 18.35 3.20833 18.5 3.125C18.65 3.04167 18.8167 3 19 3C19.3833 3 19.6708 3.1625 19.8625 3.4875C20.0542 3.8125 20.0583 4.14167 19.875 4.475L16.3 10.95C16.1167 11.2833 15.8708 11.5417 15.5625 11.725C15.2542 11.9083 14.9167 12 14.55 12H7.1L6 14H17C17.2833 14 17.5208 14.0958 17.7125 14.2875C17.9042 14.4792 18 14.7167 18 15C18 15.2833 17.9042 15.5208 17.7125 15.7125C17.5208 15.9042 17.2833 16 17 16H6C5.25 16 4.67917 15.675 4.2875 15.025C3.89583 14.375 3.88333 13.7167 4.25 13.05L5.6 10.6L2 3Z' fill='%23fc578a'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 90%;
  background-size: 19px;
  border-color: var(--pink);
}

/* Product-detail accordion panels. */
.product-description .acc__panel {
  padding: 5px 0 20px;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
}

/* Keep the Description panel padding out of the slide animation. */
.product-description .product-description__panel {
  padding: 0;
}

.product-description .product-description__panel-content {
  padding: 5px 0 20px;
}

/* Circular-economy carousel navigation */
/* Center the local SVGs inside the existing arrow controls. */
.circular-slider-outer .slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  max-height: 20px;
  border: none;
  background: none;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.circular-slider-outer .slick-arrow.slick-disabled {
  opacity: 0.5;
}

.circular-slider-outer .slick-arrow.slick-prev02 {
  left: -30px;
}

.circular-slider-outer .slick-arrow.slick-next02 {
  right: -30px;
}

/* Shared form fields */
.form-row input {
  width: 100%;
  padding: 13px 15px;
  border: solid 1px var(--black);
  border-radius: 4px;
  background: none;
  font-family: var(--font-family-base);
  font-size: 1rem;
}

/* Contact form */
.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 10px;
  font-family: var(--font-family-base);
}

.contact-form textarea {
  min-height: 90px;
}

.contact-form .wpcf7-submit {
  width: auto;
  height: 48px;
  padding: 0 25px;
  border: solid 1px var(--pink);
  background: var(--pink);
  color: var(--white);
  font-size: 1rem;
  line-height: 48px;
  cursor: pointer;
  transition: all ease 0.5s;
}

.contact-form .wpcf7-submit:hover {
  background-color: transparent;
  color: var(--pink);
}

.contact-form label {
  font-size: 1rem;
  font-weight: 300;
}

/* Shared base-font declarations migrated from custom.css */
.dgwt-wcas-search-wrapp.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
  padding: 6px 48px 6px 24px;
  border: solid 2px #707070;
  background: none;
  color: var(--black);
  font-family: var(--font-family-base);
  font-size: 0.875rem;
  transition: background-color 0.2s ease;
}

.dgwt-wcas-search-wrapp.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::-moz-placeholder {
  color: var(--black);
  font-family: var(--font-family-base);
}

.dgwt-wcas-search-wrapp.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::placeholder {
  color: var(--black);
  font-family: var(--font-family-base);
}

.form-control {
  height: 48px;
  border-radius: 4px;
  font-family: var(--font-family-base);
}

.woocommerce .button {
  height: 48px;
  padding: 0 15px;
  border: solid 1px var(--pink);
  border-radius: 0;
  background: var(--pink);
  color: #fff;
  font-family: var(--font-family-base);
  font-size: 1rem;
  font-weight: 300;
  line-height: 48px;
  text-decoration: none;
}

.woocommerce form .form-row textarea {
  padding: 10px;
  font-family: var(--font-family-base);
}

/* Match the seller migration description field to the other form inputs. */
form.update-customer-to-vendor textarea[name='description'] {
  font-size: 1rem;
}

body ul.products li.product .woocommerce-loop-product__title,
.woocommerce .regular.slider .woocommerce-loop-product__title {
  padding: 0.5em 0;
  font-family: var(--font-family-base);
  font-size: 0.813rem;
  font-weight: 400;
}

.filter-button a,
.filter-button button {
  width: 50%;
  padding: 10px;
  font-family: var(--font-family-base);
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
}

.woocommerce-ordering select {
  padding: 10px;
  border: none;
  background: none;
  font-family: var(--font-family-base);
  font-size: 1rem;
}

body.woocommerce div.product form.cart .variations select {
  width: 100%;
  min-width: auto;
  max-width: 250px;
  margin-bottom: 15px;
  padding: 10px;
  font-family: var(--font-family-base);
}

.product-description .acc__title {
  padding: 1em 0;
  background: none;
  color: #000;
  font-family: var(--font-family-base);
  font-size: 16px;
}

.review-toggle .acc__title {
  display: flex;
  align-items: center;
  max-width: 250px;
  color: #000;
  font-family: var(--font-family-base);
  font-size: 0.875rem;
}

body input[type='submit'].dokan-btn-theme {
  border: solid 1px var(--pink);
  background: var(--pink);
  font-family: var(--font-family-base);
}

body input[type='submit'].dokan-btn-theme,
body a.dokan-btn-theme,
body .dokan-btn-theme {
  border: solid 1px var(--pink) !important;
  background: var(--pink) !important;
  color: var(--white);
  font-family: var(--font-family-base);
  transition: all ease 0.5s;
}

.dokan-store-widget input[type=text],
.dokan-store-widget input[type=email],
.dokan-store-widget textarea,
.dokan-store-products-filter-area .orderby-search,
.dokan-store-products-filter-area .product-name-search {
  font-family: var(--font-family-base);
}

.dokan-form-group .dokan-btn {
  padding: 6px 12px;
  font-family: var(--font-family-base);
  font-size: 13px;
}

.dokan-form-group .dokan-form-control {
  height: 35px;
  font-family: var(--font-family-base);
}

.woocommerce-email-correction {
  margin-top: 24px;
}

.woocommerce-email-correction summary {
  color: var(--black);
  cursor: pointer;
  font-size: 18px;
}

.woocommerce-email-correction[open] summary {
  margin-bottom: 20px;
}

/* Match the My Account primary action after the correction form opens. */
body .woocommerce-email-correction .woocommerce-form button[name='wstheme_correct_verification_email'] {
  width: 100%;
  height: 50px;
  padding: 0;
  border: 1px solid var(--pink);
  border-radius: 0;
  background: var(--pink);
  color: #fff;
  font-family: var(--font-family-base);
  font-size: 18px;
  font-weight: 300;
  line-height: 50px;
  cursor: pointer;
  transition: background-color 0.5s ease, border-color 0.5s ease, color 0.5s ease;
}

body .woocommerce-email-correction .woocommerce-form button[name='wstheme_correct_verification_email']:hover {
  background: #fff;
  color: var(--pink);
}
