:root {
  --ps-icon-color: #333;
  --ps-icon-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  --ps-icon-compare: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3h5v5M4 20 21 3M21 16v5h-5M15 15l6 6M4 4l5 5'/%3E%3C/svg%3E");
  --ps-icon-wishlist: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
  --ps-icon-account: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  --ps-icon-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
  --ps-icon-shop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h18v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9z'/%3E%3Cpath d='M3 9l2-6h14l2 6'/%3E%3C/svg%3E");
  --ps-icon-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M5 12l7-7 7 7'/%3E%3C/svg%3E");
  --ps-icon-arrow-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E");
  --ps-icon-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
  --ps-icon-arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --ps-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
  --ps-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3-3'/%3E%3C/svg%3E");
  --ps-icon-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

@font-face {
  font-family: "woodmart-font";
  src: url("../fonts/woodmart-font.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Shared mask helper */
.ps-icon-mask-before::before,
.ps-icon-mask-after::after {
  content: "" !important;
  display: block !important;
  font-family: inherit !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-mask) center / contain no-repeat !important;
  mask: var(--ps-icon-mask) center / contain no-repeat !important;
  opacity: 1 !important;
}

/* Header toolbar icons — use ::before (theme default) */
.wd-header-cart .wd-tools-icon,
.wd-header-compare .wd-tools-icon,
.wd-header-wishlist .wd-tools-icon,
.wd-header-my-account .wd-tools-icon,
.wd-header-mobile-nav .wd-tools-icon,
.wd-toolbar-shop .wd-tools-icon,
.wd-header-search .wd-tools-icon {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  min-height: 20px;
}

.wd-header-cart .wd-tools-icon { --ps-icon-mask: var(--ps-icon-cart); }
.wd-header-compare .wd-tools-icon { --ps-icon-mask: var(--ps-icon-compare); }
.wd-header-wishlist .wd-tools-icon { --ps-icon-mask: var(--ps-icon-wishlist); }
.wd-header-my-account .wd-tools-icon { --ps-icon-mask: var(--ps-icon-account); }
.wd-header-mobile-nav .wd-tools-icon { --ps-icon-mask: var(--ps-icon-menu); }
.wd-toolbar-shop .wd-tools-icon { --ps-icon-mask: var(--ps-icon-shop); }
.wd-header-search .wd-tools-icon { --ps-icon-mask: var(--ps-icon-search); }

.wd-header-cart .wd-tools-icon::before,
.wd-header-compare .wd-tools-icon::before,
.wd-header-wishlist .wd-tools-icon::before,
.wd-header-my-account .wd-tools-icon::before,
.wd-header-mobile-nav .wd-tools-icon::before,
.wd-toolbar-shop .wd-tools-icon::before,
.wd-header-search .wd-tools-icon::before {
  content: "" !important;
  display: block !important;
  width: 20px;
  height: 20px;
  font-family: inherit !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-mask) center / contain no-repeat !important;
  mask: var(--ps-icon-mask) center / contain no-repeat !important;
  opacity: 1 !important;
}

.wd-toolbar .wd-header-cart .wd-tools-icon::before,
.wd-toolbar .wd-header-wishlist .wd-tools-icon::before,
.wd-toolbar .wd-header-my-account .wd-tools-icon::before,
.wd-toolbar-shop .wd-tools-icon::before {
  width: 22px;
  height: 22px;
}

/* Search header: close icon when search panel is open */
.wd-header-search .wd-tools-icon::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

.wd-search-opened .wd-header-search .wd-tools-icon::before {
  -webkit-mask: var(--ps-icon-close) center / contain no-repeat !important;
  mask: var(--ps-icon-close) center / contain no-repeat !important;
}

/* Search form submit + clear */
.searchform .searchsubmit {
  position: relative;
}

.searchform .searchsubmit::before,
.searchform .searchsubmit::after {
  content: "" !important;
  font-family: inherit !important;
  font-size: 0 !important;
  margin: 0 !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  opacity: 1 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-search) center / contain no-repeat !important;
  mask: var(--ps-icon-search) center / contain no-repeat !important;
}

