/**
 * Free Style 3 — DTF product compatibility
 *
 * Loaded after the DTF plugin styles on the configured transfer product.
 * These selectors intentionally avoid hardcoded product IDs.
 */

body.theme-free-style-3.single-product.woocommerce div.product > div.images.woocommerce-product-gallery,
body.theme-free-style-3.single-product.woocommerce div.product > div.summary.entry-summary {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.theme-free-style-3.single-product.woocommerce div.product form.variations_form {
  display: block !important;
  width: 100% !important;
}

body.theme-free-style-3.single-product.woocommerce div.product form.variations_form > table.variations,
body.theme-free-style-3.single-product.woocommerce div.product form.variations_form .single_variation {
  display: none !important;
}

body.theme-free-style-3.single-product .custom-file-upload-container-wrapper {
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: var(--fsp-space-5) 0 !important;
}

body.theme-free-style-3.single-product .drop-zone-simple {
  width: 100% !important;
  margin: 0 !important;
  padding: var(--fsp-space-8) var(--fsp-space-5) !important;
  background: var(--fsp-blue-50) !important;
  border: 2px dashed var(--fsp-blue-300) !important;
  border-radius: var(--fsp-radius-lg) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color var(--fsp-dur-fast) var(--fsp-ease),
    border-color var(--fsp-dur-fast) var(--fsp-ease) !important;
}

body.theme-free-style-3.single-product .drop-zone-simple:hover,
body.theme-free-style-3.single-product .drop-zone-simple:focus-within,
body.theme-free-style-3.single-product .drop-zone-simple.drag-over {
  background: var(--fsp-blue-100) !important;
  border-color: var(--fsp-blue-600) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.theme-free-style-3.single-product .drop-zone-simple .upload-arrow-icon {
  margin-block-end: var(--fsp-space-4) !important;
}

body.theme-free-style-3.single-product .drop-zone-simple .custom-file-upload-label h4 {
  margin: 0 0 var(--fsp-space-3) !important;
  color: var(--fsp-blue-900) !important;
  font-family: var(--fsp-font-display) !important;
  font-size: var(--fsp-text-xl) !important;
  font-weight: 800 !important;
}

body.theme-free-style-3.single-product .drop-zone-simple .subtitle {
  color: var(--fsp-text) !important;
}

body.theme-free-style-3.single-product .drop-zone-simple .filesize {
  color: var(--fsp-text-soft) !important;
}

body.theme-free-style-3.single-product .drop-zone-simple .upload-preview {
  margin-block-start: var(--fsp-space-5) !important;
  background: var(--fsp-surface) !important;
  border-radius: var(--fsp-radius-md) !important;
}

body.theme-free-style-3.single-product .drop-zone-simple .upload-preview img {
  border: 1px solid var(--fsp-border) !important;
  border-radius: var(--fsp-radius-md) !important;
  box-shadow: var(--fsp-shadow-sm) !important;
}

body.theme-free-style-3.single-product .drop-zone-simple .progress-bar {
  background: var(--fsp-ink-150) !important;
  box-shadow: none !important;
}

body.theme-free-style-3.single-product .drop-zone-simple .progress {
  background: var(--fsp-blue-500) !important;
}

body.theme-free-style-3.single-product .requirements-list-blue {
  padding: var(--fsp-space-5) !important;
  margin: var(--fsp-space-4) 0 0 !important;
  background: var(--fsp-surface-soft) !important;
  color: var(--fsp-text) !important;
  border: 1px solid var(--fsp-border) !important;
  border-radius: var(--fsp-radius-md) !important;
  box-shadow: none !important;
}

body.theme-free-style-3.single-product .requirements-list-blue h4 {
  margin: 0 0 var(--fsp-space-3) !important;
  color: var(--fsp-heading) !important;
}

body.theme-free-style-3.single-product .requirements-list-blue ul li {
  color: var(--fsp-text) !important;
}

body.theme-free-style-3.single-product .requirements-list-blue ul li::before {
  color: var(--fsp-blue-600) !important;
}

body.theme-free-style-3.single-product .dtf-onpage-infotext-pcontainer {
  margin-block-start: var(--fsp-space-3) !important;
  padding: var(--fsp-space-4) !important;
  background: var(--fsp-surface-soft) !important;
  border: 1px solid var(--fsp-warning) !important;
  border-inline-start-width: 4px !important;
  border-radius: var(--fsp-radius-md) !important;
}

body.theme-free-style-3.single-product .dtf-onpage-infotext-wrap .dtf-info-text {
  color: var(--fsp-text) !important;
}

body.theme-free-style-3.single-product .custom-sizing-dtf,
body.theme-free-style-3.single-product .input-grid.custom-dimensions {
  width: 100% !important;
}

body.theme-free-style-3.single-product .input-grid.custom-dimensions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--fsp-space-3) !important;
  margin: var(--fsp-space-5) 0 !important;
}

body.theme-free-style-3.single-product .custom_dtf_dim_input_container,
body.theme-free-style-3.single-product .product-quantity-selection-info-wrapper {
  max-width: none !important;
  min-width: 0 !important;
  padding: var(--fsp-space-3) !important;
  background: var(--fsp-surface-soft) !important;
  border: 1px solid var(--fsp-border) !important;
  border-radius: var(--fsp-radius-md) !important;
  box-shadow: none !important;
  flex-basis: auto !important;
}

