/* WooCommerce Styles */

.woocommerce-order-received .woocommerce .woocommerce-order {
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
}
.woocommerce-order-received .woocommerce .woocommerce-order .woocommerce-thankyou-order-received {
  font-weight: 700;
  font-size: 20px;
}
.woocommerce-order-received .woocommerce .woocommerce-order ul.woocommerce-thankyou-order-details {
  list-style: none;
  margin-top: 3.4rem;
  padding: 0;
}
.woocommerce-order-received .woocommerce .woocommerce-order .warehouse-details {
  margin-top: 3.4rem;
}
.woocommerce-order-received .woocommerce .woocommerce-order .warehouse-details .instructions {
  font-weight: 600;
}
.woocommerce-order-received .woocommerce .woocommerce-order .warehouse-details p,
.woocommerce-order-received .woocommerce .woocommerce-order .warehouse-details a {
  margin-bottom: 0.5rem;
}
.woocommerce-order-received .woocommerce .woocommerce-order .warehouse-details a {
  display: block;
}
.woocommerce-order-received .woocommerce .woocommerce-order .woocommerce-order-details {
  margin-top: 3.4rem;
}
.woocommerce-order-received .woocommerce .woocommerce-order .woocommerce-customer-details {
  margin-top: 3.4rem;
}
.form-row.woocommerce-validated input.input-text {
  box-shadow: inset 4px 0 0;
}
.form-row.woocommerce-invalid input.input-text {
  box-shadow: inset 4px 0 0 #1363df;
}
.form-row-wide {
  margin-top: 1rem;
}
.woocommerce-notices-wrapper .woocommerce-Price-amount {
  color: white;
}
.woocommerce-notices-wrapper > * + * {
  margin-top: 1.5rem;
}
.woocommerce-notices-wrapper > *:last-child {
  margin-bottom: 4rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background-color: #1363df;
  margin-left: 0;
  border-radius: 4px;
  color: #fff;
  clear: both;
  border-left: 8px solid rgba(0, 0, 0, 0.15);
  padding: 1rem 2rem 1rem 2rem;
  position: relative;
  list-style: none outside;
}
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.woocommerce-noreviews a,
p.no-comments a {
  color: #fff;
  transition: 0.3s;
  text-decoration: underline;
}
.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover,
.woocommerce-noreviews a:hover,
p.no-comments a:hover {
  color: #fff;
  opacity: 0.6;
}
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover,
.woocommerce-noreviews a.button:hover,
p.no-comments a.button:hover {
  opacity: 1;
}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-noreviews .button,
p.no-comments .button {
  float: right;
  padding: 0;
  background: none;
  color: #fff;
  box-shadow: none;
  line-height: 1.618;
  margin-left: 1em;
  padding-left: 1em;
  border-width: 0;
  border-left-width: 1px;
  border-left-style: solid;
  border-left-color: rgba(255, 255, 255, 0.25);
  border-radius: 0;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce-noreviews .button:hover,
p.no-comments .button:hover {
  background: none;
  color: #fff;
  opacity: 0.7;
}
.woocommerce-message pre,
.woocommerce-info pre,
.woocommerce-error pre,
.woocommerce-noreviews pre,
p.no-comments pre {
  background-color: rgba(0, 0, 0, 0.1);
}

.woocommerce-error,
.woocommerce-noreviews {
  background-color: #1363df;
}
table.woocommerce-table--order-details {
  border-collapse: collapse;
}
table.woocommerce-table--order-details tr th,
table.woocommerce-table--order-details tr td {
  text-align: left;
  padding: 0.5rem 0;
}
table.woocommerce-table--order-details tr th:last-child,
table.woocommerce-table--order-details tr td:last-child {
  padding-left: 1rem;
}
table.woocommerce-table--order-details tr td {
  display: table-cell;
}
table.woocommerce-table--order-details tr.order_item a,
table.woocommerce-table--order-details tr.order_item span,
table.woocommerce-table--order-details tr.order_item strong {
  color: #707070;
  font-weight: 500;
}

.woocommerce .button {
  background-color: #06283d;
  border: none;
  color: #FFF;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s ease;
  display: inline-block;
}
.woocommerce .button:hover {
  opacity: 0.6;
}

.woocommerce .quantity {
  height: inherit;
}
.woocommerce .quantity button {
  background-color: transparent;
  border: none;
  color: black;
  font-weight: 600;
  cursor: pointer;
  padding: 0.75rem;
  font-size: 20px;
  transition: 0.3s ease;
}
.woocommerce .quantity button:hover {
  opacity: 0.4;
}
.woocommerce input.qty {
  width: 80px;
  height: 50px;
  height: inherit;
  text-align: center;
  border: 1px solid #cccccc;
  border-radius: 4px;
  font-weight: 600;
}
.woocommerce input.qty::-webkit-outer-spin-button, .woocommerce input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce-Price-amount {
  color: red;
  font-weight: 700;
  font-size: 16px;
}

del .woocommerce-Price-amount {
  color: black;
  font-weight: 400;
  font-size: 12px;
}

.woocommerce-breadcrumb {
  font-weight: 700;
  color: #06283d;
  margin-bottom: 1rem;
}
.woocommerce-breadcrumb a {
  font-weight: 400;
  color: black;
}
.woocommerce-breadcrumb a:hover {
  color: #1363df;
}

.woocommerce-wrapper {
  margin-top: 3rem;
}
.woocommerce-wrapper > * + * {
  margin-top: 2rem;
}
@media (min-width: 80rem) {
  .woocommerce-wrapper > * + * {
    margin-top: 0;
  }
}
.woocommerce-wrapper > .container {
  flex-direction: column;
  display: flex;
}
@media (min-width: 80rem) {
  .woocommerce-wrapper > .container {
    flex-direction: row;
    margin-top: 6rem;
  }
}

@media (min-width: 80rem) {
  .woocommerce-categories {
    width: 21%;
  }
}
.woocommerce-categories h2 {
  font-size: 20px;
  margin-bottom: 1.5rem;
  margin-top: 0;
}
@media (min-width: 60rem) {
  .woocommerce-categories h2 {
    font-size: 22px;
    margin-bottom: 2rem;
  }
}
.woocommerce-categories .category-menu-button {
  display: block;
  background-color: #06283d;
  color: white;
  width: 100%;
  padding: 0.5rem 0;
  font-weight: 600;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media (min-width: 80rem) {
  .woocommerce-categories .category-menu-button {
    display: none;
  }
}
.woocommerce-categories .category-menu-button:hover {
  opacity: 0.6;
}
.woocommerce-categories ul {
  padding-left: 0;
  list-style: none;
}
.woocommerce-categories .category-menu {
  display: none;
  /* Level 1 */
  /* Level 2 */
  /* Level 3 */
}
@media (min-width: 80rem) {
  .woocommerce-categories .category-menu {
    display: block;
  }
}
.woocommerce-categories .category-menu.toggled-on {
  display: block;
}
.woocommerce-categories .category-menu a {
  color: #06283d;
  font-weight: 600;
  display: block;
  padding: 0.5rem 0;
  font-size: 1.1rem;
  text-decoration: none;
  border: none;
}
.woocommerce-categories .category-menu a:hover, .woocommerce-categories .category-menu a:focus {
  color: #06283d;
  opacity: 0.7;
}
.woocommerce-categories .category-menu .cat-item.current-cat > a {
  color: #06283d;
  opacity: 0.7;
}
.woocommerce-categories .category-menu button {
  --dropdown-toggle-size: 12px;
  background-color: #e0e0e0;
  border-radius: 6px;
}
.woocommerce-categories .category-menu button:hover {
  cursor: pointer;
}
.woocommerce-categories .category-menu button svg {
  background-image: url('data:image/svg+xml, %3Csvg xmlns="http://www.w3.org/2000/svg" style="width: var(--dropdown-toggle-size); height: var(--dropdown-toggle-size);" width="10" height="10" viewBox="0 0 10 10"%3E%3Cpath stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M5 1.5v7M1.5 5h7"/%3E%3C/svg%3E%0A');
  background-size: 100%;
  height: var(--dropdown-toggle-size);
  pointer-events: none;
  position: relative;
  transform: rotate(0);
  transition: all 0.15s;
  width: var(--dropdown-toggle-size);
}
.woocommerce-categories .category-menu button svg path {
  display: none;
}
.woocommerce-categories .category-menu button.toggled-on svg {
  background-image: url('data:image/svg+xml, %3Csvg xmlns="http://www.w3.org/2000/svg" style="width: var(--dropdown-toggle-size); height: var(--dropdown-toggle-size);" width="10" height="10" viewBox="0 0 10 10"%3E%3Cpath fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M1.5 5h7"/%3E%3C/svg%3E%0A');
  transform: rotate(-180deg);
}
.woocommerce-categories .category-menu > .cat-item > a {
  font-weight: 600;
  font-size: 1.1rem;
}
.woocommerce-categories .category-menu .children {
  background-color: transparent;
  display: none;
  list-style: none;
  padding-left: 1rem;
}
.woocommerce-categories .category-menu .children.toggled-on {
  display: block;
}
.woocommerce-categories .category-menu .children a {
  font-size: 1rem;
  font-weight: 400;
}
.woocommerce-categories .category-menu .children a {
  padding-left: 0;
}
.woocommerce-categories .category-menu .children .children a {
  padding-left: 1rem;
}

/* Standard WooCommerce Product Categories Widget */
.widget_product_categories .product-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget_product_categories .product-categories a {
  color: #06283d;
  font-weight: 600;
  text-decoration: none;
  display: block;
  padding: 0.5rem 1rem;
  transition: opacity 0.3s ease;
}

.widget_product_categories .product-categories a:hover,
.widget_product_categories .product-categories a:focus {
  opacity: 0.8;
}

.widget_product_categories .product-categories .current-cat > a {
  background-color: rgba(6, 40, 61, 0.1);
}

.widget_product_categories .product-categories .children {
  background-color: transparent;
  list-style: none;
  margin: 0;
  padding-left: 1rem;
}

.widget_product_categories .product-categories > .cat-item > a {
  font-weight: 600;
  font-size: 1.1rem;
}

.widget_product_categories .product-categories .children a {
  font-size: 1rem;
  font-weight: 400;
}

.widget_product_categories .product-categories .children .children a {
  padding-left: 1rem;
}

.woocommerce-content {
  border-top: 1px solid #eaeaea;
  padding-top: 4rem;
}
@media (min-width: 80rem) {
  .woocommerce-content {
    border-top: 0;
    padding-top: 0;
    width: 79%;
    margin-left: 2.6rem;
  }
}

.woocommerce-archive .woocommerce-products-header {
  margin-bottom: 1rem;
}
.woocommerce-archive .woocommerce-products-header h1 {
  font-size: 30px;
  margin: 0;
}
.woocommerce-archive .woocommerce-products-header .term-description {
  margin-top: 1rem;
}
@media (min-width: 50rem) {
  .woocommerce-archive .woocommerce-products-header .term-description {
    max-width: 750px;
  }
}
.woocommerce-archive .archive-results {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
  margin: 3rem 0;
}
.woocommerce-archive .archive-results .woocommerce-result-count {
  border-right: 1px solid #aaaaaa;
  padding-right: 1rem;
  max-width: 50%;
  margin-bottom: 0;
}
.woocommerce-archive .archive-results .woocommerce-ordering {
  max-width: 50%;
}
.woocommerce-archive .archive-results .woocommerce-ordering > * {
  width: 100%;
}
.woocommerce-archive .archive-results .orderby {
  background-color: #06283d;
  color: #fff;
  padding: 0.5rem 1rem;
  border: 0;
  cursor: pointer;
}

.woocommerce-archive .product {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: wrap;
  transition: 0.3s ease;
  background-color: #fff;
  box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.06);
  min-height: 100%;
}
.woocommerce-archive .product:hover {
  transform: translateY(-6px);
}
.woocommerce-archive .product .woocommerce-loop-product__title,
.woocommerce-archive .product .price,
.woocommerce-archive .product .availability {
  padding: 0 0.5rem;
}
@media (min-width: 60rem) {
  .woocommerce-archive .product .woocommerce-loop-product__title,
  .woocommerce-archive .product .price,
  .woocommerce-archive .product .availability {
    padding: 0 1rem;
  }
}
.woocommerce-archive .product img {
  width: 100%;
  height: auto;
}
.woocommerce-archive .product .woocommerce-loop-product__title {
  color: black;
  font-size: 10px;
  flex-grow: 1;
  display: block;
  hyphens: auto;
  margin-top: 1rem;
}
@media (min-width: 500px) {
  .woocommerce-archive .product .woocommerce-loop-product__title {
    font-size: 18px;
  }
}
.woocommerce-archive .product .product-flash {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.woocommerce-archive .product .product-flash > * + * {
  margin-top: 0.5rem;
}
.woocommerce-archive .product .onsale,
.woocommerce-archive .product .itsnew {
  text-align: center;
  display: block;
  color: #fff;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  font-size: 14px;
}
.woocommerce-archive .product .onsale {
  background-color: #1363df;
}
.woocommerce-archive .product .itsnew {
  background-color: #06283d;
}
.woocommerce-archive .product .price {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: 1rem;
}
.woocommerce-archive .product .price del,
.woocommerce-archive .product .price ins {
  display: block;
}
.woocommerce-archive .product .price ins .woocommerce-Price-amount {
  font-size: 12px !important;
}
.woocommerce-archive .product .price del .woocommerce-Price-amount {
  font-size: 10px !important;
}
.woocommerce-archive .product .availability {
  margin-top: 0.5rem;
}
.woocommerce-archive .product .availability .shipping,
.woocommerce-archive .product .availability .status {
  display: block;
  font-size: 14px;
}
.woocommerce-archive .product .availability .shipping {
  font-weight: 600;
  color: black;
}
.woocommerce-archive .product .availability .status {
  color: #707070;
}
.woocommerce-archive .product .availability .status::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 0.5rem;
}
.woocommerce-archive .product .availability.instock .status::before {
  background-color: #22c55e;
}
.woocommerce-archive .product .availability.outofstock .status::before {
  background-color: #ef4444;
}
.woocommerce-archive .product .availability.onbackorder .status::before {
  background-color: #facc15;
}
.woocommerce-archive .product .button {
  display: block;
  position: relative;
  font-size: 12px;
  color: #fff;
  background-color: #1363df;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border: none;
  border-radius: 0;
  width: 100%;
  margin-top: 0.75rem;
}
@media (min-width: 60rem) {
  .woocommerce-archive .product .button {
    font-size: 14px;
    margin-top: 1rem;
  }
}
@media (min-width: 100rem) {
  .woocommerce-archive .product .button {
    font-size: 16px;
  }
}
.woocommerce-archive .product .button:hover {
  opacity: 0.7;
}
.woocommerce-archive .product .button.loading::before, .woocommerce-archive .product .button.added::before {
  margin-right: 0.5rem;
}
.woocommerce-archive .product .button.loading::before {
  content: "";
  border: 2px solid #06283d;
  border-top: 2px solid #fff;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  animation: spin 1s ease infinite;
  display: inline-block;
}
.woocommerce-archive .product .button.added::before {
  content: url("../images/check.svg");
}
.woocommerce-archive .product .added_to_cart {
  display: none;
}

.woocommerce-pagination {
  margin-top: 4rem;
}
@media (min-width: 80rem) {
  .woocommerce-pagination {
    margin-top: 6rem;
  }
}
.woocommerce-pagination a.page-numbers {
  color: #06283d;
  font-weight: 600;
  transition: 0.2s ease-in-out;
  padding: 0.5rem;
  display: inline-block;
}
.woocommerce-pagination a.page-numbers:hover {
  opacity: 0.5;
}
.woocommerce-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.woocommerce-pagination .page-numbers.current {
  color: #fff;
  font-weight: 600;
  position: relative;
}
.woocommerce-pagination .page-numbers.current::after {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 4px;
  background-color: #06283d;
  z-index: -1;
}
.woocommerce-pagination .page-numbers > * + * {
  margin-left: 1.5rem;
}

.volttikauppa-checkout {
  max-width: 825px;
}
.volttikauppa-checkout h3 {
  margin-bottom: 1rem;
}
.volttikauppa-checkout .woocommerce {
  margin-top: 1.25rem;
}
.volttikauppa-checkout #customer_details,
.volttikauppa-checkout #order_review_heading,
.volttikauppa-checkout .woocommerce-additional-fields {
  margin-top: 3rem;
}
.volttikauppa-checkout #order_review_heading {
  padding-top: 3rem;
  border-top: 1px solid #cacaca;
}
.volttikauppa-checkout .shop_table {
  text-align: left;
  border-collapse: collapse;
}
.volttikauppa-checkout .shop_table thead {
  display: none;
}
.volttikauppa-checkout .shop_table th,
.volttikauppa-checkout .shop_table td {
  padding: 1rem 0;
}
.volttikauppa-checkout .shop_table td:last-child {
  padding-left: 2rem;
}
.volttikauppa-checkout .shop_table th {
  font-weight: 500;
}
.volttikauppa-checkout .shop_table tbody .cart_item,
.volttikauppa-checkout .shop_table tbody .cart_item .woocommerce-Price-amount {
  color: #707070;
}
.volttikauppa-checkout .shop_table .product-quantity {
  font-weight: 500;
}
.volttikauppa-checkout .shop_table .product-total .woocommerce-Price-amount,
.volttikauppa-checkout .shop_table .cart-subtotal .woocommerce-Price-amount {
  font-weight: 500;
}
.volttikauppa-checkout .shop_table tfoot,
.volttikauppa-checkout .shop_table .order-total {
  border-top: 1px solid #eaeaea;
}
.volttikauppa-checkout .shop_table .order-total th {
  font-weight: 700;
}
.volttikauppa-checkout .shop_table .shipping ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.volttikauppa-checkout .woocommerce-checkout-payment button {
  margin-top: 1rem;
}

