/*
 * Vempele / Testipele - V10 BROWSER AUDITED
 * Storefront 4.6.2 / WooCommerce 11.0.1 / WordPress 7.1
 * Smart Tabs #43, first panel #tab-431
 *
 * This is a complete replacement for V9.
 * No forced-priority declarations.
 */

:root {
  --vp-teal-950: #155756;
  --vp-teal-900: #1d706f;
  --vp-teal-800: #267776;
  --vp-teal-700: #2e9392;
  --vp-teal-500: #529194;
  --vp-teal-200: #a8c6c7;
  --vp-teal-100: #cde3e3;
  --vp-green-700: #2b7d42;
  --vp-green-500: #3ea055;
  --vp-red-700: #990012;
  --vp-ink: #17302f;
  --vp-muted: #687d7c;
  --vp-border: #d6e5e4;
  --vp-canvas: #edf5f4;
  --vp-surface: #fff;
  --vp-surface-soft: #f7faf9;
  --vp-surface-teal: #e4f0ef;
  --vp-radius-sm: 8px;
  --vp-radius-md: 14px;
  --vp-radius-lg: 22px;
  --vp-shadow-sm: 0 8px 24px rgba(29, 112, 111, 0.08);
  --vp-shadow-md: 0 18px 44px rgba(29, 112, 111, 0.13);
  --vp-transition: 180ms ease;
}

/* Base */

html {
  scroll-behavior: smooth;
}

body {
  background: var(--vp-canvas);
  color: var(--vp-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--vp-ink);
  line-height: 1.18;
  letter-spacing: -0.018em;
}

a {
  color: var(--vp-teal-900);
  transition: color var(--vp-transition);
}

a:hover {
  color: var(--vp-teal-700);
}

/* Header and text-based brand */

.site-header {
  border-bottom-color: rgba(255, 255, 255, 0.13);
  background:
    radial-gradient(circle at 85% 0%, rgba(205, 227, 227, 0.2), transparent 30rem),
    linear-gradient(135deg, var(--vp-teal-950), var(--vp-teal-900) 55%, var(--vp-teal-700));
  color: #fff;
  box-shadow: 0 10px 30px rgba(21, 87, 86, 0.12);
}

.site-branding .site-title {
  margin-bottom: 0;
}

.site-branding .site-title a {
  color: #fff;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-decoration: none;
}

.site-branding .site-description {
  color: rgba(255, 255, 255, 0.78);
}

/* Product search: verified form > input + button DOM */

.site-header .site-search form.woocommerce-product-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  margin-bottom: 0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(9, 49, 48, 0.13);
}

.site-header .site-search form.woocommerce-product-search::before {
  content: none;
}

.site-header .site-search form.woocommerce-product-search input[type="search"] {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(21, 87, 86, 0.15);
  border-right: 0;
  border-radius: 12px 0 0 12px;
  background: #fff;
  color: var(--vp-ink);
  box-shadow: none;
}

.site-header .site-search form.woocommerce-product-search button[type="submit"] {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.75rem 1rem;
  clip: auto;
  overflow: visible;
  border: 1px solid rgba(21, 87, 86, 0.15);
  border-radius: 0 12px 12px 0;
  background: var(--vp-teal-950);
  color: #fff;
  font-weight: 750;
  white-space: nowrap;
}

.site-header .site-search form.woocommerce-product-search button[type="submit"]:hover {
  background: var(--vp-teal-700);
}

.site-header .site-search input[type="search"]::placeholder {
  color: #718482;
  opacity: 1;
}

.site-header .site-search input[type="search"]:focus {
  border-color: var(--vp-teal-500);
  box-shadow: inset 0 0 0 2px rgba(82, 145, 148, 0.17);
}

@media (min-width: 1024px) {
  .site-header .site-branding {
    width: calc(100% - clamp(17.5rem, 30%, 21.25rem) - 4%);
    margin-right: 4%;
  }

  .site-header .site-search {
    width: clamp(17.5rem, 30%, 21.25rem);
  }
}

/* Desktop navigation */

.storefront-primary-navigation {
  border-top-color: rgba(255, 255, 255, 0.12);
  background: rgba(8, 55, 54, 0.28);
}

.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
  color: rgba(255, 255, 255, 0.95);
  font-weight: 700;
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover,
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.nav-menu > li.current-menu-item > a {
  color: #fff;
}

.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.children {
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius-md);
  background: #fff;
  box-shadow: var(--vp-shadow-md);
}

.main-navigation ul.menu ul.sub-menu a,
.main-navigation ul.nav-menu ul.children a {
  color: var(--vp-ink);
}

.main-navigation ul.menu ul.sub-menu a:hover,
.main-navigation ul.nav-menu ul.children a:hover {
  background: var(--vp-surface-teal);
  color: var(--vp-teal-950);
}

button.menu-toggle,
button.menu-toggle:hover {
  border-color: rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-weight: 750;
  box-shadow: none;
}

button.menu-toggle:hover {
  background: rgba(255, 255, 255, 0.16);
}

/* Header cart */

.site-header-cart .cart-contents,
.site-header-cart .cart-contents .amount,
.site-header-cart .cart-contents .count {
  color: rgba(255, 255, 255, 0.96);
}

.site-header-cart .widget_shopping_cart {
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius-md);
  background: #fff;
  color: var(--vp-ink);
  box-shadow: var(--vp-shadow-md);
}

.site-header-cart .widget_shopping_cart a,
.site-header-cart .widget_shopping_cart .woocommerce-Price-amount {
  color: var(--vp-ink);
}

/* Homepage */

body.home .site-header {
  margin-bottom: 1.5rem;
}

