/*
 * TEKNOBE 1.1.5 / approved single-product design.
 * IMPORTANT: WooCommerce adds its class to <body>, not a child wrapper.
 * Scope through the real theme main instead of `.woocommerce div.product`.
 */
body.single-product .tk-woocommerce-main > .tk-container {
  width: min(100% - 40px, 1320px) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
}

body.single-product .tk-woocommerce-main div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.03fr) minmax(0, 1fr) !important;
  column-gap: 40px !important;
  row-gap: 9px !important;
  align-items: start !important;
  clear: both;
}

body.single-product .tk-woocommerce-main div.product > .woocommerce-product-gallery,
body.single-product .tk-woocommerce-main div.product > div.images {
  grid-column: 1 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  min-width: 0 !important;
  opacity: 1 !important;
}

body.single-product .tk-woocommerce-main div.product > .summary,
body.single-product .tk-woocommerce-main div.product > div.summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product .tk-woocommerce-main div.product div.images .flex-viewport {
  background: #f0f2f5 !important;
  border-radius: 12px !important;
}

body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__wrapper {
  border: 0 !important;
  overflow: hidden !important;
}

body.single-product .tk-woocommerce-main div.product div.images .flex-viewport,
body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__image,
body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__image > a {
  height: 356px !important;
  min-height: 356px !important;
  max-height: 356px !important;
  overflow: hidden !important;
}

body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__image > a {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  background: #f0f2f5 !important;
}

body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: 356px !important;
  max-height: 356px !important;
  max-width: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  aspect-ratio: auto !important;
  margin: 0 auto !important;
  transform: none !important;
}

body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 310px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 3;
  border: 1px solid #dbe0e8;
  border-radius: 5px;
  background: #fff;
}

body.single-product .tk-woocommerce-main div.product div.images .flex-control-thumbs {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
  list-style: none !important;
}

body.single-product .tk-woocommerce-main div.product div.images .flex-control-thumbs li {
  float: none !important;
  width: 100px !important;
  height: 72px !important;
  max-width: 100px !important;
  border: 1px solid #dde1e8 !important;
  border-radius: 8px !important;
  background: #f3f4f6 !important;
  overflow: hidden !important;
}

body.single-product .tk-woocommerce-main div.product div.images .flex-control-thumbs li:has(img.flex-active) {
  border: 2px solid #ed000d !important;
}