.searchform .wd-clear-search {
  font-size: 0 !important;
  color: transparent !important;
}

.searchform .wd-clear-search::before {
  content: "" !important;
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  font-family: inherit !important;
  font-size: 0 !important;
  opacity: 1 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-close) center / contain no-repeat !important;
  mask: var(--ps-icon-close) center / contain no-repeat !important;
}

/* Product card action icons */
.wd-wishlist-btn.wd-style-icon > a,
.wd-compare-btn.wd-style-icon > a,
.wd-quick-view.wd-style-icon > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 0 !important;
  color: transparent !important;
}

.wd-wishlist-btn.wd-style-icon > a::before,
.wd-compare-btn.wd-style-icon > a::before,
.wd-quick-view.wd-style-icon > a::before {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  opacity: 1 !important;
}

.wd-wishlist-btn.wd-style-icon > a::before {
  -webkit-mask: var(--ps-icon-wishlist) center / contain no-repeat !important;
  mask: var(--ps-icon-wishlist) center / contain no-repeat !important;
}

.wd-compare-btn.wd-style-icon > a::before {
  -webkit-mask: var(--ps-icon-compare) center / contain no-repeat !important;
  mask: var(--ps-icon-compare) center / contain no-repeat !important;
}

.wd-quick-view.wd-style-icon > a::before {
  -webkit-mask: var(--ps-icon-eye) center / contain no-repeat !important;
  mask: var(--ps-icon-eye) center / contain no-repeat !important;
}

/* Badge counts */
.wd-header-compare .wd-tools-count,
.wd-header-wishlist .wd-tools-count {
  position: absolute;
  top: -6px;
  right: -8px;
  z-index: 2;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #e45a2d;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}

.wd-header-compare .wd-tools-count:empty,
.wd-header-compare .wd-tools-count[data-empty="true"],
.wd-header-wishlist .wd-tools-count:empty,
.wd-header-wishlist .wd-tools-count[data-empty="true"] {
  display: none;
}

.wd-header-cart .wd-cart-number.wd-tools-count {
  position: absolute;
  top: -6px;
  right: -10px;
  z-index: 2;
}

/* Scroll to top */
.scrollToTop {
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 0 !important;
}

.scrollToTop::after {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-arrow-up) center / contain no-repeat !important;
  mask: var(--ps-icon-arrow-up) center / contain no-repeat !important;
  opacity: 1 !important;
}

/* Close side panels / popups */
.wd-cross-icon a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 0 !important;
  color: transparent !important;
}

.wd-cross-icon a::after {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-close) center / contain no-repeat !important;
  mask: var(--ps-icon-close) center / contain no-repeat !important;
  opacity: 1 !important;
}

/* Product image slider arrows */
.wd-product-grid-slider-nav > div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.wd-product-grid-slider-nav .wd-prev::before,
.wd-product-grid-slider-nav .wd-next::before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  opacity: 1 !important;
}

.wd-product-grid-slider-nav .wd-prev::before {
  -webkit-mask: var(--ps-icon-arrow-left) center / contain no-repeat !important;
  mask: var(--ps-icon-arrow-left) center / contain no-repeat !important;
}

.wd-product-grid-slider-nav .wd-next::before {
  -webkit-mask: var(--ps-icon-arrow-right) center / contain no-repeat !important;
  mask: var(--ps-icon-arrow-right) center / contain no-repeat !important;
}

/* Category/menu expand chevrons */
.wd-nav-opener::after {
  content: "" !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-arrow-down) center / contain no-repeat !important;
  mask: var(--ps-icon-arrow-down) center / contain no-repeat !important;
  opacity: 1 !important;
}

