.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .term-description,
.woocommerce .woocommerce-products-header__description,
.woocommerce .woocommerce-products-header p,
.woocommerce-tabs p,
.woocommerce-product-details__short-description,
.woocommerce .product_meta,
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--vp-muted);
}

.woocommerce .woocommerce-products-header {
  margin-bottom: 24px;
  padding: 28px;
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 100%);
  border: 1px solid var(--vp-border);
  box-shadow: var(--vp-shadow);
}

.woocommerce .woocommerce-products-header__title.page-title {
  margin: 10px 0 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: .95;
  letter-spacing: -.04em;
}

.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-result-count {
  margin: 0 0 18px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce .input-text,
.woocommerce select,
.woocommerce textarea {
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid var(--vp-border);
  background: #fff;
  padding: 0 14px;
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  padding: 18px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--vp-border);
  box-shadow: var(--vp-shadow);
  display: flex !important;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  margin: 0 0 18px !important;
  border-radius: 22px;
  background: #fbf8f3;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 14px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
  line-height: 1.05;
  letter-spacing: -.03em;
  margin: 0 0 12px !important;
  color: var(--vp-black);
}

.woocommerce ul.products li.product .price {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  font-size: 1.05rem !important;
  font-weight: 800;
  margin: 4px 0 12px !important;
  color: var(--vp-black) !important;
}

.woocommerce ul.products li.product .price del {
  opacity: .5;
  font-weight: 600;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  margin-top: auto !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px !important;
  background: var(--vp-green) !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 800;
  box-shadow: none !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  filter: brightness(.96);
}

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  min-width: auto;
  min-height: auto;
  line-height: 1;
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--vp-red);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  left: 16px;
  top: 16px;
}

.woocommerce .star-rating,
.woocommerce .woocommerce-review-link {
  font-size: .95rem;
}

.woocommerce .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.woocommerce .woocommerce-notices-wrapper > * + * {
  margin-top: 12px;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-radius: 18px;
  border-top: 0;
  padding: 16px 18px 16px 48px !important;
  background: #fff;
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
  top: 16px;
}

.woocommerce div.product {
  padding: 28px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--vp-border);
  box-shadow: var(--vp-shadow);
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img {
  border-radius: 24px;
  background: #fbf8f3;
}

.woocommerce div.product .product_title {
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: .96;
  letter-spacing: -.04em;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--vp-black);
}

.woocommerce .quantity .qty {
  border-radius: 16px;
  border: 1px solid var(--vp-border);
  min-height: 46px;
}

.woocommerce-tabs ul.tabs {
  padding: 0 !important;
  margin: 24px 0 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 0 16px;
  border-radius: 999px;
  background: #f4efe8;
}

.woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-tabs .panel {
  margin-top: 18px !important;
  padding: 24px;
  border-radius: 24px;
  background: #fcfaf7;
  border: 1px solid var(--vp-border);
}

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 290px minmax(0,1fr);
  gap: 24px;
  align-items: start;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  width: auto !important;
  float: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  display: block;
}

.woocommerce-account .woocommerce-MyAccount-content > *:first-child,
.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 24px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--vp-border);
  box-shadow: var(--vp-shadow);
}

/* Generic filter/sidebar styling */
.widget,
.wc-block-components-sidebar,
.wp-block-woocommerce-filter-wrapper,
.woocommerce-widget-layered-nav,
.yith-wcan-filters,
.yith-wcan-filter,
.prdctfltr_wc,
.berocket_single_filter_widget,
.wcpf-filter-wrap {
  padding: 20px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid var(--vp-border);
  box-shadow: var(--vp-shadow);
  margin-bottom: 18px;
}

.widget h2,
.widget h3,
.wc-block-components-filter-header,
.yith-wcan-filters .filter-title,
.prdctfltr_title,
.berocket_aapf_widget-title,
.wcpf-title {
  margin: 0 0 14px;
  font-size: 1rem;
  letter-spacing: -.02em;
}

.widget ul,
.woocommerce-widget-layered-nav-list,
.yith-wcan-filter ul,
.prdctfltr_filter_inner ul,
.berocket_aapf_widget ul,
.wcpf-filter-wrap ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.widget li,
.woocommerce-widget-layered-nav-list__item,
.yith-wcan-filter li,
.prdctfltr_filter_inner li,
.berocket_aapf_widget li,
.wcpf-filter-wrap li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f0ebe4;
}