.woocommerce-cart .cart-empty-title {
  margin-top: 3rem;
  margin-bottom: 2rem;
}
@media (min-width: 60rem) {
  .woocommerce-cart .cart-empty-title {
    margin-top: 8rem;
  }
}
.woocommerce-cart .cart-empty-text {
  margin-top: 2rem;
}

.woocommerce-cart .woocommerce {
  margin-top: 1.25rem;
}
.woocommerce-cart button[name=update_cart] {
  display: none;
}
.woocommerce-cart .return-to-shop {
  margin-top: 1rem;
}
.woocommerce-cart .woocommerce-Price-amount {
  color: black;
  font-weight: 600;
  font-size: 16px;
}

.woocommerce-cart-form__contents .product-thumbnail a img {
  max-width: 150px;
  height: auto;
}
@media (min-width: 60rem) {
  .woocommerce-cart-form__contents .product-thumbnail a img {
    max-width: 80px;
  }
}
.woocommerce-cart-form__contents td.actions {
  border: none;
}

.cart-collaterals {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  margin-top: 2rem;
  flex-direction: column;
  align-items: flex-end;
}
.cart-collaterals .cart_totals {
  min-width: 380px;
  margin-left: auto;
}
@media (min-width: 80rem) {
  .cart-collaterals {
    flex-direction: row;
  }
}
.cart-collaterals .cross-sells .products {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 2rem;
  column-gap: 0.75rem;
}
@media (min-width: 40rem) {
  .cart-collaterals .cross-sells .products {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 1.5rem;
  }
}
@media (min-width: 60rem) {
  .cart-collaterals .cross-sells .products {
    row-gap: 2rem;
    column-gap: 1.5rem;
    grid-template-columns: repeat(4, 1fr);
  }
}
.cart-collaterals .cross-sells .product {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: wrap;
  transition: 0.3s ease;
  background-color: #fff;
  box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.06);
  min-height: 100%;
}
.cart-collaterals .cross-sells .product:hover {
  transform: translateY(-6px);
}
.cart-collaterals .cross-sells .product .woocommerce-loop-product__title,
.cart-collaterals .cross-sells .product .price,
.cart-collaterals .cross-sells .product .availability {
  padding: 0 0.5rem;
}
@media (min-width: 60rem) {
  .cart-collaterals .cross-sells .product .woocommerce-loop-product__title,
  .cart-collaterals .cross-sells .product .price,
  .cart-collaterals .cross-sells .product .availability {
    padding: 0 1rem;
  }
}
.cart-collaterals .cross-sells .product img {
  width: 100%;
  height: auto;
}
.cart-collaterals .cross-sells .product .woocommerce-loop-product__title {
  color: black;
  font-size: 14px;
  flex-grow: 1;
  display: block;
  hyphens: auto;
  margin-top: 1rem;
}
@media (min-width: 60rem) {
  .cart-collaterals .cross-sells .product .woocommerce-loop-product__title {
    font-size: 14px;
  }
}
.cart-collaterals .cross-sells .product .product-flash {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.cart-collaterals .cross-sells .product .product-flash > * + * {
  margin-top: 0.5rem;
}
.cart-collaterals .cross-sells .product .onsale,
.cart-collaterals .cross-sells .product .itsnew {
  text-align: center;
  display: block;
  color: #fff;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  font-size: 14px;
}
.cart-collaterals .cross-sells .product .onsale {
  background-color: #1363df;
}
.cart-collaterals .cross-sells .product .itsnew {
  background-color: #06283d;
}
.cart-collaterals .cross-sells .product .price {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: 1rem;
}
.cart-collaterals .cross-sells .product .price del,
.cart-collaterals .cross-sells .product .price ins {
  display: block;
}
.cart-collaterals .cross-sells .product .availability {
  margin-top: 0.5rem;
}
.cart-collaterals .cross-sells .product .availability .shipping,
.cart-collaterals .cross-sells .product .availability .status {
  display: block;
  font-size: 14px;
}
.cart-collaterals .cross-sells .product .availability .shipping {
  font-weight: 600;
  color: black;
}
.cart-collaterals .cross-sells .product .availability .status {
  color: #707070;
}
.cart-collaterals .cross-sells .product .availability .status::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 0.5rem;
}
.cart-collaterals .cross-sells .product .availability.instock .status::before {
  background-color: #22c55e;
}
.cart-collaterals .cross-sells .product .availability.outofstock .status::before {
  background-color: #ef4444;
}
.cart-collaterals .cross-sells .product .availability.onbackorder .status::before {
  background-color: #facc15;
}
.cart-collaterals .cross-sells .product .button {
  display: block;
  position: relative;
  font-size: 12px;
  color: #fff;
  background-color: #1363df;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border: none;
  border-radius: 0;
  width: 100%;
  margin-top: 0.75rem;
}
@media (min-width: 60rem) {
  .cart-collaterals .cross-sells .product .button {
    font-size: 14px;
    margin-top: 1rem;
  }
}
.cart-collaterals .cross-sells .product .button:hover {
  opacity: 0.7;
}
.cart-collaterals .cross-sells .product .button.loading::before, .cart-collaterals .cross-sells .product .button.added::before {
  margin-right: 0.5rem;
}
.cart-collaterals .cross-sells .product .button.loading::before {
  content: "";
  border: 2px solid #06283d;
  border-top: 2px solid #fff;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  animation: spin 1s ease infinite;
  display: inline-block;
}
.cart-collaterals .cross-sells .product .button.added::before {
  content: url("../images/check.svg");
}
.cart-collaterals .cross-sells .product .added_to_cart {
  display: none;
}
.cart-collaterals .cart_totals {
  width: 100%;
  max-width: 500px;
}
.cart-collaterals .cart_totals > * + * {
  margin-top: 1rem;
}
.cart-collaterals .cart_totals .shipping ul {
  list-style: none;
  padding: 0;
}
.cart-collaterals .cart_totals .shipping ul li label {
  font-weight: 600;
}
.cart-collaterals .cart_totals .woocommerce-shipping-calculator a {
  font-weight: 600;
  color: #06283d;
  text-decoration: underline;
}
.cart-collaterals .cart_totals .woocommerce-shipping-calculator .shipping-calculator-form {
  margin-top: 1rem;
}
.cart-collaterals .cart_totals .woocommerce-shipping-calculator .shipping-calculator-form > * + * {
  margin-top: 0.75rem;
}
.cart-collaterals .cart_totals .woocommerce-shipping-calculator .shipping-calculator-form button {
  padding: 0.25rem 1.25rem;
}
.cart-collaterals .cart_totals .wc-proceed-to-checkout {
  margin-top: 1.5rem;
}
.cart-collaterals .cart_totals .wc-proceed-to-checkout .checkout-button {
  width: 100%;
}