body.home .entry-header {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

body.home .entry-content > :first-child {
  margin-top: 0;
  margin-block-start: 0;
}

@media (max-width: 767px) {
  body.home .site-header {
    margin-bottom: 1rem;
  }
}

body.home .entry-content > .wp-block-group.has-background {
  border: 1px solid rgba(29, 112, 111, 0.12);
  border-radius: var(--vp-radius-lg);
  box-shadow: var(--vp-shadow-sm);
}

body.home .entry-content > .wp-block-group.has-background h2 {
  color: var(--vp-teal-950);
  text-align: center;
}

/* Smart Tabs #43 */

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default {
  margin-top: 0;
  border-radius: var(--vp-radius-lg);
  background: transparent;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav {
  gap: 8px;
  margin: 0 0 14px;
  padding: 6px;
  border: 1px solid rgba(29, 112, 111, 0.12);
  border-radius: 14px;
  background: rgba(205, 227, 227, 0.52);
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item {
  margin: 0;
  background: transparent;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item > .sp-tab__nav-link {
  padding: 11px 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--vp-muted);
  cursor: pointer;
  transition:
    color var(--vp-transition),
    background-color var(--vp-transition),
    border-color var(--vp-transition),
    box-shadow var(--vp-transition);
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item > .sp-tab__nav-link .sp-tab__tab_title {
  margin: 0;
  color: inherit;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.2;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item > .sp-tab__nav-link:not(.sp-tab__active):hover {
  border-color: rgba(29, 112, 111, 0.14);
  background: rgba(255, 255, 255, 0.68);
  color: var(--vp-teal-900);
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item > .sp-tab__nav-link.sp-tab__active {
  border-color: var(--vp-teal-900);
  background: var(--vp-teal-900);
  color: #fff;
  box-shadow: 0 6px 16px rgba(29, 112, 111, 0.18);
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item > .sp-tab__nav-link.sp-tab__active .sp-tab__tab_title {
  color: #fff;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > .sp-tab__tab-content .sp-tab__tab-pane {
  padding: 22px;
  border: 1px solid rgba(29, 112, 111, 0.13);
  border-radius: var(--vp-radius-lg);
  background: #fff;
  color: var(--vp-ink);
  box-shadow: var(--vp-shadow-sm);
}

/* Homepage Product Collection */

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wp-block-woocommerce-product-collection {
  margin: 0;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 ul.wc-block-product-template,
body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 ul.wc-block-product-template__responsive {
  margin-left: 0;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 li.wc-block-product {
  list-style: none;
  border: 1px solid rgba(29, 112, 111, 0.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
  transition:
    border-color var(--vp-transition),
    box-shadow var(--vp-transition),
    translate var(--vp-transition);
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 li.wc-block-product:hover {
  border-color: rgba(29, 112, 111, 0.3);
  box-shadow: var(--vp-shadow-sm);
  translate: 0 -2px;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-product img {
  border-radius: 14px;
  background: var(--vp-surface-soft);
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wp-block-post-title a,
body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-name {
  color: var(--vp-ink);
  font-weight: 750;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-price {
  color: var(--vp-green-700);
  font-weight: 800;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wp-block-button__link {
  border-radius: 9px;
  background: var(--vp-teal-900);
  color: #fff;
  font-weight: 750;
  box-shadow: none;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wp-block-button__link:hover {
  background: var(--vp-teal-700);
  color: #fff;
}

/* WooCommerce 11 renders this wrapper with hidden="" until an item is added. */
body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-button > span[hidden] {
  display: none;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-button > span:not([hidden]) .added_to_cart {
  border-radius: 9px;
  background: var(--vp-surface-teal);
  color: var(--vp-teal-950);
  font-weight: 750;
}

@media (min-width: 1000px) {
  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 ul.wc-block-product-template,
  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 ul.wc-block-product-template__responsive {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Classic WooCommerce lists */

.woocommerce ul.products li.product {
  border: 1px solid rgba(29, 112, 111, 0.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
  transition: border-color var(--vp-transition), box-shadow var(--vp-transition);
}

.woocommerce ul.products li.product:hover {
  border-color: rgba(29, 112, 111, 0.3);
  box-shadow: var(--vp-shadow-sm);
}

.woocommerce ul.products li.product img {
  border-radius: 14px;
  background: var(--vp-surface-soft);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--vp-ink);
  font-weight: 750;
}

.woocommerce ul.products li.product .price {
  color: var(--vp-green-700);
  font-weight: 800;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  border-radius: 9px;
  background: var(--vp-teal-900);
  color: #fff;
  font-weight: 750;
  box-shadow: none;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
  background: var(--vp-teal-700);
  color: #fff;
}

.onsale,
.wc-block-components-product-sale-badge {
  border-color: transparent;
  border-radius: 999px;
  background: var(--vp-green-700);
  color: #fff;
  font-weight: 800;
}

/* Shop and product page */

.woocommerce-products-header__title {
  color: var(--vp-ink);
}

.woocommerce-breadcrumb,
.woocommerce-result-count {
  color: var(--vp-muted);
}

.woocommerce-ordering select.orderby {
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius-sm);
  background: #fff;
  color: var(--vp-ink);
}

body.single-product .woocommerce-product-gallery__wrapper {
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius-lg);
  background: #fff;
  box-shadow: var(--vp-shadow-sm);
}

body.single-product .summary .price,
body.single-product .summary .price .woocommerce-Price-amount {
  color: var(--vp-green-700);
  font-weight: 800;
}

body.single-product .single_add_to_cart_button,
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout #place_order,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  border-radius: 10px;
  background: var(--vp-teal-900);
  color: #fff;
  font-weight: 800;
  box-shadow: none;
}

body.single-product .single_add_to_cart_button:hover,
body.woocommerce-cart .checkout-button:hover,
body.woocommerce-checkout #place_order:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: var(--vp-teal-700);
  color: #fff;
}

.woocommerce-tabs ul.tabs li a {
  color: var(--vp-muted);
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--vp-teal-900);
}

/* Forms, Cart and Checkout blocks */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
select,
textarea {
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius-sm);
  background: #fff;
  color: var(--vp-ink);
  box-shadow: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
  border-color: var(--vp-teal-500);
  box-shadow: 0 0 0 3px rgba(82, 145, 148, 0.13);
}

.wc-block-cart,
.wc-block-checkout {
  color: var(--vp-ink);
}

.wc-block-components-sidebar,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary {
  border-color: var(--vp-border);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background: var(--vp-teal-900);
  color: #fff;
}

.woocommerce-error {
  background: var(--vp-red-700);
  color: #fff;
}

/* Footer */

.site-footer {
  border-top-color: transparent;
  background:
    radial-gradient(circle at 10% 0%, rgba(82, 145, 148, 0.18), transparent 25rem),
    var(--vp-teal-950);
  color: rgba(255, 255, 255, 0.82);
}

.site-footer .widget-title,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
  color: #fff;
}

.site-footer a {
  color: var(--vp-teal-100);
}

.site-footer a:hover {
  color: #fff;
}

body.wp-child-theme-vempele-storefront-child .site-footer .footer-widgets a:not(.wp-block-social-link-anchor),
body.wp-child-theme-vempele-storefront-child .site-footer .footer-widgets a:not(.wp-block-social-link-anchor):visited {
  color: var(--vp-teal-100);
}

body.wp-child-theme-vempele-storefront-child .site-footer .footer-widgets a:not(.wp-block-social-link-anchor):hover,
body.wp-child-theme-vempele-storefront-child .site-footer .footer-widgets a:not(.wp-block-social-link-anchor):focus-visible {
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, 0.72);
}

.site-info {
  color: rgba(255, 255, 255, 0.66);
}

/* Accessibility */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="tab"]:focus-visible {
  outline: 3px solid var(--vp-green-500);
  outline-offset: 3px;
}

/* Responsive fixes based on the real Storefront mobile DOM. */

@media (max-width: 1023px) {
  .main-navigation.toggled > :is(.menu, .handheld-navigation) {
    margin-top: 0.75rem;
    overflow: hidden;
    border: 1px solid var(--vp-border);
    border-radius: var(--vp-radius-md);
    background: #fff;
    box-shadow: var(--vp-shadow-md);
  }

  .main-navigation.toggled > :is(.menu, .handheld-navigation) > ul {
    margin: 0;
    padding: 0;
  }

  .main-navigation.toggled > :is(.menu, .handheld-navigation) > ul > li {
    list-style: none;
  }

  .main-navigation.toggled > :is(.menu, .handheld-navigation) > ul > li > a {
    padding: 0.9rem 1rem;
    border-top: 1px solid rgba(29, 112, 111, 0.1);
    background: #fff;
    color: var(--vp-ink);
    font-weight: 700;
  }

  .main-navigation.toggled > :is(.menu, .handheld-navigation) > ul > li:first-child > a {
    border-top: 0;
  }

  .main-navigation.toggled > :is(.menu, .handheld-navigation) > ul > li.current_page_item > a,
  .main-navigation.toggled > :is(.menu, .handheld-navigation) > ul > li > a:hover {
    background: var(--vp-surface-teal);
    color: var(--vp-teal-950);
  }

  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav {
    padding: 5px;
  }

  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item > .sp-tab__nav-link {
    padding: 10px 12px;
  }

  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > .sp-tab__tab-content .sp-tab__tab-pane {
    padding: 16px;
  }

  .site-branding .site-title a {
    letter-spacing: -0.025em;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .site-header {
    padding-top: 1.618em;
  }

  body.home .site-header {
    margin-bottom: 1rem;
  }

  .site-header .site-branding {
    width: calc(100% - 120px);
    float: left;
    clear: none;
    margin: 0;
  }

  .site-header .site-search,
  .site-header-cart,
  .primary-navigation {
    display: none;
  }

  .storefront-primary-navigation,
  #site-navigation {
    clear: none;
  }

  #site-navigation {
    width: 100%;
    float: none;
    margin: 0;
  }

  #site-navigation button.menu-toggle {
    display: block;
  }

  #site-navigation .handheld-navigation {
    display: block;
  }

  .handheld-navigation > ul.menu {
    margin-left: 0;
  }

  .handheld-navigation > ul.menu > li {
    display: list-item;
    width: 100%;
  }
}

/* =========================================================
   VERSION 1.0.1 FINAL POLISH
   Measurements taken from the activated child theme.
   ========================================================= */

body .site-header .site-search form.woocommerce-product-search button[type="submit"] {
  clip-path: none;
}

body .site-header .site-header-cart .cart-contents,
body .site-header .site-header-cart .cart-contents .amount,
body .site-header .site-header-cart .cart-contents .count,
body .site-header .site-header-cart .cart-contents::after {
  color: rgba(255, 255, 255, 0.96);
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  border-color: var(--vp-teal-900);
  background: var(--vp-teal-900);
  color: #fff;
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  border-color: var(--vp-teal-700);
  background: var(--vp-teal-700);
  color: #fff;
}

/* Smart Tabs #43 belongs to the homepage, not above the Shop archive. */
body.woocommerce-shop :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) {
  display: none;
}

@media (min-width: 768px) {
  body .storefront-primary-navigation #site-navigation > .menu > ul > li > a,
  body .storefront-primary-navigation #site-navigation > .menu > ul.nav-menu > li > a,
  body .storefront-primary-navigation #site-navigation > .primary-navigation > ul.menu > li > a,
  body .storefront-primary-navigation .site-header-cart .cart-contents {
    padding-top: 0.9em;
    padding-bottom: 0.9em;
  }
}

/* =========================================================
   VERSION 1.0.2 PRODUCTION COMPATIBILITY
   vempele.fi uses Smart Tabs #15718 and the legacy
   WooCommerce Product Grid with six editor-defined columns.
   ========================================================= */

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wp-block-post-title,
body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wp-block-post-title a {
  text-align: center;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__products {
  margin-left: 0;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product {
  padding: 10px;
  list-style: none;
  border: 1px solid rgba(29, 112, 111, 0.12);
  border-radius: 14px;
  background: var(--vp-surface);
  transition:
    border-color var(--vp-transition),
    box-shadow var(--vp-transition),
    translate var(--vp-transition);
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product:hover {
  border-color: rgba(29, 112, 111, 0.3);
  box-shadow: var(--vp-shadow-sm);
  translate: 0 -2px;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-image img {
  border-radius: 11px;
  background: var(--vp-surface-soft);
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-title {
  color: var(--vp-ink);
  font-weight: 750;
  text-align: center;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-price {
  color: var(--vp-green-700);
  font-weight: 800;
  text-align: center;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart {
  text-align: center;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart .wp-block-button__link {
  padding: 0.65rem 0.75rem;
  border-radius: 9px;
  background: var(--vp-teal-900);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 750;
  line-height: 1.3;
  box-shadow: none;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  background: var(--vp-teal-700);
  color: #fff;
}

body.home.wp-child-theme-vempele-storefront-child .site-main #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart a.wp-block-button__link,
body.home.wp-child-theme-vempele-storefront-child .site-main #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart a.wp-block-button__link:visited {
  color: #fff;
}

body.home.wp-child-theme-vempele-storefront-child .site-main #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart a.wp-block-button__link:hover,
body.home.wp-child-theme-vempele-storefront-child .site-main #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart a.wp-block-button__link:focus-visible {
  color: #fff;
}

@media (max-width: 767px) {
  body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product {
    padding: 9px;
  }
}

/* =========================================================
   VERSION 1.0.3 HOMEPAGE BENEFIT CARDS
   - Sandbox fallback: homepage page ID 53, first Columns block.
   - Production-safe opt-in: add "vempele-benefits" to Columns.
   - Optional heading class: "vempele-benefits-heading".
   ========================================================= */

body.home.page-id-53 .entry-content > .wp-block-paragraph:first-child,
body.home .entry-content > .vempele-benefits-heading {
  margin: 0 0 1rem;
  color: var(--vp-teal-950);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

body.home.page-id-53 .entry-content > .wp-block-columns:first-of-type,
body.home .entry-content > .wp-block-columns.vempele-benefits {
  align-items: stretch;
  gap: clamp(1rem, 2.5vw, 1.75rem);
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

body.home.page-id-53 .entry-content > .wp-block-columns:first-of-type > .wp-block-column,
body.home .entry-content > .wp-block-columns.vempele-benefits > .wp-block-column {
  display: flex;
}

body.home.page-id-53 .entry-content > .wp-block-columns:first-of-type > .wp-block-column > .wp-block-group.has-background,
body.home .entry-content > .wp-block-columns.vempele-benefits > .wp-block-column > .wp-block-group.has-background,
body.home .entry-content .wp-block-column > .wp-block-group.vempele-benefits,
body.home .entry-content .wp-block-column.vempele-benefits > .wp-block-group.has-background {
  width: 100%;
  height: 100%;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 1px solid rgba(29, 112, 111, 0.14);
  border-top: 4px solid var(--vp-teal-700);
  border-radius: var(--vp-radius-md);
  background-image: linear-gradient(var(--vp-surface), var(--vp-surface));
  box-shadow: var(--vp-shadow-sm);
}

body.home.page-id-53 .entry-content > .wp-block-columns:first-of-type .wp-block-group__inner-container,
body.home .entry-content > .wp-block-columns.vempele-benefits .wp-block-group__inner-container,
body.home .entry-content .wp-block-group.vempele-benefits .wp-block-group__inner-container,
body.home .entry-content .wp-block-column.vempele-benefits > .wp-block-group .wp-block-group__inner-container {
  width: 100%;
}

body.home.page-id-53 .entry-content > .wp-block-columns:first-of-type .wp-block-heading,
body.home .entry-content > .wp-block-columns.vempele-benefits .wp-block-heading,
body.home .entry-content .wp-block-group.vempele-benefits .wp-block-heading,
body.home .entry-content .wp-block-column.vempele-benefits > .wp-block-group .wp-block-heading {
  margin: 0 0 0.8rem;
  color: var(--vp-teal-950);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-wrap: balance;
}

body.home.page-id-53 .entry-content > .wp-block-columns:first-of-type .wp-block-paragraph,
body.home .entry-content > .wp-block-columns.vempele-benefits .wp-block-paragraph,
body.home .entry-content .wp-block-group.vempele-benefits .wp-block-paragraph,
body.home .entry-content .wp-block-column.vempele-benefits > .wp-block-group .wp-block-paragraph {
  margin: 0;
  color: var(--vp-ink);
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 767px) {
  body.home.page-id-53 .entry-content > .wp-block-columns:first-of-type,
  body.home .entry-content > .wp-block-columns.vempele-benefits {
    gap: 1rem;
    margin-bottom: 1.75rem;
  }

  body.home.page-id-53 .entry-content > .wp-block-columns:first-of-type > .wp-block-column > .wp-block-group.has-background,
  body.home .entry-content > .wp-block-columns.vempele-benefits > .wp-block-column > .wp-block-group.has-background,
  body.home .entry-content .wp-block-column > .wp-block-group.vempele-benefits,
  body.home .entry-content .wp-block-column.vempele-benefits > .wp-block-group.has-background {
    padding: 1.25rem;
  }
}

/* =========================================================
   VERSION 1.0.5 REUSABLE INFORMATION BOX
   Add "vempele-infobox" in the block editor's Additional CSS
   class field. Works with Group, Column and content blocks.
   ========================================================= */

body .vempele-infobox {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  margin-block: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  overflow: hidden;
  border: 1px solid rgba(29, 112, 111, 0.14);
  border-top: 4px solid var(--vp-teal-700);
  border-radius: var(--vp-radius-md);
  background-color: var(--vp-surface);
  background-image: linear-gradient(var(--vp-surface), var(--vp-surface));
  box-shadow: var(--vp-shadow-sm);
}

body .vempele-infobox::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: var(--vp-teal-700);
  content: "";
  pointer-events: none;
}

body .vempele-infobox > :first-child,
body .vempele-infobox > .wp-block-group__inner-container > :first-child {
  margin-top: 0;
}

body .vempele-infobox > :last-child,
body .vempele-infobox > .wp-block-group__inner-container > :last-child {
  margin-bottom: 0;
}

body .vempele-infobox :is(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
  color: var(--vp-teal-950);
  text-wrap: balance;
}

@media (max-width: 767px) {
  body .vempele-infobox {
    margin-block: 1rem;
    padding: 1.25rem;
  }
}

/* =========================================================
   VERSION 1.7.0 SPLIT-ACTION MOBILE SUBMENUS
   The parent label remains a normal link. The rest of its row and the
   plus/minus control expand the submenu without duplicate "View all" links.
   ========================================================= */

@media (max-width: 1023px) {
  .handheld-navigation li.vempele-menu-parent {
    position: relative;
  }

  .handheld-navigation li.vempele-menu-parent > .dropdown-toggle {
    display: none;
  }

  .handheld-navigation .vempele-submenu-parent-row {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: stretch;
    background: #fff;
  }

  .handheld-navigation > ul > li:not(:first-child) > .vempele-submenu-parent-row {
    border-top: 1px solid rgba(29, 112, 111, 0.1);
  }

  .handheld-navigation .vempele-submenu-parent-row > a {
    display: flex;
    width: auto;
    min-width: 0;
    min-height: 52px;
    flex: 0 1 auto;
    align-items: center;
    padding: 0.9rem 0.4rem 0.9rem 1rem;
    background: transparent;
    color: var(--vp-ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
  }

  .handheld-navigation .vempele-submenu-parent-row > a:hover,
  .handheld-navigation .vempele-submenu-parent-row > a:focus-visible {
    color: var(--vp-teal-950);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
  }

  .handheld-navigation .vempele-submenu-toggle {
    display: flex;
    min-width: 52px;
    min-height: 52px;
    flex: 1 0 52px;
    align-items: center;
    justify-content: flex-end;
    padding: 0.625rem 1rem 0.625rem 0.5rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--vp-teal-900);
    box-shadow: none;
    translate: none;
  }

  .handheld-navigation .vempele-submenu-toggle::after {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    place-items: center;
    border-radius: 8px;
    background: var(--vp-surface-teal);
    color: var(--vp-teal-900);
    font-family: inherit;
    font-size: 1.35rem;
    line-height: 1;
    transform: none;
    content: "+";
  }

  .handheld-navigation .vempele-submenu-toggle[aria-expanded="true"]::after {
    content: "\2212";
  }

  .handheld-navigation .vempele-submenu-toggle:hover,
  .handheld-navigation .vempele-submenu-toggle:focus-visible,
  .handheld-navigation li.vempele-menu-parent.is-submenu-open > .vempele-submenu-parent-row {
    background: var(--vp-surface-teal);
    color: var(--vp-teal-950);
    translate: none;
  }

  .handheld-navigation .vempele-submenu-toggle:focus-visible {
    outline: 2px solid var(--vp-teal-700);
    outline-offset: -4px;
  }

  .handheld-navigation ul.sub-menu[hidden],
  .handheld-navigation ul.children[hidden] {
    display: none;
  }

  .handheld-navigation ul.sub-menu,
  .handheld-navigation ul.children {
    position: static;
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--vp-surface-soft);
    box-shadow: none;
  }

  .handheld-navigation li.vempele-menu-parent.is-submenu-open > ul.sub-menu,
  .handheld-navigation li.vempele-menu-parent.is-submenu-open > ul.children {
    height: auto;
    max-height: none;
    opacity: 1;
    visibility: visible;
  }

  .handheld-navigation ul.sub-menu li,
  .handheld-navigation ul.children li {
    border-top: 1px solid rgba(29, 112, 111, 0.1);
  }

  .handheld-navigation ul.sub-menu a,
  .handheld-navigation ul.children a {
    min-height: 48px;
    padding: 0.8rem 1rem 0.8rem 1.75rem;
    background: #f6fafa;
    color: var(--vp-ink);
    font-weight: 650;
  }

  .handheld-navigation ul.sub-menu .vempele-submenu-parent-row,
  .handheld-navigation ul.children .vempele-submenu-parent-row,
  .handheld-navigation ul.sub-menu .vempele-submenu-parent-row > a,
  .handheld-navigation ul.children .vempele-submenu-parent-row > a,
  .handheld-navigation ul.sub-menu .vempele-submenu-toggle,
  .handheld-navigation ul.children .vempele-submenu-toggle {
    background: #f6fafa;
  }

  .handheld-navigation ul.sub-menu .vempele-submenu-parent-row > a,
  .handheld-navigation ul.children .vempele-submenu-parent-row > a {
    padding-left: 1.75rem;
  }

  .handheld-navigation ul.sub-menu ul.sub-menu a,
  .handheld-navigation ul.children ul.children a {
    padding-left: 2.5rem;
    background: #edf6f5;
    font-weight: 600;
  }

  .handheld-navigation ul.sub-menu ul.sub-menu .vempele-submenu-parent-row,
  .handheld-navigation ul.children ul.children .vempele-submenu-parent-row,
  .handheld-navigation ul.sub-menu ul.sub-menu .vempele-submenu-parent-row > a,
  .handheld-navigation ul.children ul.children .vempele-submenu-parent-row > a,
  .handheld-navigation ul.sub-menu ul.sub-menu .vempele-submenu-toggle,
  .handheld-navigation ul.children ul.children .vempele-submenu-toggle {
    background: #edf6f5;
  }

  .handheld-navigation li.vempele-menu-parent.is-submenu-open > .vempele-submenu-parent-row > a,
  .handheld-navigation li.vempele-menu-parent.is-submenu-open > .vempele-submenu-parent-row > .vempele-submenu-toggle {
    background: var(--vp-surface-teal);
  }

  .handheld-navigation li.current-menu-item > a,
  .handheld-navigation li.current-menu-ancestor > a,
  .handheld-navigation li.current-menu-parent > a,
  .handheld-navigation li.current-menu-item > .vempele-submenu-parent-row > a,
  .handheld-navigation li.current-menu-ancestor > .vempele-submenu-parent-row > a,
  .handheld-navigation li.current-menu-parent > .vempele-submenu-parent-row > a {
    color: var(--vp-teal-950);
    box-shadow: inset 4px 0 0 var(--vp-teal-700);
  }
}

@media (max-width: 480px) {
  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav {
    gap: 4px;
    padding: 4px;
  }

  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item > .sp-tab__nav-link {
    border-radius: 8px;
  }

  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718).sp-tab__lay-default > ul.sp-tab__nav > li.sp-tab__nav-item > .sp-tab__nav-link .sp-tab__tab_title {
    font-size: 14px;
  }
}

/* =========================================================
   VERSION 1.3.0 TESLA MODEL PICKER
   Insert with the [vempele_model_picker] shortcode.
   ========================================================= */

.vempele-model-picker {
  margin-block: clamp(2rem, 5vw, 4rem);
}

.vempele-model-picker__header {
  max-width: 680px;
  margin: 0 auto clamp(1.25rem, 3vw, 2rem);
  text-align: center;
}

.vempele-model-picker__header h2 {
  margin: 0 0 0.65rem;
  color: var(--vp-teal-950);
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-wrap: balance;
}

.vempele-model-picker__header > :last-child {
  margin-bottom: 0;
  color: var(--vp-muted);
  font-size: 1.05rem;
}

.vempele-model-picker__kicker {
  margin: 0 0 0.4rem;
  color: var(--vp-teal-700);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vempele-model-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.85rem, 2vw, 1.25rem);
}

.vempele-model-card {
  position: relative;
  display: flex;
  min-height: 168px;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.15rem, 2.5vw, 1.5rem);
  overflow: hidden;
  border: 1px solid rgba(29, 112, 111, 0.14);
  border-top: 4px solid var(--vp-teal-700);
  border-radius: var(--vp-radius-md);
  background: var(--vp-surface);
  color: var(--vp-ink);
  box-shadow: var(--vp-shadow-sm);
  text-decoration: none;
  transition:
    border-color var(--vp-transition),
    box-shadow var(--vp-transition),
    translate var(--vp-transition);
}

.vempele-model-card::after {
  position: absolute;
  right: -1.1rem;
  bottom: -2.4rem;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background: rgba(82, 145, 148, 0.08);
  content: "";
  pointer-events: none;
}

.vempele-model-card:hover {
  border-color: rgba(29, 112, 111, 0.3);
  color: var(--vp-teal-950);
  box-shadow: var(--vp-shadow-md);
  translate: 0 -3px;
}

.vempele-model-card:focus-visible {
  outline: 3px solid var(--vp-green-500);
  outline-offset: 3px;
}

.vempele-model-card__brand {
  color: var(--vp-teal-700);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.vempele-model-card strong {
  position: relative;
  z-index: 1;
  color: var(--vp-teal-950);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1;
}

.vempele-model-card__action {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  color: var(--vp-muted);
  font-size: 0.9rem;
  font-weight: 650;
}

.vempele-model-card__action [aria-hidden="true"] {
  color: var(--vp-teal-700);
  font-size: 1.25rem;
  transition: translate var(--vp-transition);
}

.vempele-model-card:hover .vempele-model-card__action [aria-hidden="true"] {
  translate: 3px 0;
}

@media (max-width: 900px) {
  .vempele-model-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .vempele-model-grid {
    grid-template-columns: 1fr;
  }

  .vempele-model-card {
    min-height: 140px;
  }
}

/* =========================================================
   VERSION 1.4.2 PRODUCT SUBCATEGORY CARDS
   WooCommerce places child categories and products in the same
   list. Flex order keeps every child category before the products
   and inserts a responsive visual break between the two groups.
   ========================================================= */

body.tax-product_cat ul.products:has(> li.product-category) {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1.25rem;
  margin-top: clamp(1.25rem, 3vw, 2rem);
}

/* WooCommerce's clearfix becomes a phantom flex item without this reset. */
body.tax-product_cat ul.products:has(> li.product-category)::before {
  display: none;
  content: none;
}

body.tax-product_cat ul.products:has(> li.product-category)::after {
  order: 2;
  height: 0;
  flex: 0 0 100%;
  content: "";
}

body.tax-product_cat .site-main ul.products:has(> li.product-category) > li.product {
  box-sizing: border-box;
  float: none;
  margin: 0;
  margin-inline: 0;
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category {
  order: 1;
  min-height: 142px;
  min-width: 0;
  flex: 0 0 calc(25% - 0.9375rem);
  max-width: calc(25% - 0.9375rem);
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(29, 112, 111, 0.14);
  border-top: 4px solid var(--vp-teal-700);
  border-radius: var(--vp-radius-md);
  background: var(--vp-surface);
  box-shadow: var(--vp-shadow-sm);
  text-align: left;
  transition:
    border-color var(--vp-transition),
    box-shadow var(--vp-transition),
    translate var(--vp-transition);
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category:hover {
  border-color: rgba(29, 112, 111, 0.3);
  box-shadow: var(--vp-shadow-md);
  translate: 0 -3px;
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category > a {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.15rem, 2.5vw, 1.5rem);
  overflow: hidden;
  color: var(--vp-ink);
  text-decoration: none;
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category > a::before {
  width: 2.5rem;
  height: 3px;
  border-radius: 999px;
  background: var(--vp-green-500);
  content: "";
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category > a::after {
  align-self: flex-end;
  color: var(--vp-teal-700);
  font-size: 1.4rem;
  line-height: 1;
  content: "\2192";
  transition: translate var(--vp-transition);
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category:hover > a::after {
  translate: 3px 0;
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category > a:focus-visible {
  outline: 3px solid var(--vp-green-500);
  outline-offset: -4px;
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category img,
body.tax-product_cat ul.products:has(> li.product-category) > li.product-category picture {
  display: none;
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category .woocommerce-loop-category__title {
  margin: 0.9rem 0;
  padding: 0;
  color: var(--vp-teal-950);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-align: left;
  text-wrap: balance;
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product-category mark.count {
  display: inline-flex;
  margin-left: 0.35rem;
  padding: 0.2em 0.55em;
  align-items: center;
  border-radius: 999px;
  background: var(--vp-surface-teal);
  color: var(--vp-teal-800);
  font-size: 0.68em;
  font-weight: 750;
  letter-spacing: 0;
  vertical-align: middle;
}

body.tax-product_cat ul.products:has(> li.product-category) > li.product:not(.product-category) {
  order: 3;
  flex: 0 0 calc(20% - 1rem);
  max-width: calc(20% - 1rem);
}

/* Scale short category-choice rows to their actual number of cards. */
@media (min-width: 901px) {
  body.tax-product_cat ul.products:has(> li.product-category):not(:has(> li.product-category ~ li.product-category)) > li.product-category,
  body.tax-product_cat ul.products:has(> li.product-category ~ li.product-category):not(:has(> li.product-category ~ li.product-category ~ li.product-category)) > li.product-category {
    flex-basis: calc(50% - 0.625rem);
    max-width: calc(50% - 0.625rem);
  }

  body.tax-product_cat ul.products:has(> li.product-category ~ li.product-category ~ li.product-category):not(:has(> li.product-category ~ li.product-category ~ li.product-category ~ li.product-category)) > li.product-category {
    flex-basis: calc(33.333% - 0.833rem);
    max-width: calc(33.333% - 0.833rem);
  }
}

@media (max-width: 900px) {
  body.tax-product_cat ul.products:has(> li.product-category) {
    gap: 1rem;
  }

  body.tax-product_cat ul.products:has(> li.product-category) > li.product-category {
    flex: 0 0 calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
  }

  body.tax-product_cat ul.products:has(> li.product-category) > li.product:not(.product-category) {
    flex-basis: calc(33.333% - 0.667rem);
    max-width: calc(33.333% - 0.667rem);
  }
}

@media (max-width: 520px) {
  body.tax-product_cat ul.products:has(> li.product-category) > li.product-category {
    min-height: 126px;
    flex: 0 0 100%;
    max-width: 100%;
  }

  body.tax-product_cat ul.products:has(> li.product-category) > li.product:not(.product-category) {
    flex-basis: calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
  }
}

@media (max-width: 360px) {
  body.tax-product_cat ul.products:has(> li.product-category) > li.product:not(.product-category) {
    flex-basis: 100%;
    max-width: 100%;
  }
}

/* =========================================================
   VERSION 1.5.4 COMPACT SEO- AND FILTER-SAFE DESCRIPTION
   Styles direct text children only. Product Filter by WBW can
   remain inside the term description without inheriting layout.
   ========================================================= */

body.tax-product_cat .woocommerce-products-header > .term-description > :is(p, ul, ol) {
  color: var(--vp-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

body.tax-product_cat .woocommerce-products-header > .term-description > p:first-child {
  margin-top: 0;
}

body.tax-product_cat .woocommerce-products-header > .term-description > p:last-of-type {
  margin-bottom: 0;
}

body.tax-product_cat .woocommerce-products-header > .term-description > p {
  margin-bottom: 0;
}

body.tax-product_cat .woocommerce-products-header > .term-description > p + p {
  margin-top: 0.75rem;
}

@media (min-width: 901px) {
  body.tax-product_cat .woocommerce-products-header > .term-description:has(> p + p):not(:has(> :not(p))) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  body.tax-product_cat .woocommerce-products-header > .term-description:has(> p + p):not(:has(> :not(p))) > p + p {
    margin-top: 0;
  }
}

/* =========================================================
   VERSION 1.5.0 ALIGNED PRODUCT CARDS
   Normalizes image space without cropping and keeps product
   names, prices and actions aligned across every product row.
   ========================================================= */

/* Product-only classic WooCommerce lists use equal-height grid rows. */
body.woocommerce .site-main ul.products:not(:has(> li.product-category)) {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-left: 0;
}

body.woocommerce .site-main ul.products:not(:has(> li.product-category))::before,
body.woocommerce .site-main ul.products:not(:has(> li.product-category))::after {
  display: none;
  content: none;
}

body.woocommerce .site-main ul.products.columns-1:not(:has(> li.product-category)) {
  grid-template-columns: minmax(0, 1fr);
}

body.woocommerce .site-main ul.products.columns-2:not(:has(> li.product-category)) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.woocommerce .site-main ul.products.columns-3:not(:has(> li.product-category)) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.woocommerce .site-main ul.products.columns-4:not(:has(> li.product-category)) {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.woocommerce .site-main ul.products.columns-5:not(:has(> li.product-category)) {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.woocommerce .site-main ul.products.columns-6:not(:has(> li.product-category)) {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

body.woocommerce .site-main ul.products:not(:has(> li.product-category)) > li.product {
  width: auto;
  max-width: none;
  float: none;
  margin: 0;
}

/* Classic archive, related-product and cross-sell cards. */
.woocommerce ul.products > li.product:not(.product-category) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.woocommerce ul.products > li.product:not(.product-category) > a.woocommerce-LoopProduct-link {
  display: flex;
  width: 100%;
  flex: 1 1 auto;
  flex-direction: column;
}

.woocommerce ul.products > li.product:not(.product-category) > a.woocommerce-LoopProduct-link img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.woocommerce ul.products > li.product:not(.product-category) .price {
  margin-top: auto;
}

.woocommerce ul.products > li.product:not(.product-category) > .button,
.woocommerce ul.products > li.product:not(.product-category) > .added_to_cart {
  display: flex;
  width: 100%;
  min-height: 44px;
  margin-top: 0.75rem;
  align-items: center;
  justify-content: center;
  padding-inline: 0.75rem;
  line-height: 1.25;
  text-align: center;
}

/* WooCommerce Product Collection used on the sandbox homepage. */
body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 li.wc-block-product {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-image {
  width: 100%;
  aspect-ratio: 1 / 1;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-image > a {
  display: block;
  width: 100%;
  height: 100%;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-price {
  margin-top: auto;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-button {
  width: 100%;
  margin-top: 0.75rem;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-button .wp-block-button__link {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  line-height: 1.25;
  text-align: center;
}

/* Legacy WooCommerce Product Grid used on the production homepage. */
body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product {
  align-items: stretch;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-link {
  display: flex;
  width: 100%;
  flex: 1 1 auto;
  flex-direction: column;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-image {
  width: 100%;
  aspect-ratio: 1 / 1;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-image > a {
  display: block;
  width: 100%;
  height: 100%;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-price,
body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart {
  width: 100%;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart {
  margin-top: 0.75rem;
}

body.home #sp-wp-tabs-wrapper_15718 .wc-block-grid__product-add-to-cart .wp-block-button__link {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  line-height: 1.25;
  text-align: center;
}

@media (max-width: 900px) {
  body.woocommerce .site-main ul.products:is(.columns-3, .columns-4, .columns-5, .columns-6):not(:has(> li.product-category)) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.woocommerce .site-main ul.products:is(.columns-2, .columns-3, .columns-4, .columns-5, .columns-6):not(:has(> li.product-category)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 360px) {
  body.woocommerce .site-main ul.products:not(:has(> li.product-category)) {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}

/* =========================================================
   CHILD THEME MODERNIZATION LAYER
   Additive improvements based on the browser audit.
   ========================================================= */

html {
  color-scheme: light;
}

::selection {
  background: var(--vp-teal-200);
  color: var(--vp-teal-950);
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--vp-teal-900);
}

.site-content {
  background:
    radial-gradient(circle at 10% 5%, rgba(205, 227, 227, 0.35), transparent 32rem),
    var(--vp-canvas);
}

.entry-title,
.woocommerce-products-header__title,
.product_title {
  text-wrap: balance;
}

body.home .entry-title {
  font-size: clamp(2rem, 4vw, 3.45rem);
  max-width: 20ch;
}

.site-branding .custom-logo-link {
  display: inline-flex;
  align-items: center;
  max-width: min(240px, 62vw);
}

.site-branding .custom-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 72px;
  object-fit: contain;
}

button,
.button,
.added_to_cart,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border-radius: 10px;
  transition:
    color var(--vp-transition),
    background-color var(--vp-transition),
    border-color var(--vp-transition),
    box-shadow var(--vp-transition),
    translate var(--vp-transition);
}

button:hover,
.button:hover,
.added_to_cart:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  translate: 0 -1px;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 li.wc-block-product,
.woocommerce ul.products li.product {
  padding: 14px;
}

body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 .wc-block-components-product-image,
.woocommerce ul.products li.product img {
  overflow: hidden;
}

body.single-product div.product .woocommerce-product-gallery__wrapper,
body.single-product div.product .summary {
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius-lg);
  background: var(--vp-surface);
  box-shadow: var(--vp-shadow-sm);
}

body.single-product div.product .summary {
  padding: clamp(1.25rem, 3vw, 2rem);
}

.woocommerce-tabs .panel {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius-md);
  background: var(--vp-surface);
  box-shadow: var(--vp-shadow-sm);
}

.wc-block-cart,
.wc-block-checkout {
  padding: clamp(1rem, 2.5vw, 2rem);
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-radius-lg);
  background: var(--vp-surface);
  box-shadow: var(--vp-shadow-sm);
}

.wc-block-components-sidebar {
  border-radius: var(--vp-radius-md);
  background: var(--vp-surface-soft);
}

.wc-block-components-checkout-step__title,
.wc-block-components-title {
  color: var(--vp-teal-950);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  border-radius: var(--vp-radius-sm);
  box-shadow: var(--vp-shadow-sm);
}

.site-footer .footer-widgets {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

/* Focused content cleanup and product availability badges. */

body.category-blogi .post-author,
body.category-blogi .post-comments,
body.category-blogi .comment-respond,
body.vempele-blog-post .post-author,
body.vempele-blog-post .post-comments,
body.vempele-blog-post .comment-respond {
  display: none;
}

body.single-product .product_meta > .posted_in:has(
  a[href*="/tuote-kategoria/"],
  a[href*="/product-category/"]
) {
  display: none;
}

body.error404 .fourohfour-columns-2 {
  display: none;
}

.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
  position: relative;
}

.sold-out-label {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 4;
  display: inline-flex;
  max-width: calc(100% - 24px);
  align-items: center;
  padding: 0.42rem 0.68rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 10px;
  background: rgba(23, 48, 47, 0.94);
  color: #fff;
  box-shadow: 0 6px 18px rgba(9, 49, 48, 0.2);
  font-size: clamp(0.68rem, 1.2vw, 0.76rem);
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: 0.01em;
  text-align: left;
  pointer-events: none;
  transition:
    opacity var(--vp-transition),
    transform var(--vp-transition),
    filter var(--vp-transition);
}

.product.outofstock .sold-out-label {
  background: rgba(23, 48, 47, 0.95);
}

.product.instock .sold-out-label {
  background: rgba(43, 125, 66, 0.95);
}

.woocommerce-LoopProduct-link:hover .sold-out-label,
.woocommerce-LoopProduct-link:focus-visible .sold-out-label {
  opacity: 0.92;
  filter: brightness(1.06);
  transform: translateY(-1px);
}

@media (max-width: 767px) {
  body.home .entry-title {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }

  .site-branding .custom-logo {
    max-height: 52px;
  }

  body.home :is(#sp-wp-tabs-wrapper_43, #sp-wp-tabs-wrapper_15718) #tab-431 li.wc-block-product,
  .woocommerce ul.products li.product {
    padding: 12px;
  }

  .wc-block-cart,
  .wc-block-checkout {
    padding: 1rem;
    border-radius: var(--vp-radius-md);
  }
}

