.vsf-rebuild.vsf-rebuild-pdp .elementor-location-single {
  background: var(--vsf-color-canvas) !important;
  color: var(--vsf-color-ink) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-location-single > .e-con {
  background: var(--vsf-color-canvas) !important;
  color: var(--vsf-color-ink) !important;
}

.vsf-rebuild.vsf-rebuild-pdp :is(.woocommerce-breadcrumb, .product_meta) {
  color: var(--vsf-color-muted) !important;
  font-family: var(--vsf-font-mono) !important;
  font-size: var(--vsf-font-size-meta) !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-location-single > .e-con:has(> .e-con-inner > .e-con > .elementor-widget-woocommerce-product-images) > .e-con-inner {
  align-items: start !important;
  display: grid !important;
  gap: var(--vsf-space-6) !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-images {
  background: var(--vsf-color-surface) !important;
  border: var(--vsf-border-width) solid var(--vsf-color-line) !important;
  color: var(--vsf-color-ink) !important;
  min-inline-size: 0;
  padding: var(--vsf-space-4) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-gallery,
.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-gallery__wrapper,
.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-gallery__image {
  background: var(--vsf-color-surface) !important;
  min-inline-size: 0;
}

.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-gallery :is(img, .flex-control-thumbs img) {
  background: var(--vsf-color-surface) !important;
  inline-size: 100% !important;
  object-fit: contain !important;
  opacity: 1 !important;
}

.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-gallery .flex-control-thumbs img {
  border-color: var(--vsf-color-line) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-gallery .flex-control-thumbs img:focus-visible,
.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-gallery .flex-control-thumbs img:hover {
  border-color: var(--vsf-color-accent) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-title,
.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-price,
.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-short-description,
.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-add-to-cart,
.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-data-tabs {
  color: var(--vsf-color-ink) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-title .product_title {
  color: var(--vsf-color-ink) !important;
  font-family: var(--vsf-font-display) !important;
  font-size: clamp(2rem, 4vw, 3.75rem) !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-price .price {
  color: var(--vsf-color-ink) !important;
  font-family: var(--vsf-font-mono) !important;
  font-size: 1rem !important;
  margin: 0 !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-price .price :is(del, ins) {
  color: inherit !important;
}

.vsf-rebuild.vsf-rebuild-pdp .woocommerce-product-details__short-description {
  border-block: var(--vsf-border-width) solid var(--vsf-color-line) !important;
  color: var(--vsf-color-muted) !important;
  margin: 0 !important;
  padding-block: var(--vsf-space-4) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-add-to-cart :is(.quantity, .single_add_to_cart_button, .et-buy-now-button) {
  min-block-size: var(--vsf-control-primary-min-height) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-add-to-cart .quantity {
  background: var(--vsf-color-surface) !important;
  border-color: var(--vsf-color-line) !important;
  color: var(--vsf-color-ink) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button {
  background: var(--vsf-color-ink) !important;
  border-color: var(--vsf-color-ink) !important;
  color: var(--vsf-color-on-inverse) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-add-to-cart .et-buy-now-button {
  background: var(--vsf-color-surface) !important;
  border-color: var(--vsf-color-ink) !important;
  color: var(--vsf-color-ink) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs {
  border-block-start: var(--vsf-border-width) solid var(--vsf-color-line) !important;
  color: var(--vsf-color-ink) !important;
  padding-block-start: var(--vsf-space-5) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs :is(ul.tabs, .tabs) {
  border-block-end: var(--vsf-border-width) solid var(--vsf-color-line) !important;
  display: flex;
  flex-wrap: wrap;
  gap: var(--vsf-space-2);
  margin: 0 0 var(--vsf-space-4) !important;
  padding: 0 0 var(--vsf-space-3) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs :is(ul.tabs, .tabs) li {
  background: var(--vsf-color-surface) !important;
  border: var(--vsf-border-width) solid var(--vsf-color-line) !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs :is(ul.tabs, .tabs) li.active {
  background: var(--vsf-color-ink) !important;
  border-color: var(--vsf-color-ink) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-data-tabs .woocommerce-tabs :is(ul.tabs, .tabs) li.active a {
  color: var(--vsf-color-on-inverse) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-widget-woocommerce-product-data-tabs .woocommerce-Tabs-panel {
  background: var(--vsf-color-surface) !important;
  border-color: var(--vsf-color-line) !important;
  color: var(--vsf-color-muted) !important;
}

.vsf-rebuild.vsf-rebuild-pdp .elementor-location-single :is(a, button, input, select):focus-visible {
  outline: 3px solid var(--vsf-color-accent) !important;
  outline-offset: 3px;
}

@media (min-width: 64rem) {
  .vsf-rebuild.vsf-rebuild-pdp .elementor-location-single > .e-con:has(> .e-con-inner > .e-con > .elementor-widget-woocommerce-product-images) > .e-con-inner {
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr) !important;
  }
}