body.single-product .tk-woocommerce-main div.product div.images .flex-control-thumbs li img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-single-brand {
  display: flex !important;
  align-items: center !important;
  min-height: 25px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-single-brand .tk-brand-logo-img {
  display: block;
  max-width: 120px !important;
  max-height: 26px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

body.single-product .tk-woocommerce-main div.product .summary .product_title {
  font-size: clamp(22px, 2vw, 27px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
  font-weight: 850 !important;
  margin: 0 0 7px !important;
  color: #101115 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .woocommerce-product-rating {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 3px 0 8px !important;
  font-size: 12px !important;
}

body.single-product .tk-woocommerce-main div.product .summary .woocommerce-product-rating .star-rating {
  color: #e00011 !important;
  font-size: 14px !important;
  margin: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .summary > .price {
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: -.02em !important;
  margin: 7px 0 8px !important;
  color: #111115 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .woocommerce-product-details__short-description {
  line-height: 1.45 !important;
  color: #404652 !important;
  font-size: 12px !important;
  margin: 7px 0 10px !important;
}

body.single-product .tk-woocommerce-main div.product .summary .stock {
  display: block;
  margin: 7px 0 9px !important;
  color: #008e23 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .stock.in-stock::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  background: #04ae24;
  border-radius: 50%;
}

body.single-product .tk-woocommerce-main div.product .summary .stock.out-of-stock {
  color: #c80011 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-product-tax-note {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  color: #303641;
  margin: 0 0 10px;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart {
  margin: 10px 0 8px !important;
  min-width: 0 !important;
}

/* Simple product: quantity above, two deliberately equal-width action buttons below. */
body.single-product .tk-woocommerce-main div.product .summary form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: stretch !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart:not(.variations_form) > .quantity {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  margin: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart:not(.variations_form) > .single_add_to_cart_button {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart:not(.variations_form) > .tk-buy-now {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

/* Variable products: real attribute controls, quantity beside them, purchase buttons beneath. */
body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form {
  display: block !important;
  position: relative !important;
  padding: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .variations {
  display: table !important;
  width: calc(100% - 140px) !important;
  max-width: calc(100% - 140px) !important;
  margin: 0 0 12px !important;
  table-layout: auto;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .variations tr {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .variations th,
body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .variations td {
  display: block;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .variations label {
  font-weight: 850;
  font-size: 12px;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .variations select {
  width: 100% !important;
  min-height: 42px;
  border-color: #cfd5df;
  border-radius: 5px;
  background: #fff;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .reset_variations {
  display: inline-block;
  padding-top: 4px;
  font-size: 11px;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .single_variation_wrap {
  display: block;
  width: 100%;
  clear: both;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .woocommerce-variation {
  margin: 2px 0 8px;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .woocommerce-variation-price .price {
  font-size: 24px !important;
  font-weight: 850;
}

/* Once an actual variation has a price, do not show the initial price range twice. */
body.single-product .tk-woocommerce-main div.product .summary:has(.woocommerce-variation-price .price:not(:empty)) > .price {
  display: none !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 11px 12px !important;
  align-items: stretch !important;
  position: static;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .woocommerce-variation-add-to-cart > .quantity {
  grid-column: auto !important;
  grid-row: auto !important;
  position: absolute !important;
  top: 20px !important;
  right: 0 !important;
  display: flex;
  justify-content: flex-end;
  width: 126px !important;
  margin: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .woocommerce-variation-add-to-cart > .tk-buy-now {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart .quantity .qty {
  width: 80px;
  min-height: 42px;
  border: 1px solid #ccd3de;
  border-radius: 5px;
  text-align: center;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart button.single_add_to_cart_button,
body.single-product .tk-woocommerce-main div.product .summary form.cart button.tk-buy-now {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 43px !important;
  min-height: 43px !important;
  padding: 7px 11px !important;
  margin: 0 !important;
  border-radius: 5px !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  white-space: normal !important;
  gap: 8px !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart button.single_add_to_cart_button {
  background: #e0000e !important;
  color: #fff !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart button.single_add_to_cart_button::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: currentColor;
  -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M2 4h3l2.4 11.5h11.2L21 7H6"/%3E%3Ccircle cx="9" cy="20" r="1"/%3E%3Ccircle cx="18" cy="20" r="1"/%3E%3C/svg%3E') center / contain no-repeat;
  mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M2 4h3l2.4 11.5h11.2L21 7H6"/%3E%3Ccircle cx="9" cy="20" r="1"/%3E%3Ccircle cx="18" cy="20" r="1"/%3E%3C/svg%3E') center / contain no-repeat;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart button.tk-buy-now {
  background: #fff !important;
  color: #131417 !important;
  border: 1px solid #e0000e !important;
}

body.single-product .tk-woocommerce-main div.product .summary form.cart button:disabled,
body.single-product .tk-woocommerce-main div.product .summary form.cart button.disabled {
  cursor: not-allowed !important;
  opacity: .48 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-favorite-single {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 !important;
  margin: 8px 0 8px !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 12px;
  box-shadow: none !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-compare-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 8px 0 8px 18px;
  padding: 0 0 0 19px;
  min-height: 28px;
  border: 0;
  border-left: 1px solid #d3d8e0;
  background: transparent;
  font-size: 12px;
  font-weight: 600;
  color: #191c22;
  cursor: pointer;
}

.tk-compare-notice {
  position: fixed;
  z-index: 9999;
  right: 18px;
  bottom: 18px;
  width: min(360px, calc(100vw - 36px));
  padding: 14px 18px;
  border-left: 4px solid #e0000f;
  border-radius: 8px;
  color: #141820;
  background: #fff;
  box-shadow: 0 8px 25px #0002;
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity .2s, transform .2s;
  font-size: 13px;
}

.tk-compare-notice.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.tk-compare-dialog {
  width: min(660px,calc(100vw - 30px));
  max-height: min(600px,calc(100vh - 40px));
  padding: 25px;
  border: 1px solid #d8dee7;
  border-radius: 12px;
  color: #16191e;
  background: white;
  box-shadow: 0 20px 70px #0003;
}

.tk-compare-dialog::backdrop { background: #1018209c; }
.tk-compare-dialog h2 { margin: 0 0 20px; font-size: 23px; }
.tk-compare-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.tk-compare-card { display: grid; justify-items: center; gap: 10px; padding: 15px; border: 1px solid #e2e6ef; border-radius: 8px; text-align: center; text-decoration: none; color: inherit; }
.tk-compare-card img { max-width: 100%; width: 170px; height: 130px; object-fit: contain; }
.tk-compare-card strong { font-size: 14px; }
.tk-compare-card span { font-size: 16px; font-weight: 800; }
.tk-compare-close { display: block; margin: 20px 0 0 auto; padding: 9px 22px; border: 0; border-radius: 5px; background: #dd000e; color: white; cursor: pointer; }

body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  background: #f0f2f5 !important;
  border-radius: 8px !important;
  padding: 13px 15px !important;
  margin: 11px 0 8px !important;
  border: 0 !important;
  gap: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances > div {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 2px 10px !important;
  min-width: 0;
  min-height: 40px;
  border: 0;
  text-align: left !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances > div + div {
  border-left: 1px solid #cdd3dc !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances .tk-icon {
  color: #141820 !important;
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances span {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances strong,
body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances small {
  display: block;
  line-height: 1.15 !important;
  white-space: normal !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances strong {
  font-size: 12px !important;
  font-weight: 850 !important;
  color: #101216 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances small {
  font-size: 11px !important;
  color: #444c57 !important;
  font-weight: 400 !important;
}

body.single-product .tk-woocommerce-main div.product .summary .product_meta {
  font-size: 10px !important;
  color: #6c7280 !important;
  line-height: 1.4 !important;
  margin-top: 6px;
}

/* Full-width tabs and two live WooCommerce data columns. */
body.single-product .tk-woocommerce-main div.product > .woocommerce-tabs,
body.single-product .tk-woocommerce-main div.product > .related,
body.single-product .tk-woocommerce-main div.product > .upsells {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}

body.single-product .tk-woocommerce-main div.product > .woocommerce-tabs {
  margin: 0 0 6px !important;
}

body.single-product .tk-woocommerce-main div.product .woocommerce-tabs ul.tabs {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  border-bottom: 2px solid #e0000d !important;
  background: #f1f3f6 !important;
  border-radius: 7px 7px 0 0 !important;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .woocommerce-tabs ul.tabs li {
  display: block !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.single-product .tk-woocommerce-main div.product .woocommerce-tabs ul.tabs li.active {
  background: #df000d !important;
}

body.single-product .tk-woocommerce-main div.product .woocommerce-tabs ul.tabs li + li {
  border-left: 1px solid #d2d8e1 !important;
}

body.single-product .tk-woocommerce-main div.product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  width: 100%;
  padding: 12px 8px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  text-align: center !important;
  white-space: normal;
  color: #15171c !important;
}

body.single-product .tk-woocommerce-main div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fff !important;
}

body.single-product .tk-woocommerce-main div.product .woocommerce-tabs .panel {
  margin: 13px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 12px !important;
  line-height: 1.34 !important;
}

body.single-product .tk-woocommerce-main div.product .woocommerce-tabs .panel > h2:first-child {
  display: none;
}

body.single-product .tk-woocommerce-main .tk-product-editorial-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 33px;
  align-items: start;
}

body.single-product .tk-woocommerce-main .tk-product-editorial-grid h3,
body.single-product .tk-woocommerce-main .tk-product-full-specs h3 {
  font-weight: 850;
  font-size: 17px;
  margin: 0 0 7px;
  color: #111318;
}

body.single-product .tk-woocommerce-main .tk-product-editorial-copy p {
  margin: 0 0 6px;
}

body.single-product .tk-woocommerce-main .tk-product-editorial-copy ul {
  list-style: none;
  margin: 6px 0;
  padding-left: 0;
}

body.single-product .tk-woocommerce-main .tk-product-editorial-copy li {
  padding-left: 21px;
  position: relative;
  margin-bottom: 3px;
}

body.single-product .tk-woocommerce-main .tk-product-editorial-copy li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: #df000d;
  font-weight: 900;
}

body.single-product .tk-woocommerce-main table.shop_attributes {
  display: table;
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  table-layout: fixed;
}

body.single-product .tk-woocommerce-main table.shop_attributes th,
body.single-product .tk-woocommerce-main table.shop_attributes td {
  padding: 3px 9px !important;
  border: 1px solid #d0d5dd !important;
  vertical-align: middle !important;
  background: #f7f8fa !important;
  font-style: normal !important;
  overflow-wrap: anywhere;
}

body.single-product .tk-woocommerce-main table.shop_attributes th {
  width: 33%;
  font-weight: 750;
  background: #edf0f4 !important;
}

body.single-product .tk-woocommerce-main table.shop_attributes td p {
  padding: 0;
  margin: 0;
}

body.single-product .tk-woocommerce-main .tk-product-unfilled {
  color: #697281;
  font-size: 12px;
}

body.single-product .tk-woocommerce-main .tk-product-questions a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #dd000e;
  font-weight: 800;
}

/* Related products: five compact, horizontally composed real product cards. */
body.single-product .tk-woocommerce-main .related > h2,
body.single-product .tk-woocommerce-main .upsells > h2 {
  border-left: 4px solid #df000d !important;
  padding: 0 0 0 12px !important;
  margin: 5px 0 12px !important;
  font-size: 18px !important;
  line-height: 1.2;
  font-weight: 850;
}

body.single-product .tk-woocommerce-main .related ul.products,
body.single-product .tk-woocommerce-main .upsells ul.products {
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  gap: 9px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
}

body.single-product .tk-woocommerce-main .related ul.products li.product,
body.single-product .tk-woocommerce-main .upsells ul.products li.product {
  min-width: 0 !important;
  min-height: 100px;
  width: 100% !important;
  margin: 0 !important;
  padding: 9px !important;
  border: 1px solid #dfe4ec !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.single-product .tk-woocommerce-main .related ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .tk-woocommerce-main .upsells ul.products li.product a.woocommerce-LoopProduct-link {
  display: grid !important;
  grid-template-columns: 43% minmax(0,1fr) !important;
  grid-template-rows: auto auto auto !important;
  gap: 3px 8px !important;
  align-content: center !important;
  min-height: 76px;
  width: 100%;
}

body.single-product .tk-woocommerce-main .related ul.products li.product a.woocommerce-LoopProduct-link > img,
body.single-product .tk-woocommerce-main .upsells ul.products li.product a.woocommerce-LoopProduct-link > img {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  width: 100% !important;
  height: 78px !important;
  max-width: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
  background: #f6f7f9;
  border-radius: 5px;
}

body.single-product .tk-woocommerce-main .related ul.products li.product a.woocommerce-LoopProduct-link > h2,
body.single-product .tk-woocommerce-main .upsells ul.products li.product a.woocommerce-LoopProduct-link > h2 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  color: #18191d !important;
  max-height: 2.4em;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

body.single-product .tk-woocommerce-main .related ul.products li.product a.woocommerce-LoopProduct-link > .price,
body.single-product .tk-woocommerce-main .upsells ul.products li.product a.woocommerce-LoopProduct-link > .price {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  font-size: 12px !important;
  color: #111318 !important;
  font-weight: 850 !important;
}

body.single-product .tk-woocommerce-main .related ul.products li.product a.woocommerce-LoopProduct-link > .star-rating,
body.single-product .tk-woocommerce-main .upsells ul.products li.product a.woocommerce-LoopProduct-link > .star-rating {
  grid-column: 2 !important;
  grid-row: 3 !important;
  font-size: 10px !important;
  color: #e0000d !important;
  margin: 0 !important;
}

body.single-product .tk-woocommerce-main .related ul.products li.product > .button,
body.single-product .tk-woocommerce-main .upsells ul.products li.product > .button {
  display: none !important;
}

@media (max-width: 1080px) {
  body.single-product .tk-woocommerce-main div.product {
    column-gap: 24px !important;
  }
  body.single-product .tk-woocommerce-main .related ul.products,
  body.single-product .tk-woocommerce-main .upsells ul.products {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 780px) {
  body.single-product .tk-woocommerce-main > .tk-container {
    width: min(100% - 24px, 720px) !important;
  }
  body.single-product .tk-woocommerce-main div.product {
    display: block !important;
  }
  body.single-product .tk-woocommerce-main div.product > div.images,
  body.single-product .tk-woocommerce-main div.product > div.summary {
    display: block !important;
    width: 100% !important;
    margin: 0 0 17px !important;
  }
  body.single-product .tk-woocommerce-main div.product div.images .flex-viewport,
  body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__image,
  body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__image > a,
  body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__image img {
    height: min(70vw,410px) !important;
    min-height: 0 !important;
    max-height: 410px !important;
  }
  body.single-product .tk-woocommerce-main div.product div.images .woocommerce-product-gallery__trigger {
    top: calc(min(70vw, 410px) - 44px) !important;
  }
  body.single-product .tk-woocommerce-main .tk-product-editorial-grid {
    grid-template-columns: 1fr;
    gap: 19px;
  }
  body.single-product .tk-woocommerce-main .related ul.products,
  body.single-product .tk-woocommerce-main .upsells ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 480px) {
  body.single-product .tk-woocommerce-main div.product .summary .product_title {
    font-size: 23px !important;
  }
  body.single-product .tk-woocommerce-main div.product div.images .flex-control-thumbs {
    justify-content: flex-start !important;
    gap: 7px !important;
  }
  body.single-product .tk-woocommerce-main div.product div.images .flex-control-thumbs li {
    width: calc((100% - 21px) / 4) !important;
    max-width: 90px !important;
    height: 66px !important;
  }
  body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .variations {
    width: calc(100% - 95px) !important;
    max-width: calc(100% - 95px) !important;
  }
  body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .woocommerce-variation-add-to-cart > .quantity {
    width: 87px !important;
  }
  body.single-product .tk-woocommerce-main div.product .summary form.cart.variations_form .woocommerce-variation-add-to-cart > .quantity .qty {
    width: 80px !important;
  }
  body.single-product .tk-woocommerce-main div.product .summary form.cart button.single_add_to_cart_button,
  body.single-product .tk-woocommerce-main div.product .summary form.cart button.tk-buy-now {
    min-height: 47px !important;
    font-size: 12px !important;
    padding-inline: 6px !important;
  }
  body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances {
    padding: 12px 7px !important;
  }
  body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances > div {
    gap: 6px !important;
    padding: 2px 5px !important;
  }
  body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances strong {
    font-size: 10px !important;
  }
  body.single-product .tk-woocommerce-main div.product .summary .tk-product-assurances small {
    font-size: 10px !important;
  }
  body.single-product .tk-woocommerce-main div.product .woocommerce-tabs ul.tabs li a {
    padding: 11px 3px !important;
    font-size: 10px !important;
  }
  body.single-product .tk-woocommerce-main .related ul.products,
  body.single-product .tk-woocommerce-main .upsells ul.products {
    grid-template-columns: 1fr !important;
  }
  body.single-product .tk-woocommerce-main .related ul.products li.product,
  body.single-product .tk-woocommerce-main .upsells ul.products li.product {
    min-height: 90px;
  }
}