@media (min-width: 60rem) {
  .summary-wrapper {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (min-width: 50rem) {
  .woocommerce-tabs {
    width: 100%;
  }
}
.woocommerce-tabs .tabs {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  margin-bottom: 1.75rem;
}
@media (min-width: 60rem) {
  .woocommerce-tabs .tabs {
    margin-bottom: 3rem;
  }
}
.woocommerce-tabs .tabs > * a {
  color: #707070;
  font-size: 20px;
  font-weight: 700;
}
.woocommerce-tabs .tabs > *.active a {
  display: block;
  color: black;
  border-bottom: 2px solid #06283d;
  padding-bottom: 4px;
}
.woocommerce-tabs .tabs > * + * {
  margin-left: 2rem;
}
.woocommerce-tabs #tab-description {
  max-width: 700px;
}
.woocommerce-tabs #tab-description > * {
  padding: 0;
  margin: 0;
  max-width: 100%;
}
.woocommerce-tabs #tab-description > * + * {
  margin-top: 0.25rem;
}
.woocommerce-tabs #tab-description p,
.woocommerce-tabs #tab-description li {
  line-height: 30px;
}
.woocommerce-tabs #tab-description ul,
.woocommerce-tabs #tab-description ol {
  list-style-position: inside;
}
.woocommerce-tabs #tab-description ul > * + *,
.woocommerce-tabs #tab-description ol > * + * {
  margin-top: 0.5rem;
}

