.mobile-nav .searchform {
  --wd-form-height: 46px;
  --wd-form-bg: #f2f2f2;
  --wd-form-brd-color: rgba(0, 0, 0, 0.08);
  --wd-form-brd-color-focus: rgba(0, 0, 0, 0.16);
  --wd-form-color: #5a5a5a;
  --wd-form-placeholder-color: #767676;
  border-radius: 999px;
  box-shadow: none;
  max-width: 100%;
}

.mobile-nav .searchform input[type="text"] {
  height: 46px;
  min-width: 100%;
  padding-left: 18px;
  padding-right: 56px;
  font-size: 14px;
  font-weight: 400;
}

.mobile-nav .searchform .searchsubmit {
  width: 46px;
}

.mobile-nav .searchform .searchsubmit:after {
  font-size: 16px;
}

.mobile-nav .searchform .wd-clear-search {
  inset-inline-end: calc(var(--wd-search-btn-w) + var(--wd-search-clear-sp));
}

.pw-shop-filters {
  margin: 0 0 28px;
  padding: 16px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff 0%, #fbfaf8 100%);
  display: none !important;
}

.pw-shop-filters__row {
  display: grid;
  grid-template-columns: repeat(6, minmax(140px, 1fr));
  gap: 12px;
  align-items: end;
}

.pw-shop-filters label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pw-shop-filters label span {
  font-size: 12px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #6f665e;
}

.pw-shop-filters input,
.pw-shop-filters select {
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(20, 20, 20, 0.14);
  background: #fff;
  padding: 0 12px;
}

.pw-shop-filters__actions {
  display: flex;
  gap: 8px;
}

/* Keep one category navigation on desktop (hide the top duplicated menu). */
@media (min-width: 992px) {
  body.tax-product_cat .wd-header-secondary-nav,
  body.tax-product_cat .wd-header-secondary-nav .wd-nav-secondary {
    display: none !important;
  }
}

/* Remove duplicated "Categories" entry in mobile menu/filter trigger. */
@media (max-width: 991.98px) {
  .mobile-nav .wd-btn-show-cat,
  .mobile-nav .mobile-categories-title,
  .mobile-nav .mobile-categories-menu {
    display: none !important;
  }
}

