/* Orkatek product card — image ratio comes from Journal3 Image Dimensions. */
:root {
  --orkatek-card-image-ratio: 1 / 1;
}

.main-products.product-grid,
.module-products .product-grid {
  align-items: stretch !important;
  gap: 7px !important;
}

.main-products.product-grid > .product-layout,
.module-products .product-grid > .product-layout,
.product-grid > .product-layout {
  padding: 3px !important;
}

.product-layout .orkatek-product-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
  border: 1px solid #d9e7f4 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(27, 63, 102, .08) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.product-layout .orkatek-product-card:hover,
.product-layout .orkatek-product-card:focus-within {
  z-index: 2;
  border-color: #0876cf !important;
  box-shadow: 0 9px 24px rgba(8, 118, 207, .18) !important;
  transform: none !important;
}

/* Image area: white, compact and centred like the supplied reference. */
.orkatek-product-card .image-group {
  position: relative !important;
  display: flex !important;
  order: 0 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: var(--orkatek-card-image-ratio, 1 / 1) !important;
  margin: 0 !important;
  padding: 8px 12px 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

.orkatek-product-card .image,
.orkatek-product-card .product-img,
.orkatek-product-card .product-img > div {
  display: flex !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

.orkatek-product-card .product-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  background: #fff !important;
  transition: none !important;
}

.orkatek-product-card .product-img img,
.orkatek-product-card:hover .product-img img,
.orkatek-product-card:focus-within .product-img img {
  transform: none !important;
}

/* Only the favourite appears in the reference; compare is deliberately hidden. */
.orkatek-product-card .wish-group {
  position: absolute !important;
  top: 11px !important;
  right: 11px !important;
  z-index: 6 !important;
}

.orkatek-product-card .wish-group .btn-compare { display: none !important; }

.orkatek-product-card .wish-group .btn-wishlist {
  display: flex !important;
  width: 28px !important;
  height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 17px !important;
}

.orkatek-product-card .wish-group .btn-wishlist:hover,
.orkatek-product-card .wish-group .btn-wishlist:focus,
.orkatek-product-card .wish-group .btn-wishlist:active,
.orkatek-product-card:hover .wish-group .btn-wishlist {
  color: #111 !important;
  background: #fff !important;
  font-size: 17px !important;
  transform: none !important;
}

.orkatek-product-card .wish-group .btn-wishlist::before,
.orkatek-product-card .wish-group .btn-wishlist::after,
.orkatek-product-card .wish-group .btn-wishlist .btn-text,
.orkatek-product-card .wish-group .btn-wishlist .btn-text::before,
.orkatek-product-card .wish-group .btn-wishlist .btn-text::after,
.orkatek-product-card .wish-group .btn-wishlist:hover::before,
.orkatek-product-card .wish-group .btn-wishlist:hover::after,
.orkatek-product-card .wish-group .btn-wishlist:hover .btn-text,
.orkatek-product-card .wish-group .btn-wishlist:hover .btn-text::before,
.orkatek-product-card .wish-group .btn-wishlist:hover .btn-text::after,
.orkatek-product-card .wish-group .btn-wishlist:focus .btn-text,
.orkatek-product-card .wish-group .btn-wishlist:active .btn-text {
  color: #111 !important;
  fill: #111 !important;
  stroke: #111 !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Content is intentionally limited to name, product code and price. */
.orkatek-product-card .caption {
  position: static !important;
  display: flex !important;
  flex: 1 0 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 14px 12px !important;
  background: #fff !important;
}

.orkatek-product-card .caption .name {
  order: 1 !important;
  flex: 0 0 39px !important;
  height: 39px !important;
  min-height: 39px !important;
  max-height: 39px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}

.orkatek-product-card .caption .name a {
  display: -webkit-box !important;
  overflow: hidden !important;
  color: #152b4a !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.orkatek-product-card .caption .name a:hover,
.orkatek-product-card .caption .name a:focus { color: #0876cf !important; }

.orkatek-product-card .product-code {
  order: 2 !important;
  min-height: 17px !important;
  margin: 0 0 4px !important;
  overflow: hidden !important;
  color: #718298 !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.orkatek-product-card .product-code::before {
  margin-right: 5px;
  content: "\f02b";
  color: #69809a;
  font-family: FontAwesome;
}

.orkatek-product-card .stats,
.orkatek-product-card .description,
.orkatek-product-card .rating,
.orkatek-product-card .extra-group { display: none !important; }

.orkatek-product-card .product-features {
  order: 3 !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  min-height: 20px !important;
  align-items: center !important;
  gap: 15px !important;
  margin: 3px 0 7px !important;
  color: #65788f !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.orkatek-product-card .product-feature {
  display: inline-flex !important;
  min-width: 0 !important;
  align-items: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.orkatek-product-card .product-feature::before {
  flex: 0 0 auto;
  margin-right: 6px;
  color: #58728f;
  font-family: FontAwesome;
  font-size: 14px;
}

.orkatek-product-card .product-feature-capacity::before { content: "\f1c0"; }
.orkatek-product-card .product-feature-connection::before { content: "\f0c1"; }

.orkatek-product-card .price {
  order: 4 !important;
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  min-height: 31px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: #0876cf !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.orkatek-product-card .price .price-old { color: #8492a3 !important; font-size: 12px !important; font-weight: 500 !important; }
.orkatek-product-card .price-inquiry-message { padding: 0 !important; color: #0876cf !important; font-size: 15px !important; font-weight: 700 !important; }
.orkatek-product-card .price-inquiry-message {
  display: flex !important;
  width: 100% !important;
  height: 31px !important;
  align-items: center !important;
  margin: 0 !important;
  line-height: 31px !important;
  text-align: left !important;
}

.orkatek-product-card .price .js-price-wrapper {
  display: flex !important;
  height: 31px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-self: center !important;
  margin: 0 !important;
  line-height: 31px !important;
}

.orkatek-product-card .price .price-tax { display: none !important; }

/* Journal3's action positioning is fully reset, then rebuilt as the two reference buttons. */
.orkatek-product-card .buttons-wrapper,
.orkatek-product-card .button-group,
.orkatek-product-card .cart-group {
  position: static !important;
  display: flex !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.orkatek-product-card .buttons-wrapper { order: 5 !important; margin-top: 0 !important; }
.orkatek-product-card .buttons-wrapper { margin-top: auto !important; }
.orkatek-product-card .button-group { gap: 8px !important; }
.orkatek-product-card .btn-details,
.orkatek-product-card .cart-group { flex: 1 1 0 !important; }

.orkatek-product-card .cart-group .stepper { display: none !important; }

.orkatek-product-card .btn-details,
.orkatek-product-card .cart-group .btn-cart {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border-radius: 6px !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}

.orkatek-product-card .btn-details {
  border: 1px solid #0876cf !important;
  background: #fff !important;
  color: #0876cf !important;
}

.orkatek-product-card .btn-details:hover,
.orkatek-product-card .btn-details:focus,
.orkatek-product-card .btn-details:active {
  border-color: #0876cf !important;
  background: #0876cf !important;
  color: #fff !important;
}

/* Product module tabs: same names and visual language on desktop and mobile. */
.module-products .tab-container > .nav-tabs {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  margin: 0 !important;
  padding: 0 72px 9px !important;
  border: 0 !important;
  white-space: nowrap !important;
  scrollbar-width: none;
}

.module-products .tab-container > .nav-tabs::-webkit-scrollbar { display: none; }

.module-products .tab-container > .nav-tabs > li {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.module-products .tab-container > .nav-tabs > li > a {
  display: flex !important;
  height: 36px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 7px 0 6px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #30445d !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
  transform: none !important;
  transition: color .15s ease, border-color .15s ease !important;
  text-decoration: none !important;
}

.module-products .tab-container > .nav-tabs > li.active > a {
  border-bottom-color: #0876cf !important;
  background: transparent !important;
  color: #0876cf !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
  transform: none !important;
}

.module-products .tab-container > .nav-tabs > li > a:hover,
.module-products .tab-container > .nav-tabs > li > a:focus,
.module-products .tab-container > .nav-tabs > li > a:active {
  border-bottom-color: #0876cf !important;
  background: transparent !important;
  color: #0876cf !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
  transform: none !important;
}

.module-products .tab-container > .nav-tabs > li.active > a:hover,
.module-products .tab-container > .nav-tabs > li.active > a:focus,
.module-products .tab-container > .nav-tabs > li.active > a:active {
  font-weight: 700 !important;
}

.module-products .auto-carousel-buttons {
  display: flex !important;
  align-items: center !important;
  top: -32px !important;
  gap: 8px !important;
}

.module-products .auto-carousel-buttons .auto-carousel-prev,
.module-products .auto-carousel-buttons .auto-carousel-next {
  display: flex !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.module-products .auto-carousel-buttons .auto-carousel-prev,
.module-products .auto-carousel-buttons .auto-carousel-next {
  border: 1px solid #0876cf !important;
  background: #0876cf !important;
  background-image: none !important;
  background-blend-mode: normal !important;
  color: #fff !important;
}

.module-products .auto-carousel-buttons .auto-carousel-prev:hover,
.module-products .auto-carousel-buttons .auto-carousel-prev:focus,
.module-products .auto-carousel-buttons .auto-carousel-prev:active,
.module-products .auto-carousel-buttons .auto-carousel-next:hover,
.module-products .auto-carousel-buttons .auto-carousel-next:focus,
.module-products .auto-carousel-buttons .auto-carousel-next:active {
  border-color: #035fae !important;
  background: #035fae !important;
  background-image: none !important;
  background-blend-mode: normal !important;
  color: #fff !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.module-products .auto-carousel-buttons .auto-carousel-prev span,
.module-products .auto-carousel-buttons .auto-carousel-next span {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  color: #fff !important;
  font-size: 18px !important;
  transform: none !important;
}

.module-products .auto-carousel-buttons .auto-carousel-prev span::before,
.module-products .auto-carousel-buttons .auto-carousel-next span::before {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  font-family: icomoon !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.module-products .auto-carousel-buttons .auto-carousel-prev span::before,
.module-products .auto-carousel-buttons .auto-carousel-next span::before {
  color: #fff !important;
  transform: none !important;
}

/* Product-page recommendation modules use the same title language as the homepage,
   without the Journal3 caret or carousel navigation controls. */
body.product-product .module-products .tab-container > .nav-tabs > li > a {
  text-transform: capitalize !important;
}

body.product-product .module-products .tab-container::after,
body.product-product .module-products .tab-container > .nav-tabs > li::after,
body.product-product .module-products .tab-container > .nav-tabs > li > a::after {
  display: none !important;
  content: none !important;
}

body.product-product .module-products .auto-carousel-buttons {
  display: none !important;
}

#product-product .module-products .tab-container > .nav-tabs > li > a {
  text-transform: capitalize !important;
}

#product-product .module-products .tab-container::after,
#product-product .module-products .tab-container > .nav-tabs > li::after,
#product-product .module-products .tab-container > .nav-tabs > li > a::after,
#product-product .module-products .auto-carousel-buttons {
  display: none !important;
  content: none !important;
}

.orkatek-product-card .cart-group .btn-cart {
  border: 1px solid #0876cf !important;
  background: #0876cf !important;
  color: #fff !important;
}

.orkatek-product-card .cart-group .btn-cart:hover,
.orkatek-product-card .cart-group .btn-cart:focus,
.orkatek-product-card .cart-group .btn-cart:active {
  border-color: #035fae !important;
  background: #035fae !important;
  color: #fff !important;
}

.orkatek-product-card .btn-details .btn-text,
.orkatek-product-card .cart-group .btn-cart .btn-text {
  position: static !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  color: inherit !important;
  font: inherit !important;
  font-size: 12px !important;
  line-height: 12px !important;
  transform: none !important;
}

.orkatek-product-card .btn-details:hover,
.orkatek-product-card .btn-details:focus,
.orkatek-product-card .btn-details:active,
.orkatek-product-card .btn-details:hover .btn-text,
.orkatek-product-card .btn-details:focus .btn-text,
.orkatek-product-card .btn-details:active .btn-text,
.orkatek-product-card .cart-group .btn-cart:hover,
.orkatek-product-card .cart-group .btn-cart:focus,
.orkatek-product-card .cart-group .btn-cart:active,
.orkatek-product-card .cart-group .btn-cart:hover .btn-text,
.orkatek-product-card .cart-group .btn-cart:focus .btn-text,
.orkatek-product-card .cart-group .btn-cart:active .btn-text {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 12px !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

.orkatek-product-card .cart-group .btn-cart::before {
  display: inline-block !important;
  margin-right: 6px !important;
  content: "\f07a";
  font-family: FontAwesome !important;
  font-size: 14px !important;
}

@media (max-width: 767px) {
  .main-products.product-grid,
  .module-products .product-grid,
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
    overflow: visible !important;
  }

  .product-grid .product-layout,
  .main-products .product-layout,
  .module-products .product-layout {
    padding: 0 !important;
    overflow: visible !important;
  }

  .orkatek-product-card .image-group {
    flex-basis: auto !important;
    height: auto !important;
    aspect-ratio: var(--orkatek-card-image-ratio, 1 / 1) !important;
    padding: 10px 10px 0 !important;
  }

  .orkatek-product-card .product-img img { width: 100% !important; height: 100% !important; max-height: 100% !important; }
  .orkatek-product-card .image,
  .orkatek-product-card .product-img,
  .orkatek-product-card .product-img > div { height: 100% !important; }
  .orkatek-product-card .wish-group { top: 10px !important; right: 10px !important; }
  .orkatek-product-card .caption { padding: 9px 10px 10px !important; }
  .orkatek-product-card .caption .name a { font-size: 13px !important; }
  .orkatek-product-card .product-features { gap: 8px !important; font-size: 11px !important; }
  .orkatek-product-card .price { font-size: 18px !important; }
  .orkatek-product-card .button-group {
    flex-direction: column !important;
    gap: 6px !important;
  }

  .orkatek-product-card .btn-details,
  .orkatek-product-card .cart-group {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  .orkatek-product-card .btn-details,
  .orkatek-product-card .cart-group .btn-cart {
    width: 100% !important;
    height: 34px !important;
    padding: 0 5px !important;
    font-size: 11px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  .module-products .tab-container > .nav-tabs {
    justify-content: flex-start !important;
    gap: 14px !important;
    padding: 0 8px 4px !important;
  }

  .module-products .tab-container > .nav-tabs > li > a,
  .module-products .tab-container > .nav-tabs > li.active > a,
  .module-products .tab-container > .nav-tabs > li > a:hover,
  .module-products .tab-container > .nav-tabs > li > a:focus,
  .module-products .tab-container > .nav-tabs > li > a:active {
    height: 36px !important;
    font-size: 16px !important;
    line-height: 23px !important;
  }

  .module-products .tab-content {
    margin-top: 2px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
  }

  .module-products .product-grid > .auto-carousel-buttons {
    position: absolute !important;
    top: 24vw !important;
    right: -10px !important;
    left: -10px !important;
    z-index: 12 !important;
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: space-between !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
  }

  .module-products .auto-carousel-buttons .auto-carousel-prev,
  .module-products .auto-carousel-buttons .auto-carousel-next {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    pointer-events: auto !important;
  }

  .module-products .auto-carousel-buttons .auto-carousel-prev span,
  .module-products .auto-carousel-buttons .auto-carousel-next span,
  .module-products .auto-carousel-buttons .auto-carousel-prev span::before,
  .module-products .auto-carousel-buttons .auto-carousel-next span::before {
    font-size: 14px !important;
  }

  .orkatek-product-card .btn-details .btn-text,
  .orkatek-product-card .cart-group .btn-cart .btn-text,
  .orkatek-product-card .btn-details:hover .btn-text,
  .orkatek-product-card .btn-details:focus .btn-text,
  .orkatek-product-card .btn-details:active .btn-text,
  .orkatek-product-card .cart-group .btn-cart:hover .btn-text,
  .orkatek-product-card .cart-group .btn-cart:focus .btn-text,
  .orkatek-product-card .cart-group .btn-cart:active .btn-text {
    font-size: 11px !important;
    line-height: 11px !important;
  }
}