body.theme-free-style-3.single-product .custom-dimensions .input-field label,
body.theme-free-style-3.single-product .product-quantity-selection-info-wrapper > label {
  color: var(--fsp-heading) !important;
  font-family: var(--fsp-font-sans) !important;
  font-size: var(--fsp-text-xs) !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
}

body.theme-free-style-3.single-product .number-control,
body.theme-free-style-3.single-product .number-control-cyan,
body.theme-free-style-3.single-product .product-quantity-input-container .quantity {
  display: flex !important;
  width: 100% !important;
  height: 52px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--fsp-surface) !important;
  border: 1px solid var(--fsp-border) !important;
  border-radius: var(--fsp-radius-sm) !important;
}

body.theme-free-style-3.single-product .number-control:focus-within,
body.theme-free-style-3.single-product .number-control-cyan:focus-within,
body.theme-free-style-3.single-product .product-quantity-input-container .quantity:focus-within {
  border-color: var(--fsp-focus-ring) !important;
  outline: 2px solid var(--fsp-focus-ring) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

body.theme-free-style-3.single-product .number-control button,
body.theme-free-style-3.single-product .number-control-cyan button,
body.theme-free-style-3.single-product .quantity button.minus,
body.theme-free-style-3.single-product .quantity button.plus {
  flex: 0 0 44px !important;
  width: 44px !important;
  max-width: 44px !important;
  padding: 0 !important;
  background: var(--fsp-surface-soft) !important;
  color: var(--fsp-heading) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--fsp-font-sans) !important;
  font-size: var(--fsp-text-xl) !important;
  line-height: 1 !important;
  transform: none !important;
}

body.theme-free-style-3.single-product .number-control button:hover,
body.theme-free-style-3.single-product .number-control-cyan button:hover,
body.theme-free-style-3.single-product .quantity button.minus:hover,
body.theme-free-style-3.single-product .quantity button.plus:hover {
  background: var(--fsp-blue-100) !important;
  color: var(--fsp-blue-900) !important;
}

body.theme-free-style-3.single-product .number-control input,
body.theme-free-style-3.single-product .number-control-cyan input,
body.theme-free-style-3.single-product .product-quantity-input-container .quantity input {
  min-width: 0 !important;
  width: 100% !important;
  padding: var(--fsp-space-2) !important;
  background: var(--fsp-surface) !important;
  color: var(--fsp-heading) !important;
  border: 0 !important;
  border-inline: 1px solid var(--fsp-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--fsp-font-sans) !important;
  font-size: var(--fsp-text-lg) !important;
}

body.theme-free-style-3.single-product .helper-text {
  margin-block-start: var(--fsp-space-2) !important;
  color: var(--fsp-text-soft) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: var(--fsp-text-xs) !important;
  animation: none !important;
}

body.theme-free-style-3.single-product .helper-text.helper-info {
  color: var(--fsp-blue-700) !important;
}

body.theme-free-style-3.single-product .product-selection-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: var(--fsp-surface-soft) !important;
  border: 1px solid var(--fsp-border) !important;
  border-radius: var(--fsp-radius-md) !important;
  box-shadow: none !important;
}

body.theme-free-style-3.single-product .product-selection-container > div {
  min-width: 0 !important;
  padding: var(--fsp-space-3) !important;
  background: transparent !important;
  border-block-end: 1px solid var(--fsp-border) !important;
}

body.theme-free-style-3.single-product .product-selection-container > div:nth-child(odd) {
  border-inline-end: 1px solid var(--fsp-border) !important;
}

body.theme-free-style-3.single-product .product-selection-container > div:nth-last-child(-n + 2) {
  border-block-end: 0 !important;
}

body.theme-free-style-3.single-product .validation-prompt {
  color: var(--fsp-text-soft) !important;
  background: transparent !important;
  animation: none !important;
}

body.theme-free-style-3.single-product .validation-error,
body.theme-free-style-3.single-product #max-width-warning {
  color: var(--fsp-danger) !important;
  background: var(--fsp-surface) !important;
  border-color: var(--fsp-danger) !important;
  animation: none !important;
}

body.theme-free-style-3.single-product.woocommerce div.product button.single_add_to_cart_button {
  width: 100% !important;
  margin: var(--fsp-space-3) 0 0 !important;
}

body.theme-free-style-3.single-product .ppcp-messages iframe {
  width: 100% !important;
}

@media (max-width: 47.99rem) {
  body.theme-free-style-3.single-product .input-grid.custom-dimensions {
    grid-template-columns: 1fr !important;
  }

  body.theme-free-style-3.single-product .product-selection-container {
    grid-template-columns: 1fr !important;
  }

  body.theme-free-style-3.single-product .product-selection-container > div,
  body.theme-free-style-3.single-product .product-selection-container > div:nth-child(odd),
  body.theme-free-style-3.single-product .product-selection-container > div:nth-last-child(-n + 2) {
    border-inline-end: 0 !important;
    border-block-end: 1px solid var(--fsp-border) !important;
  }

  body.theme-free-style-3.single-product .product-selection-container > div:last-child {
    border-block-end: 0 !important;
  }

  body.theme-free-style-3.single-product .drop-zone-simple {
    padding: var(--fsp-space-6) var(--fsp-space-4) !important;
  }
}

#product-101 div.summary > .price {
  display: none !important;
}