.product-features {
  list-style: none;
  padding: 0;
  margin: 0;
}
.product-features > * + * {
  margin-top: 0.5rem;
}
.product-features-row {
  gap: 0.75rem;
}
.product-features-row-icon, .product-features-row-text {
  display: block;
}
.product-features-row-icon {
  display: flex;
  align-items: center;
}
.product-features-row-icon svg {
  fill: #1363df;
}

.product-technical-details {
  max-width: 500px;
  font-size: 15px;
}
.product-technical-details-row {
  border-bottom: 1px solid #cccccc;
  padding: 10px 0;
}
.product-technical-details-key {
  font-weight: 600;
}

.product-details-wrapper {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding: 2rem 0;
  width: 100%;
}

/* ------------------------------------------------------------------
   Merged additional rules from test.volttikauppa.css
------------------------------------------------------------------ */

.technical-details-table {
  text-align: left;
}


@media (max-width: 1024px) {
  /* Center the thumbnail navigation container */
  ol.flex-control-nav.flex-control-thumbs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px; /* Adjust spacing between thumbnails */
    padding: 0;
    margin: 15px auto; /* Add vertical spacing */
    list-style: none;
  }

	.sidebar {
		display: none; /* Hide sidebar by default */
	}

  /* Style individual thumbnails */
  ol.flex-control-nav.flex-control-thumbs li {
    margin: 0; /* Remove default margins */
    padding: 0;
  }

  /* Ensure images fit properly */
  ol.flex-control-nav.flex-control-thumbs img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
  }
}