.widget li:last-child,
.woocommerce-widget-layered-nav-list__item:last-child,
.yith-wcan-filter li:last-child,
.prdctfltr_filter_inner li:last-child,
.berocket_aapf_widget li:last-child,
.wcpf-filter-wrap li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.woocommerce nav.woocommerce-pagination {
  margin-top: 28px;
}

.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  gap: 8px;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid var(--vp-border);
  background: #fff;
  border-radius: 999px;
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--vp-green);
  color: #fff;
  border-color: var(--vp-green);
}

@media (max-width: 1100px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .woocommerce .woocommerce-products-header {
    padding: 22px;
    border-radius: 24px;
  }

  .woocommerce ul.products {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .woocommerce ul.products li.product,
  .woocommerce div.product {
    padding: 16px;
    border-radius: 22px;
  }

  .woocommerce-account .woocommerce-MyAccount-content > *:first-child,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .widget,
  .wc-block-components-sidebar,
  .wp-block-woocommerce-filter-wrapper,
  .woocommerce-widget-layered-nav,
  .yith-wcan-filters,
  .yith-wcan-filter,
  .prdctfltr_wc,
  .berocket_single_filter_widget,
  .wcpf-filter-wrap {
    padding: 16px;
    border-radius: 20px;
  }
}

.woocommerce form .form-row{
  width:100%;
  float:none;
  margin:0 0 18px;
  padding:0;
}

.woocommerce form .form-row label{
  display:block;
  margin:0 0 8px;
  font-size:1rem;
  line-height:1.3;
  font-weight:700;
  color:var(--vp-black);
}

.woocommerce form .form-row .required{color:var(--vp-red);font-weight:900}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce .select2-container--default .select2-selection--multiple{
  width:100% !important;
  min-height:56px;
  border-radius:20px;
  border:1px solid var(--vp-border);
  background:#fff;
  padding:0 18px;
  font-size:16px;
  line-height:1.2;
  box-shadow:none;
}

.woocommerce form .form-row textarea{padding:16px 18px;min-height:120px}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:54px;padding-left:0}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:54px;right:12px}

.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account form.woocommerce-address-fields,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce .woocommerce-address-fields,
.woocommerce .woocommerce-MyAccount-content > form{
  padding:24px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--vp-border);
  box-shadow:var(--vp-shadow);
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .addresses .title,
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2{
  width:100%;
  float:none;
}

.woocommerce .form-row-first,
.woocommerce .form-row-last{
  width:100%;
  float:none;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3{
  margin-top:0;
  margin-bottom:18px;
  font-size:clamp(1.6rem,3vw,2.25rem);
  line-height:1.02;
  letter-spacing:-.03em;
}

.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce form.checkout .button,
.woocommerce-account .woocommerce-address-fields button.button{
  min-height:52px;
  padding:0 24px;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset{
  margin-top:24px;
  padding:18px 18px 6px;
  border-radius:20px;
  border:1px solid var(--vp-border);
}

.woocommerce-account .woocommerce-MyAccount-content legend{
  padding:0 10px;
  font-weight:800;
}

@media(max-width:767px){
  .woocommerce .woocommerce-products-header{padding:22px;border-radius:24px}
  .woocommerce ul.products{grid-template-columns:1fr;gap:16px}
  .woocommerce ul.products li.product{padding:14px;border-radius:22px}
  .woocommerce ul.products li.product a img{padding:10px;border-radius:18px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2{font-size:1.35rem;margin-bottom:10px !important}
  .woocommerce ul.products li.product .price{margin-bottom:14px !important}
  .woocommerce-account .woocommerce-EditAccountForm,
  .woocommerce-account form.woocommerce-address-fields,
  .woocommerce .woocommerce-MyAccount-content > form{padding:18px;border-radius:22px}
}


@media(max-width:1023px){
  .woocommerce div.product{padding:18px;border-radius:24px}
  .woocommerce div.product .product_title{font-size:clamp(1.9rem, 8vw, 3rem);line-height:.94}
  .woocommerce div.product form.cart,
  .woocommerce div.product .summary form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
  .woocommerce div.product form.cart .quantity{margin:0 !important}
  .woocommerce div.product form.cart .single_add_to_cart_button,
  .woocommerce div.product form.cart button.single_add_to_cart_button{flex:1 1 180px;min-height:50px}
  .woocommerce div.product .woocommerce-product-details__short-description,
  .woocommerce div.product .product_meta,
  .woocommerce div.product .price{margin-bottom:14px}
  .woocommerce div.product .related.products{padding-bottom:24px}
}