.wd-widget-collapse .widget-title::after {
  content: "" !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-arrow-down) center / contain no-repeat !important;
  mask: var(--ps-icon-arrow-down) center / contain no-repeat !important;
  opacity: 1 !important;
}

/* Mini cart remove */
.woocommerce-mini-cart .remove {
  font-size: 0 !important;
  color: transparent !important;
}

.woocommerce-mini-cart .remove::after {
  content: "" !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  margin: 5px auto 0 !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-close) center / contain no-repeat !important;
  mask: var(--ps-icon-close) center / contain no-repeat !important;
  opacity: 1 !important;
}

/* Pagination arrows (when theme uses icon font) */
.page-numbers.prev::before,
.page-numbers.next::after,
a.prev.page-numbers::before,
a.next.page-numbers::after {
  content: "" !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  vertical-align: middle !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  opacity: 1 !important;
}

.page-numbers.prev::before,
a.prev.page-numbers::before {
  -webkit-mask: var(--ps-icon-arrow-left) center / contain no-repeat !important;
  mask: var(--ps-icon-arrow-left) center / contain no-repeat !important;
  margin-right: 4px;
}

.page-numbers.next::after,
a.next.page-numbers::after {
  -webkit-mask: var(--ps-icon-arrow-right) center / contain no-repeat !important;
  mask: var(--ps-icon-arrow-right) center / contain no-repeat !important;
  margin-left: 4px;
}

/* Hide broken text arrows when icon masks are used */
a.prev.page-numbers,
a.next.page-numbers {
  font-size: 0 !important;
  min-width: 34px;
}

a.prev.page-numbers::before,
a.next.page-numbers::after {
  font-size: 0 !important;
}

/* Category back button on mobile */
.wd-back-btn.wd-action-btn > a::before,
.category-nav-link + .wd-back-btn a::before {
  content: "" !important;
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  font-family: inherit !important;
  font-size: 0 !important;
  background-color: var(--ps-icon-color) !important;
  -webkit-mask: var(--ps-icon-arrow-left) center / contain no-repeat !important;
  mask: var(--ps-icon-arrow-left) center / contain no-repeat !important;
  opacity: 1 !important;
}

.ps-auth-hidden {
  display: none !important;
}

.wd-header-my-account .ps-auth-email,
.wd-toolbar .ps-auth-email,
li.login-side-opener.menu-item-account .ps-auth-email {
  max-width: min(190px, 42vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: bottom;
}

@media (max-width: 768px) {
  .wd-header-my-account .ps-auth-email {
    max-width: min(140px, 36vw);
  }
}

.ps-header-logout-wrap,
.ps-toolbar-logout-wrap {
  display: inline-flex;
  align-items: center;
  align-self: center;
}

.ps-header-logout,
.ps-toolbar-logout,
.ps-mobile-nav-logout {
  appearance: none;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #fff;
  color: #333;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  padding: 7px 12px;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}

.ps-header-logout:hover,
.ps-toolbar-logout:hover,
.ps-mobile-nav-logout:hover {
  background: #f5f5f5;
}

.whb-general-header .ps-header-logout-wrap {
  margin-left: 6px;
}

.wd-toolbar .ps-toolbar-logout-wrap {
  min-width: 0;
}

.wd-toolbar .ps-toolbar-logout {
  padding: 6px 8px;
  font-size: 11px;
}

.ps-mobile-nav-logout {
  display: block;
  width: 100%;
  text-align: left;
  margin-top: 8px;
  padding: 12px 0;
  border: 0;
  border-top: 1px solid #eee;
  border-radius: 0;
  background: transparent;
  font-size: 16px;
}

.wd-nav-main .wd-sub-menu .woodmart-nav-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  line-height: 1.3;
  white-space: normal;
}

.wd-nav-main .nav-link-subtitle {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: #777;
}

.ps-mobile-nav-sublink {
  padding-left: 18px !important;
  font-size: 14px !important;
  color: #666 !important;
}