/* Basic styling for the attachments section */
.product-attachments {
  margin: 2em 0;
  padding: 1em;
  border-top: 1px solid #eee;
}

.product-attachments-title {
  font-size: 1.2em;
  margin-bottom: 1em;
  color: #333;
}

.product-attachments ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.product-attachments li {
  margin-bottom: 0.5em;
}

.product-attachments a {
  display: flex; /* Replace Tailwind's flex */
  align-items: center; /* Replace items-center */
  gap: 8px;
  text-decoration: none;
  color: #2a65a7;
}

.product-attachments a:hover {
  text-decoration: underline;
}

.product-attachments svg {
  flex-shrink: 0; /* Prevent icon from shrinking */
}


/* Remove bullets and default list styling */
.woocommerce-tabs ul.tabs.wc-tabs {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

/* Style for the tab items */
.woocommerce-tabs ul.tabs.wc-tabs li {
  display: inline-block; /* Makes them appear horizontally */
  margin: 0 10px 0 0; /* Adjust spacing between tabs */
  background: none; /* Remove any background */
  border: none; /* Remove any borders */
  padding: 0; /* Remove any padding */
}

/* Style for the tab links */
.woocommerce-tabs ul.tabs.wc-tabs li a {
  text-decoration: none; /* Remove underline */
  padding: 10px 15px; /* Add some padding */
  display: inline-block;
  background: #f5f5f5; /* Light gray background */
  color: #333; /* Dark text color */
  border-radius: 4px; /* Rounded corners */
}

/* Active tab style */
.woocommerce-tabs ul.tabs.wc-tabs li.active a {
  background: #333; /* Dark background for active tab */
  color: #fff; /* White text for active tab */
}


#tab-description p {
  text-align: left;
  max-width: 100%;
}

#tab-description h2 {
  text-align: left;
  max-width: 100%;
}

#tab-description h3 {
  text-align: left;
  max-width: 100%;
}

.technical-details-table {
  margin: 2rem;
  padding-left: 1em;
  padding-right: 1em;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}


/* Hover effect */
.woocommerce-tabs ul.tabs.wc-tabs li a:hover {
  background: #ddd; /* Lighter gray on hover */
}

div.woocommerce-container > div > div.woocommerce-container-single-product > div.single-product-layout > div.product-left > div.product-gallery > div > ol {
  display: flex;
  justify-content: center;
}


div.woocommerce-container > div > div.woocommerce-container-single-product > div.single-product-layout > div.product-left > div.product-gallery > div > ol > li {
  width: 12px !important; /* Adjust size of the dots */
  height: 12px !important;
  border-radius: 50% !important; /* Makes them circular */
  background-color: #ccc !important; /* Default grey color */
  display: inline-block !important;
  transition: background-color 0.3s ease, transform 0.2s ease;
  position: relative;
  appearance: button;
  background: rgb(158, 158, 158);
  cursor: pointer;
    border: none;
    color: inherit;
    font: inherit;
    margin: 1px;
    outline: inherit;
    padding: 0px;
    position: relative;
    border-radius: 50%;
    box-shadow: rgb(82, 82, 82) 0px 0px 0px 1px inset;
    display: inline-flex;
    flex: 0 1 auto;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    vertical-align: middle;
    height: 1rem;
    width: 1rem;
    opacity: 0.45;
    transform: scale(0.55);
    transition: opacity 125ms ease-in-out, transform 125ms ease-in-out;
}


div.woocommerce-container > div > div.woocommerce-container-single-product > div.single-product-layout > div.product-left > div.product-gallery > div > ol > li img {
  position: relative; /* Ensure the image is the parent for the overlay */
  width: 12px !important; /* Adjust size of the dots */
  height: 12px !important;
  border-radius: 50% !important; /* Makes them circular */
  background-color: #ccc !important; /* Default grey color */
}

div.woocommerce-container > div > div.woocommerce-container-single-product > div.single-product-layout > div.product-left > div.product-gallery > div > ol > li img::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Grey overlay with 50% opacity */
  pointer-events: none; /* Ensure the overlay doesn't block interactions */
  z-index: 1; /* Place the overlay above the image */
}