/* Product card image framing for category pages (hommes/femmes/unisexes). */
body.tax-product_cat .products .product .product-element-top {
  min-height: 320px;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(20, 20, 20, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

body.tax-product_cat .products .product .product-element-top :is(.product-image-link, .hover-img) {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.tax-product_cat .products .product .product-element-top img {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain;
  object-position: center center;
  display: block;
}

body.woocommerce-shop .products .product .product-element-top,
body.search-results.post-type-archive-product .products .product .product-element-top {
  min-height: 320px;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(20, 20, 20, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

body.woocommerce-shop .products .product .product-element-top :is(.product-image-link, .hover-img),
body.search-results.post-type-archive-product .products .product .product-element-top :is(.product-image-link, .hover-img) {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.woocommerce-shop .products .product .product-element-top img,
body.search-results.post-type-archive-product .products .product .product-element-top img {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain;
  object-position: center center;
  display: block;
}

/* Extra filters injected into the existing WooCommerce price widget. */
.widget_price_filter .pw-widget-filters {
  display: grid;
  gap: 14px;
}

.widget_price_filter .pw-widget-filters__lead {
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #3f342b;
}

.widget_price_filter .pw-widget-filters__form {
  display: grid;
  gap: 14px;
}

.widget_price_filter .pw-widget-filters__group {
  display: grid;
  gap: 8px;
}

.widget_price_filter .pw-widget-filters__title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #3f342b;
}

.widget_price_filter .pw-widget-filters__list {
  max-height: 170px;
  overflow: auto;
  padding-right: 6px;
  display: grid;
  gap: 6px;
}

.widget_price_filter .pw-widget-filters__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #322a23;
}

.widget_price_filter .pw-widget-filters__item input[type="checkbox"] {
  width: 14px;
  height: 14px;
}

.widget_price_filter .pw-widget-filters__actions {
  display: flex;
  gap: 8px;
}

.widget_price_filter .pw-widget-filters__actions .button {
  min-height: 38px;
  padding: 0 14px;
}

body.home .elementor-element-a852304 .wd-slider {
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(10, 10, 10, 0.18);
}

body.home .elementor-element-a852304 .woodmart-title-container.title {
  color: #111;
  text-shadow: none;
}

body.home .elementor-element-a852304 .wd-text-block {
  color: #111;
  text-shadow: none;
}

body.home .elementor-element-a852304 .btn-color-black {
  background: #f4e9db;
  border-color: #f4e9db;
  color: #20160f;
}

body.home .elementor-element-a852304 .btn-color-black:hover {
  background: #fff;
  border-color: #fff;
}

:root {
  --pw-site-button-color: rgb(221, 153, 51);
}

.btn,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background-color: var(--pw-site-button-color) !important;
  border-color: var(--pw-site-button-color) !important;
  color: #fff !important;
}

.btn:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  filter: brightness(0.92);
}

/* Make add-to-cart buttons breathe more in product grids/search results. */
.woocommerce ul.products li.product .button,
.wd-products .product-grid-item .button,
.search-results.post-type-archive-product .products .product .button {
  min-height: 42px;
  padding-inline: 18px !important;
  margin-top: 10px;
}

body.home .wd-products-element .product-element-top {
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  min-height: 260px;
}

body.home .wd-products-element .product-element-top :is(.product-image-link, .hover-img) {
  border-radius: 18px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.home .wd-products-element .product-element-top img {
  width: 100%;
  height: 100%;
  max-height: 260px;
  object-fit: contain;
  object-position: center center;
  transition: transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);
}

body.home .wd-products-element:hover .product-element-top img,
body.home .wd-products .product-grid-item:hover .product-element-top img {
  transform: scale(1.05);
}

/* Single product: keep full bottle visible in related/upsell cards. */
body.single-product .related-and-upsells .product-element-top {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}

body.single-product .related-and-upsells .product-element-top :is(.product-image-link, .hover-img) {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.single-product .related-and-upsells .product-element-top img {
  width: 100%;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center;
  background: #fff;
}

body.single-product .related-and-upsells .product-element-top :is(.product-image-link > img, .hover-img > img, picture > img, .attachment-woocommerce_thumbnail) {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

@media (max-width: 1200px) {
  .pw-shop-filters__row {
    grid-template-columns: repeat(3, minmax(140px, 1fr));
  }
}

@media (max-width: 768.98px) {
  .pw-shop-filters__row {
    grid-template-columns: 1fr 1fr;
  }

  .pw-shop-filters__actions {
    grid-column: 1 / -1;
  }

  body.home .elementor-element-a852304 .wd-slider {
    border-radius: 0;
    box-shadow: none;
  }

  body.home .elementor-element-a1df816 .wd-products .product-grid-item,
  body.home .elementor-element-71d39bc .wd-products .product-grid-item {
    max-width: 190px;
  }

  body.home .wd-products-element .product-element-top img {
    height: 100%;
    max-height: 210px;
  }

  body.home .wd-products-element .product-element-top {
    min-height: 210px;
  }

  body.tax-product_cat .products .product .product-element-top {
    min-height: 260px;
  }

  body.tax-product_cat .products .product .product-element-top img {
    max-height: none !important;
  }
}

.pw-contact-map-module {
  margin: 42px 0 26px;
}

.pw-contact-map-module__title {
  margin: 0 0 8px;
  color: #1e1712;
  font-size: clamp(26px, 3vw, 34px);
}

.pw-contact-map-module__subtitle {
  margin: 0 0 14px;
  color: #78695d;
}

.pw-contact-map-module__frame {
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(10, 10, 10, 0.16);
}

.wd-footer .main-footer .elementor > .elementor-section > .elementor-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.wd-footer .main-footer .elementor > .elementor-section > .elementor-container > .elementor-column {
  width: 100%;
  max-width: none;
}

.wd-footer .main-footer .elementor .elementor-heading-title {
  margin-bottom: 12px;
}

.wd-footer .main-footer .pw-footer-links {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.wd-footer .main-footer .pw-footer-links li {
  margin: 0;
  padding: 0;
}

.wd-footer .main-footer .pw-footer-links a {
  color: inherit;
  text-decoration: none;
  opacity: 0.92;
}

.wd-footer .main-footer .pw-footer-links a:hover {
  opacity: 1;
  text-decoration: underline;
}

.wd-footer .main-footer .pw-footer-editor-image {
  display: block;
  max-width: min(100%, 360px);
  max-height: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 18px;
}

.wd-footer .main-footer .pw-footer-brand-block {
  display: grid;
  gap: 18px;
}

.wd-footer .main-footer .pw-footer-brand-block__media {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
  min-height: 150px;
  padding: 10px 0;
  overflow: hidden;
}

.wd-footer .main-footer .pw-footer-brand-block__logo {
  max-width: min(100%, 360px);
  max-height: 140px;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: left center;
}

.wd-footer .main-footer .pw-footer-brand-block__name {
  font-size: clamp(28px, 4vw, 56px);
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.wd-footer .main-footer .pw-footer-brand-block__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}

.wd-footer .main-footer .pw-footer-brand-block__columns h4 {
  margin: 0 0 10px;
  font-size: 16px;
}

@media (max-width: 1024px) {
  .wd-footer .main-footer .elementor > .elementor-section > .elementor-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .wd-footer .main-footer .elementor > .elementor-section > .elementor-container {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .wd-footer .main-footer .pw-footer-brand-block__columns {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