.single-product-layout {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.woocommerce-breadcrumb {
 width: 100%;

}

/* Left Side Styling */
.product-left {
  width: 55%;
}

.woocommerce-breadcrumb {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

.product-title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 10px;
}

.product-rating {
  margin-bottom: 10px;
}

.product-gallery {
  margin-top: 15px;
}

/* Right Side Styling */
.product-right {
  width: 40%;
  margin-top: 30px;
}


.product-cart {
  margin-bottom: 15px;
}

.product-stock {
  font-size: 14px;
  color: #333;
}

.product-details p {
  margin-block-end: 1rem;
  margin-block-start: 1rem;
}

.product-details h2 {
  margin-block-end: 1.5rem;
  margin-block-start: 1.5rem;
}

.product-details {
  margin-top: 30px;
  padding: 20px;
  background: #f8f8f8;
  border-radius: 5px;
  align-items: stretch;
  color: rgb(51, 51, 51);
  font-family: "Titillium Web", sans-serif;
  text-size-adjust: 100%;
  line-height: 1rem;
  margin-block-end: 1rem;
  margin-block-start: 1rem;

    --fwnormal: 400;
    --app-padding-with-header: calc(var(--app-header-height) + 0.5rem);
    --app-header-height: 115px;
    font-size: 0.875em;
    --placement-breadcrumb-gap: 1.5rem;
    --placement-ribbon-between-gap: 0.25rem;
    --placement-gap: 2.5rem;
    --placement-ribbon-gap: 1rem;
    --stm-container-block-max-width: 97rem;
    --stm-container-block-gutter-start: var(--stm-container-block-inline-start,var(--stm-container-block-gap));
    --stm-container-block-gutter-end: var(--stm-container-block-inline-end,var(--stm-container-block-gap));
    --stm-container-block-inline-start: var(--stm-container-block-gap);
    --stm-container-block-inline-end: var(--stm-container-block-gap);
    --stm-container-block-gap: 3rem;
    hyphens: auto;
    word-break: normal;
    -webkit-tap-highlight-color: rgba(18, 82, 166, 0.1);
    display: flex;
    -webkit-box-align: stretch;
    align-items: stretch;
    flex-direction: column;
    -webkit-box-pack: start;
    justify-content: start;
    gap: 1.5rem;
    grid-column: 1 / 9;
}

@media (max-width: 1024px) {
    .single-product-layout {
        flex-direction: column;
    }
    .product-left {
        width: 100%;
    }
    .product-right {
        width: 100%;
        margin-top: 0px;        
    }
    .woocommerce-container-single-product {
        padding: 0px;
        margin: 0px;
    }
    .product-title {
        font-size: 24px;
        line-height: 26px;
    }
}

@media (max-width: 1500px) {
  .woocommerce-container-single-product .woocommerce-product-gallery__image {
    width: auto;
    height: 400px;
  }
  .woocommerce-product-gallery__image {
    width: auto;
    height: 400px;
  }
  .woocommerce-product-gallery__image img {
    width: auto;
    height: 400px;
  }
  .woocommerce-product-gallery__image a {
    width: auto;
    height: 400px;
  }
  .woocommerce-product-gallery__image a img {
    width: auto;
    height: 400px;
  }
}



/* Ensure the container displays flex */
.woocommerce .woocommerce-container {
    display: flex;
    flex-direction: row-reverse; /* Positions sidebar on the left */
}

@media (max-width: 1024px) {
    .woocommerce .woocommerce-container {
        flex-direction: column; /* Stacks sidebar on top */
        width: 100%;
    }
    .woocommerce .sidebar {
        order: 1; /* Moves sidebar below content */
        width: 100%;
        margin-top: 70px;
        margin-left: 10px;
    }
    
    .woocommerce .content-area {
        order: 2; /* Moves sidebar below content */
        width: 100%;
    }
  .woocommerce .content-area h1 {
    margin-left: 10px;
    }
  .term-description {
    margin-left: 10px;
  }
  .woocommerce-result-count {
    margin-left: 10px;
  }
  .orderby {
    margin-left: 10px;
  }
}

.woocommerce-container {
    margin-left: 1%;
    margin-right: 1%;
}

.woocommerce .sidebar {

    width: 15%;
    min-width: 250px;
}

.woocommerce .content-area {

    width: 85%;
    margin-left: 20px;
}

.woocommerce .content-area h1 {
    padding-left: 1rem;
}

.woocommerce .content-area .woocommerce-ordering {
    padding-left: 1rem;
}


.toggle-category-btn {
    background-color: #06283d;
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    text-align: left;
    display: block;
    margin-bottom: 5px;
}

.toggle-category-btn:hover {
    background-color: #084a7b;
}

.product-categories-container {
    padding: 10px;
    background: #f9f9f9;
    border: 1px solid #ddd;
}

/* Product Categories Toggle */
.product-categories-container {
    display: none; /* Default: hidden */
    margin-top: 10px;
}

.toggle-category-btn {
    background-color: #06283d;
    color: white;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    text-align: center;
    width: 100%;
}

.toggle-category-btn:hover {
    background-color: #041e2b;
}

/* Enhanced Category Hierarchy Styles */
.product-categories li.ancestor-cat a {
    color: #666;
    font-style: italic;
    padding-left: 0;
}

.product-categories li.current-cat-parent > a {
    font-weight: bold;
    color: #06283d;
    background-color: #f0f8ff;
    padding: 8px 12px;
    border-left: 4px solid #06283d;
    margin-bottom: 8px;
    display: block;
}

.product-categories li.current-cat-parent ul.children {
    margin: 8px 0 0 20px;
    padding: 0;
    border-left: 2px solid #e0e0e0;
}

.product-categories li.current-cat-parent ul.children li {
    margin-left: 15px;
    position: relative;
}

.product-categories li.current-cat-parent ul.children li:before {
    content: "└";
    position: absolute;
    left: -15px;
    color: #ccc;
}

.product-categories li.current-cat-parent ul.children li a {
    color: #06283d;
    padding: 4px 8px;
    display: block;
    font-size: 14px;
}

.product-categories li.current-cat-parent ul.children li a:hover {
    background-color: #f9f9f9;
    color: #041e2b;
}

.product-categories li.sibling-cat a {
    color: #888;
    padding: 4px 12px;
    display: block;
    border-left: 2px solid transparent;
}

.product-categories li.sibling-cat a:hover {
    background-color: #f5f5f5;
    border-left-color: #06283d;
}

.product-categories .count {
    float: right;
    color: #999;
    font-size: 12px;
    background-color: #f0f0f0;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: 8px;
}

@media (max-width: 1024px) {
  section.upsells ul.products,
  section.related ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 15px !important;
    padding-bottom: 15px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Key changes for equal height */
  section.upsells ul.products li.product,
  section.related ul.products li.product {
    flex: 0 0 calc(50% - 8px) !important;
    scroll-snap-align: start !important;
    margin: 0 !important;
    width: auto !important;
    float: none !important;
    min-height: 350px; /* Start with full height */
    display: flex !important;
  }

  /* Inner container that will match heights */
  section.upsells ul.products li.product .product-inner,
  section.related ul.products li.product .product-inner {
    width: 100%; /* Ensure full width */
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; /* Take up all available space */
  }

  /* Force image containers to equal height */
  section.upsells ul.products li.product .product-image-wrap,
  section.related ul.products li.product .product-image-wrap {
    height: 200px; /* Fixed height or use aspect-ratio */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Make product details flexible */
  section.upsells ul.products li.product .product-details,
  section.related ul.products li.product .product-details {
    flex: 1 !important; /* Expand to fill space */
    display: flex !important;
    flex-direction: column !important;
    padding: 5px 0 !important;
  }

  /* Push button to bottom */
  section.upsells ul.products li.product .button,
  section.related ul.products li.product .button {
    margin-top: auto !important;
  }

  /* Handle multi-line titles gracefully */
  section.upsells ul.products li.product .woocommerce-loop-product__title,
  section.related ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box !important;
  line-clamp: 2 !important;
  -webkit-line-clamp: 2 !important; /* Limit to 2 lines */
  -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 2.8em !important; /* Fallback height */
    line-height: 1.4em !important;
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
}


.frontpage .products .has-text-align-center .woocommerce-loop-product__title .wp-block-post-title .has-medium-font-size :where(a) {
  font-size: 1rem !important;
  font-weight: normal;
}

.frontpage .products .has-text-align-center .woocommerce-loop-product__title .wp-block-post-title .has-medium-font-size h3 {
  font-size: 1rem !important;
  font-weight: normal;
}

.frontpage .products .woocommerce-loop-product__title h3 {
  font-size: 1rem !important;
  font-weight: normal;
}

.frontpage .products .woocommerce-loop-product__title a {
  font-size: 1rem !important;
  font-weight: normal;
}


/* Change WooCommerce archive background color */
/* Ensure product container adapts */
.woocommerce ul.products,
.wp-block-woocommerce-product-collection ul.products {
  background: rgb(241, 241, 241); /* Prevents overriding */
  padding: 20px; /* Adds space inside the container */
  border-radius: 5px;
  margin-left: 0;
  margin-right: 0;
  display: grid; /* Use grid layout */
  grid-template-columns: 1fr; /* Default: 1 column for very small screens */
  width: auto; /* Ensures it adapts */
  gap: 20px; /* Adds spacing between product cards */  
  min-height: 300px;
}

/* Mobile displays over 300px width: show 2 products per row */
@media (min-width: 300px) {
  .woocommerce ul.products,
  .wp-block-woocommerce-product-collection ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Larger tablets and small desktops: 3 products per row */
@media (min-width: 768px) {
  .woocommerce ul.products,
  .wp-block-woocommerce-product-collection ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Large screens: auto-fill with minimum 200px width */
@media (min-width: 1024px) {
  .woocommerce ul.products,
  .wp-block-woocommerce-product-collection ul.products {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}

.woocommerce-container ul.products {

  padding-left: 1rem;
  padding-right: 1rem;
}



.woocommerce ul.products li.product,
.wp-block-woocommerce-product-collection ul.products li.product {
  background: white;
  padding: 15px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 5px;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%; /* Ensures uniform height */
  position: relative;
  max-width: 300px; /* Set a fixed max width */
  width: 100%; /* Ensure it adapts */
  overflow: hidden; /* Prevents content overflow */
}

/* Force WooCommerce Product Images to Have the Same Height */
.woocommerce ul.products li.product img,
.wp-block-woocommerce-product-collection ul.products li.product img {
  max-width: 100%; /* Prevents image from exceeding card width */
  height: auto; /* Maintain aspect ratio */
  object-fit: cover; /* Ensures uniform image cropping */
  display: block;
  margin: 0 auto; /* Center image */
}

.woocommerce-Tabs-panel .woocommerce-Tabs-panel--description .panel .entry-content .wc-tab > h1, h2, h3, h4, h5, h6, p {
    width: 100%;
    margin-right: auto;
    padding-left: 0.1rem;
    padding-right: 0.1rem;
    margin-bottom: 1rem;
    max-width: 100%;
}


@media (max-width: 1024px) {

  .woocommerce ul.products li.product,
  .wp-block-woocommerce-product-collection ul.products li.product {
    padding: 5px;
    margin-right: auto;
    margin-left: auto;

  }
  .woocommerce-container .content-area {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
	.woocommerce ul.products,
	.wp-block-woocommerce-product-collection ul.products {
		background: rgb(241, 241, 241); /* Prevents overriding */
		padding: 20px; /* Adds space inside the container */
		border-radius: 5px;
		display: grid; /* Use grid layout */

		width: auto; /* Ensures it adapts */
	}

}

/* Corrected Sale Badge Position */
.woocommerce ul.products li.product span.onsale,
.wp-block-woocommerce-product-collection ul.products li.product span.onsale {
  display: inline-block !important; /* Ensure it is visible */
  background-color: red !important; /* Red background */
  color: white !important; /* White text */
  font-weight: bold !important; /* Bold text */
  text-transform: uppercase; /* Capitalized text */
  font-size: 18px; /* Adjust text size */
  padding: 5px 10px; /* Adjust padding */
  border-radius: 5px; /* Rounded corners */
  position: absolute; /* Position inside the product card */
  top: 10px; /* Position from the top of the product card */
  left: 10px; /* Position from the left of the product card */
  z-index: 10; /* Ensure it stays above other elements */
}

/* Change the text to "ALE!" */
.woocommerce span.onsale::before,
.wp-block-woocommerce-product-collection span.onsale::before {
  content: ""; /* Override default "SALE" text */
}

.product-gallery,
.wp-block-woocommerce-product-collection .product-gallery {
  position: relative;
}

/* Corrected Sale Badge Position */
.woocommerce-container .product-gallery span.onsale,
.wp-block-woocommerce-product-collection span.onsale {
  display: inline-block !important; /* Ensure it is visible */
  background-color: red !important; /* Red background */
  color: white !important; /* White text */
  font-weight: bold !important; /* Bold text */
  text-transform: uppercase; /* Capitalized text */
  font-size: 2rem; /* Adjust text size */
  padding: 5px 10px; /* Adjust padding */
  border-radius: 5px; /* Rounded corners */
  position: absolute; /* Position inside the product card */
  top: 10px; /* Position from the top of the product card */
  left: 10px; /* Position from the left of the product card */
  z-index: 10; /* Ensure it stays above other elements */
}

/* Custom style for WooCommerce Product Price block */
.wc-block-components-product-price.is-style-custom-price-style { 
  font-size: 1rem; 
  color: #e60023; 

  }




/* Ensure product title aligns consistently */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  flex-grow: 1; /* Makes sure the title takes available space */
  text-align: left; /* Center the title */
}

ul.products li.product h2 {
  line-height:1.2em;
  height:3.6em; /* fell free to use your own value */
  overflow: hidden;
  text-overflow: ellipsis;
  position:relative;
	font-size: 1rem;;
}

ul.products li.product h2:after {
  content: "";
  text-align:right;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 2.4em; /* fell free to use your own value */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 99%);
}

/* Wrapper to align elements */
.custom-stock-wrapper {
  display: flex;
  gap: 8px; /* Space between balloon and text */
  margin-top: 10px; /* Ensure 10px space from price element */
  margin-bottom: 0.3rem;
  clear: both; /* Ensure it appears below price on new line */
}

/* Variation list: one row per variant */
.custom-stock-wrapper.variations {
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}

.custom-stock-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Stock balloons (colored circles) */
.custom-stock-balloon {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
}

/* Green balloon for in-stock */
.custom-stock-balloon.in-stock {
  background-color: #28a745; /* Green */
}

/* Dark grey balloon for out-of-stock */
.custom-stock-balloon.out-of-stock {
  background-color: #555; /* Dark grey */
}

/* Amber balloon for backorder */
.custom-stock-balloon.backorder {
  background-color: #f0ad4e; /* Amber */
}

/* Stock text styling */
.custom-stock-text {
  font-size: 14px;
  font-weight: 600;
  color: #333; /* Dark charcoal */
  text-transform: uppercase;
}

/* Position price container at the bottom left */
ul.products li.product .price {
  max-width: 65%;
  position: absolute;
  bottom: 10px;
  left: 10px;
  font-size: 1rem;
  font-weight: bold;
  color: red;
  display: flex;
  align-items: center;
  gap: 0.2rem; /* Adds space between sale and regular price */
  flex-direction: row; /* Ensures correct order */
  flex-wrap: wrap;
}

/* Woocommerce price on single product page upsells and related */
.woocommerce-container .product-details ul.products li.product .price {
  max-width: 70%;
  bottom: 10px;
  left: 10px;
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 0.2rem; /* Adds space between sale and regular price */
  flex-direction: row; /* Ensures correct order */
  flex-wrap: wrap;
}

/* Woocommerce price on single product page upsells and related */
.woocommerce-container .product-details ul.products li.product .price .woocommerce-Price-amount{
  color: red; /* Change text color to red */
  font-size: 1rem;
}

/* Position price at the bottom left */
ul.products li.product .price .woocommerce-Price-amount{
  color: red; /* Change text color to red */

}

/* Style sale price */
ul.products li.product .price ins .woocommerce-Price-amount{
  color: red; /* Ensure sale price is red */
  font-weight: bold;
  font-size: 1rem;

  margin-right: 0.3rem; /* Space between sale price and regular price */
  align-self: flex-start;
}


@media (max-width: 1024px) {
  /* Position price container at the bottom left */
/* Style sale price */
  ul.products li.product .price ins .woocommerce-Price-amount{
    font-size: 1rem;
    margin-top: 20px;
    padding-top: 20px;

  }
  
}

/* Specific styles for mobile devices with 390px width */
@media (max-width: 390px) {
  .woocommerce ul.products li.product,
  .wp-block-woocommerce-product-collection ul.products li.product {
    min-height: 300px !important; /* Increased height for 390px devices */
    padding: 12px !important;
  }
  
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 3.2em !important; /* Ensure consistent title height */
    margin-bottom: 10px !important;
  }
  
  .woocommerce ul.products li.product .price {
    margin-bottom: 45px !important; /* More space for price section */
  }
  
  .woocommerce ul.products li.product .button {
    margin-top: 15px !important; /* More space above button */
    margin-bottom: 10px !important;
  }
  
  .woocommerce ul.products li.product .custom-stock-wrapper {
    margin-top: 10px !important; /* Always 10px space from price */
    margin-bottom: 8px !important; /* More space for stock indicator */
  }
}

/* General rule for all screen sizes - ensure stock wrapper has consistent spacing from price */
.woocommerce ul.products li.product .custom-stock-wrapper {
  margin-top: 10px !important; /* Always maintain 10px gap from price element */
  clear: both; /* Ensure it's on a new line after price */
}

/* Ensure price element doesn't interfere with stock positioning */
.woocommerce ul.products li.product .price {
  margin-bottom: 0 !important; /* Remove bottom margin from price to let stock wrapper control spacing */
  display: block !important; /* Ensure price takes full width */
}


/* Style sale price */
ul.products li.product .price ins {
  order: 1; /* Moves sale price first */
  color: red !important; /* Ensure sale price is red */
  font-weight: bold;
  font-size: 1rem;
}

/* Style sale price */
.single-product-layout .price ins {
  order: 1; /* Moves sale price first */
  color: red !important; /* Ensure sale price is red */
  font-weight: bold;
  font-size: 2.5rem;
}

/* Position price at the bottom left */
.single-product-layout .price {
  color: red; /* Change text color to red */
  font-weight: bold;
  font-size: 2.5rem;
}

/* Position price at the bottom left */
.single-product-layout .price del {
  order: 2; /* Moves regular price second */
  color: #555; /* Dark grey */
  font-size: 2rem;
  font-weight: normal;
}

/* Style regular price when there's a sale */
ul.products li.product .price del .woocommerce-Price-amount {
  order: 2; /* Moves regular price second */
  color: #555; /* Dark grey */
  font-size: 16px;
  font-weight: normal;
}

/* Style regular price when there's a sale */
ul.products li.product .price del {
  order: 2; /* Moves regular price second */
  color: #555 !important; /* Dark grey */
  font-size: 16px;
  font-weight: normal;
}

/* Style regular price when there's a sale */
ul.products li.product .price del .woocommerce-Price-amount {
  order: 2; /* Moves regular price second */
  color: #555; /* Dark grey */
  font-size: 16px;
  font-weight: normal;
}

/* Align add-to-cart button to bottom */
ul.products li.product .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: left;
}

ul.products li.product .button {
  margin-top: auto; /* Pushes button to the bottom */
}
/* Hide text and style button */
.woocommerce ul.products li.product .button,
.woocommerce-container-single-product .related.products .product .button,
.woocommerce-container-single-product .up-sells.products .product .button {
    font-size: 0; /* Hide text */
    width: 20%; /* Fixed width */
    height: auto; /* Fixed height */
    aspect-ratio: 1; /* Maintain square shape */
    background: #1769ff; /* Background color */
    border-radius: 50%; /* Circular shape */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    position: relative;
}

/* Add shopping basket icon */
.woocommerce-container-single-product .product-cart .single_add_to_cart_button .button::before,
.woocommerce ul.products li.product .button::before,
.woocommerce-container-single-product .related.products .product .button::before,
.woocommerce-container-single-product .up-sells.products .product .button::before {
    content: "\f291"; /* FontAwesome shopping basket icon */
    font-family: "Font Awesome 5 Free"; /* FontAwesome */
    font-weight: 900;
    font-size: 20px; /* Adjust icon size */
    color: white; /* Icon color */
}

div.woocommerce-container > div > div.woocommerce-container-single-product > div.single-product-layout > div.product-right > div.product-cart > form > button,
div.woocommerce-container > div > div.woocommerce-container-single-product > div.single-product-layout > div.product-right > form > button {
    background: #1769ff; /* Background color */
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 16px;
    width: 50%;
    text-align: center;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
}

div.woocommerce-container > div > div.woocommerce-container-single-product > div.single-product-layout > div.product-right > form > button::before {
    content: "\f291"; /* FontAwesome shopping basket icon */
    font-family: "Font Awesome 5 Free"; /* FontAwesome */
    font-weight: 900;
    font-size: 20px; /* Adjust icon size */
    color: white; /* Icon color */
    margin-right: 15px;
}

/* Align button in the product card */
.woocommerce ul.products li.product,
.single-product .related.products .product,
.single-product .up-sells.products .product {
    display: flex;
    flex-direction: column;
}

/* Ensure button stays at the bottom */
.woocommerce ul.products li.product .button,
.single-product .related.products .product .button,
.single-product .up-sells.products .product .button {
    align-self: center;
    margin-top: auto; /* Push to the bottom */
    margin-right: 10px;
    margin-left: auto;
}

