@charset "UTF-8";
.sd-slider-pending {
  --sd-slider-loader-min-height: clamp(200px, 45vh, 420px);
  --sd-slider-loader-max-height: clamp(280px, 55vh, 520px);
  --sd-slider-loader-overlay: rgba(255, 255, 255, 0.9);
  --sd-slider-loader-accent: var(--brand-primary, #017F1A);
  position: relative;
  overflow: hidden;
  min-height: var(--sd-slider-loader-min-height);
  max-height: var(--sd-slider-loader-max-height);
  border-radius: 24px;
}

.sd-slider-pending > * {
  opacity: 0.25;
  filter: blur(6px);
  pointer-events: none;
  user-select: none;
}

.sd-slider-pending::before,
.sd-slider-pending::after {
  content: "";
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

.sd-slider-pending::before {
  inset: 0;
  background: var(--sd-slider-loader-overlay);
  backdrop-filter: blur(6px);
}

.sd-slider-pending::after {
  width: 64px;
  height: 64px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 4px solid rgba(1, 127, 26, 0.25);
  border-top-color: var(--sd-slider-loader-accent);
  animation: sd-slider-spin 0.9s linear infinite;
  box-shadow: 0 8px 30px rgba(1, 127, 26, 0.25);
  z-index: 3;
}

.sd-slider-ready {
  min-height: unset;
  max-height: unset;
}

@keyframes sd-slider-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  overflow-x: hidden;
  background: #fff;
}

html {
  font-size: 16px;
}

body {
  min-height: 100vh;
  margin: auto;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: var(--body-size, 16px);
  line-height: var(--body-line-height, 24px);
  font-weight: var(--body-weight, 400);
  color: #1C202B;
}

.bold {
  font-weight: bold;
}

button,
textarea,
select,
input,
code,
tt,
pre {
  font-family: var(--font-primary, "Poppins"), sans-serif;
}

pre {
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

img {
  max-width: 100%;
  height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #000000;
  margin-bottom: 20px;
  font-family: var(--font-secondary, "Poppins"), sans-serif;
  font-weight: 700;
}

h1, .h1 {
  font-size: var(--h1-size, 36px);
  line-height: var(--h1-line-height, 42px);
  font-weight: var(--h1-weight, 700);
}

h2, .h2 {
  font-size: var(--h2-size, 30px);
  line-height: var(--h2-line-height, 34px);
  font-weight: var(--h2-weight, 700);
}

h3, .h3 {
  font-size: var(--h3-size, 24px);
  line-height: var(--h3-line-height, 28px);
  font-weight: var(--h3-weight, 700);
}

h4, .h4 {
  font-size: var(--h4-size, 20px);
  line-height: var(--h4-line-height, 24px);
  font-weight: var(--h4-weight, 700);
}

h5, .h5 {
  font-size: var(--h5-size, 16px);
  line-height: var(--h5-line-height, 20px);
  font-weight: var(--h5-weight, 700);
}

h6, .h6 {
  font-size: var(--h6-size, 14px);
  line-height: var(--h6-line-height, 18px);
  font-weight: var(--h6-weight, 700);
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]):not([type=range]),
textarea,
select {
  background-color: var(--input-bg, var(--color-white, #ffffff));
  border: 1px solid var(--input-border, var(--color-gray-light, #dedede));
  color: var(--input-color, var(--color-black, #1C202B));
}
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]):not([type=range])::placeholder,
textarea::placeholder,
select::placeholder {
  color: var(--input-placeholder-color, var(--color-gray, #707070));
}
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]):not([type=range]):focus,
textarea:focus,
select:focus {
  border-color: var(--input-focus-border-color, var(--brand-primary, #017F1A));
  outline: none;
}

.acf-block-gb {
  padding-block: var(--space-section-y, 80px);
}
@media all and (max-width: 767px) {
  .acf-block-gb {
    padding-block: var(--space-section-y-sm, 40px);
  }
}

.subtitle-1 {
  color: #000000;
  font-size: 24px;
  line-height: 30px;
  font-style: normal;
  font-weight: 300;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.subtitle-2 {
  color: #000000;
  font-size: 20px;
  font-style: normal;
  font-weight: 300;
  line-height: 26px; /* 130% */
  letter-spacing: 2px;
  text-transform: uppercase;
}

.subtitle-3 {
  color: var(--black-black-900, #000);
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 22px; /* 137.5% */
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.body-large, .body-large * {
  font-size: 20px;
  line-height: 30px;
}

.body-normal, body {
  font-size: 16px;
  line-height: 28px;
}

.body-small {
  font-size: 14px;
  line-height: 24px;
}

.body-x-small {
  font-size: 12px;
  line-height: 16px;
}

.row {
  display: flex;
  flex-direction: row;
}

p {
  margin-bottom: 1rem;
}

input[type=submit],
button {
  cursor: pointer;
}

.untouchable {
  pointer-events: none;
}

.container, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .woocommerce-order-received .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-cart .woocommerce {
  padding: 0 var(--space-container-x, 15px);
  margin: auto;
  max-width: 100%;
}
@media (min-width: 992px) {
  .container, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .woocommerce-order-received .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-cart .woocommerce {
    max-width: var(--space-container-max-lg, 992px);
  }
}
@media (min-width: 1200px) {
  .container, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .woocommerce-order-received .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-cart .woocommerce {
    max-width: var(--space-container-max-xl, 1160px);
  }
}
@media (min-width: 1700px) {
  .container, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .woocommerce-order-received .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-cart .woocommerce {
    max-width: var(--space-container-max-big, 1450px);
    padding: 0 var(--space-container-x, 15px);
  }
}
.container .container, .wp-block-woocommerce-cart .container, .container .wp-block-woocommerce-cart, .wp-block-woocommerce-cart .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout .container, .wp-block-woocommerce-checkout .wp-block-woocommerce-cart, .container .wp-block-woocommerce-checkout, .wp-block-woocommerce-cart .wp-block-woocommerce-checkout, .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout, .woocommerce-order-received .woocommerce .container, .woocommerce-order-received .woocommerce .wp-block-woocommerce-cart, .woocommerce-order-received .woocommerce .wp-block-woocommerce-checkout, .container .woocommerce-order-received .woocommerce, .wp-block-woocommerce-cart .woocommerce-order-received .woocommerce, .wp-block-woocommerce-checkout .woocommerce-order-received .woocommerce, .woocommerce-order-received .container .woocommerce, .woocommerce-order-received .wp-block-woocommerce-cart .woocommerce, .woocommerce-order-received .wp-block-woocommerce-checkout .woocommerce, .woocommerce-order-received .woocommerce .woocommerce, .woocommerce-checkout .woocommerce .container, .woocommerce-checkout .woocommerce .wp-block-woocommerce-cart, .woocommerce-checkout .woocommerce .wp-block-woocommerce-checkout, .container .woocommerce-checkout .woocommerce, .wp-block-woocommerce-cart .woocommerce-checkout .woocommerce, .wp-block-woocommerce-checkout .woocommerce-checkout .woocommerce, .woocommerce-checkout .container .woocommerce, .woocommerce-checkout .wp-block-woocommerce-cart .woocommerce, .woocommerce-checkout .wp-block-woocommerce-checkout .woocommerce, .woocommerce-checkout .woocommerce .woocommerce, .woocommerce-cart .woocommerce .container, .woocommerce-cart .woocommerce .wp-block-woocommerce-cart, .woocommerce-cart .woocommerce .wp-block-woocommerce-checkout, .container .woocommerce-cart .woocommerce, .wp-block-woocommerce-cart .woocommerce-cart .woocommerce, .wp-block-woocommerce-checkout .woocommerce-cart .woocommerce, .woocommerce-cart .container .woocommerce, .woocommerce-cart .wp-block-woocommerce-cart .woocommerce, .woocommerce-cart .wp-block-woocommerce-checkout .woocommerce, .woocommerce-cart .woocommerce .woocommerce {
  padding: 0 !important;
}

.container .download-columns > .container, .wp-block-woocommerce-cart .download-columns > .container, .container .download-columns > .wp-block-woocommerce-cart, .wp-block-woocommerce-cart .download-columns > .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout .download-columns > .container, .wp-block-woocommerce-checkout .download-columns > .wp-block-woocommerce-cart, .container .download-columns > .wp-block-woocommerce-checkout, .wp-block-woocommerce-cart .download-columns > .wp-block-woocommerce-checkout, .wp-block-woocommerce-checkout .download-columns > .wp-block-woocommerce-checkout, .woocommerce-order-received .woocommerce .download-columns > .container, .woocommerce-order-received .woocommerce .download-columns > .wp-block-woocommerce-cart, .woocommerce-order-received .woocommerce .download-columns > .wp-block-woocommerce-checkout, .container .woocommerce-order-received .download-columns > .woocommerce, .wp-block-woocommerce-cart .woocommerce-order-received .download-columns > .woocommerce, .wp-block-woocommerce-checkout .woocommerce-order-received .download-columns > .woocommerce, .woocommerce-order-received .container .download-columns > .woocommerce, .woocommerce-order-received .wp-block-woocommerce-cart .download-columns > .woocommerce, .woocommerce-order-received .wp-block-woocommerce-checkout .download-columns > .woocommerce, .woocommerce-order-received .woocommerce .download-columns > .woocommerce, .woocommerce-checkout .woocommerce .download-columns > .container, .woocommerce-checkout .woocommerce .download-columns > .wp-block-woocommerce-cart, .woocommerce-checkout .woocommerce .download-columns > .wp-block-woocommerce-checkout, .container .woocommerce-checkout .download-columns > .woocommerce, .wp-block-woocommerce-cart .woocommerce-checkout .download-columns > .woocommerce, .wp-block-woocommerce-checkout .woocommerce-checkout .download-columns > .woocommerce, .woocommerce-checkout .container .download-columns > .woocommerce, .woocommerce-checkout .wp-block-woocommerce-cart .download-columns > .woocommerce, .woocommerce-checkout .wp-block-woocommerce-checkout .download-columns > .woocommerce, .woocommerce-checkout .woocommerce .download-columns > .woocommerce, .woocommerce-cart .woocommerce .download-columns > .container, .woocommerce-cart .woocommerce .download-columns > .wp-block-woocommerce-cart, .woocommerce-cart .woocommerce .download-columns > .wp-block-woocommerce-checkout, .container .woocommerce-cart .download-columns > .woocommerce, .wp-block-woocommerce-cart .woocommerce-cart .download-columns > .woocommerce, .wp-block-woocommerce-checkout .woocommerce-cart .download-columns > .woocommerce, .woocommerce-cart .container .download-columns > .woocommerce, .woocommerce-cart .wp-block-woocommerce-cart .download-columns > .woocommerce, .woocommerce-cart .wp-block-woocommerce-checkout .download-columns > .woocommerce, .woocommerce-cart .woocommerce .download-columns > .woocommerce,
.container .product-features > .container,
.wp-block-woocommerce-cart .product-features > .container,
.container .product-features > .wp-block-woocommerce-cart,
.wp-block-woocommerce-cart .product-features > .wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout .product-features > .container,
.wp-block-woocommerce-checkout .product-features > .wp-block-woocommerce-cart,
.container .product-features > .wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart .product-features > .wp-block-woocommerce-checkout,
.wp-block-woocommerce-checkout .product-features > .wp-block-woocommerce-checkout,
.woocommerce-order-received .woocommerce .product-features > .container,
.woocommerce-order-received .woocommerce .product-features > .wp-block-woocommerce-cart,
.woocommerce-order-received .woocommerce .product-features > .wp-block-woocommerce-checkout,
.container .woocommerce-order-received .product-features > .woocommerce,
.wp-block-woocommerce-cart .woocommerce-order-received .product-features > .woocommerce,
.wp-block-woocommerce-checkout .woocommerce-order-received .product-features > .woocommerce,
.woocommerce-order-received .container .product-features > .woocommerce,
.woocommerce-order-received .wp-block-woocommerce-cart .product-features > .woocommerce,
.woocommerce-order-received .wp-block-woocommerce-checkout .product-features > .woocommerce,
.woocommerce-order-received .woocommerce .product-features > .woocommerce,
.woocommerce-checkout .woocommerce .product-features > .container,
.woocommerce-checkout .woocommerce .product-features > .wp-block-woocommerce-cart,
.woocommerce-checkout .woocommerce .product-features > .wp-block-woocommerce-checkout,
.container .woocommerce-checkout .product-features > .woocommerce,
.wp-block-woocommerce-cart .woocommerce-checkout .product-features > .woocommerce,
.wp-block-woocommerce-checkout .woocommerce-checkout .product-features > .woocommerce,
.woocommerce-checkout .container .product-features > .woocommerce,
.woocommerce-checkout .wp-block-woocommerce-cart .product-features > .woocommerce,
.woocommerce-checkout .wp-block-woocommerce-checkout .product-features > .woocommerce,
.woocommerce-checkout .woocommerce .product-features > .woocommerce,
.woocommerce-cart .woocommerce .product-features > .container,
.woocommerce-cart .woocommerce .product-features > .wp-block-woocommerce-cart,
.woocommerce-cart .woocommerce .product-features > .wp-block-woocommerce-checkout,
.container .woocommerce-cart .product-features > .woocommerce,
.wp-block-woocommerce-cart .woocommerce-cart .product-features > .woocommerce,
.wp-block-woocommerce-checkout .woocommerce-cart .product-features > .woocommerce,
.woocommerce-cart .container .product-features > .woocommerce,
.woocommerce-cart .wp-block-woocommerce-cart .product-features > .woocommerce,
.woocommerce-cart .wp-block-woocommerce-checkout .product-features > .woocommerce,
.woocommerce-cart .woocommerce .product-features > .woocommerce {
  padding: 0 var(--space-container-x, 15px) !important;
}
@media (min-width: 1700px) {
  .container .download-columns > .container, .wp-block-woocommerce-cart .download-columns > .container, .container .download-columns > .wp-block-woocommerce-cart, .wp-block-woocommerce-cart .download-columns > .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout .download-columns > .container, .wp-block-woocommerce-checkout .download-columns > .wp-block-woocommerce-cart, .container .download-columns > .wp-block-woocommerce-checkout, .wp-block-woocommerce-cart .download-columns > .wp-block-woocommerce-checkout, .wp-block-woocommerce-checkout .download-columns > .wp-block-woocommerce-checkout, .woocommerce-order-received .woocommerce .download-columns > .container, .woocommerce-order-received .woocommerce .download-columns > .wp-block-woocommerce-cart, .woocommerce-order-received .woocommerce .download-columns > .wp-block-woocommerce-checkout, .container .woocommerce-order-received .download-columns > .woocommerce, .wp-block-woocommerce-cart .woocommerce-order-received .download-columns > .woocommerce, .wp-block-woocommerce-checkout .woocommerce-order-received .download-columns > .woocommerce, .woocommerce-order-received .container .download-columns > .woocommerce, .woocommerce-order-received .wp-block-woocommerce-cart .download-columns > .woocommerce, .woocommerce-order-received .wp-block-woocommerce-checkout .download-columns > .woocommerce, .woocommerce-order-received .woocommerce .download-columns > .woocommerce, .woocommerce-checkout .woocommerce .download-columns > .container, .woocommerce-checkout .woocommerce .download-columns > .wp-block-woocommerce-cart, .woocommerce-checkout .woocommerce .download-columns > .wp-block-woocommerce-checkout, .container .woocommerce-checkout .download-columns > .woocommerce, .wp-block-woocommerce-cart .woocommerce-checkout .download-columns > .woocommerce, .wp-block-woocommerce-checkout .woocommerce-checkout .download-columns > .woocommerce, .woocommerce-checkout .container .download-columns > .woocommerce, .woocommerce-checkout .wp-block-woocommerce-cart .download-columns > .woocommerce, .woocommerce-checkout .wp-block-woocommerce-checkout .download-columns > .woocommerce, .woocommerce-checkout .woocommerce .download-columns > .woocommerce, .woocommerce-cart .woocommerce .download-columns > .container, .woocommerce-cart .woocommerce .download-columns > .wp-block-woocommerce-cart, .woocommerce-cart .woocommerce .download-columns > .wp-block-woocommerce-checkout, .container .woocommerce-cart .download-columns > .woocommerce, .wp-block-woocommerce-cart .woocommerce-cart .download-columns > .woocommerce, .wp-block-woocommerce-checkout .woocommerce-cart .download-columns > .woocommerce, .woocommerce-cart .container .download-columns > .woocommerce, .woocommerce-cart .wp-block-woocommerce-cart .download-columns > .woocommerce, .woocommerce-cart .wp-block-woocommerce-checkout .download-columns > .woocommerce, .woocommerce-cart .woocommerce .download-columns > .woocommerce,
  .container .product-features > .container,
  .wp-block-woocommerce-cart .product-features > .container,
  .container .product-features > .wp-block-woocommerce-cart,
  .wp-block-woocommerce-cart .product-features > .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout .product-features > .container,
  .wp-block-woocommerce-checkout .product-features > .wp-block-woocommerce-cart,
  .container .product-features > .wp-block-woocommerce-checkout,
  .wp-block-woocommerce-cart .product-features > .wp-block-woocommerce-checkout,
  .wp-block-woocommerce-checkout .product-features > .wp-block-woocommerce-checkout,
  .woocommerce-order-received .woocommerce .product-features > .container,
  .woocommerce-order-received .woocommerce .product-features > .wp-block-woocommerce-cart,
  .woocommerce-order-received .woocommerce .product-features > .wp-block-woocommerce-checkout,
  .container .woocommerce-order-received .product-features > .woocommerce,
  .wp-block-woocommerce-cart .woocommerce-order-received .product-features > .woocommerce,
  .wp-block-woocommerce-checkout .woocommerce-order-received .product-features > .woocommerce,
  .woocommerce-order-received .container .product-features > .woocommerce,
  .woocommerce-order-received .wp-block-woocommerce-cart .product-features > .woocommerce,
  .woocommerce-order-received .wp-block-woocommerce-checkout .product-features > .woocommerce,
  .woocommerce-order-received .woocommerce .product-features > .woocommerce,
  .woocommerce-checkout .woocommerce .product-features > .container,
  .woocommerce-checkout .woocommerce .product-features > .wp-block-woocommerce-cart,
  .woocommerce-checkout .woocommerce .product-features > .wp-block-woocommerce-checkout,
  .container .woocommerce-checkout .product-features > .woocommerce,
  .wp-block-woocommerce-cart .woocommerce-checkout .product-features > .woocommerce,
  .wp-block-woocommerce-checkout .woocommerce-checkout .product-features > .woocommerce,
  .woocommerce-checkout .container .product-features > .woocommerce,
  .woocommerce-checkout .wp-block-woocommerce-cart .product-features > .woocommerce,
  .woocommerce-checkout .wp-block-woocommerce-checkout .product-features > .woocommerce,
  .woocommerce-checkout .woocommerce .product-features > .woocommerce,
  .woocommerce-cart .woocommerce .product-features > .container,
  .woocommerce-cart .woocommerce .product-features > .wp-block-woocommerce-cart,
  .woocommerce-cart .woocommerce .product-features > .wp-block-woocommerce-checkout,
  .container .woocommerce-cart .product-features > .woocommerce,
  .wp-block-woocommerce-cart .woocommerce-cart .product-features > .woocommerce,
  .wp-block-woocommerce-checkout .woocommerce-cart .product-features > .woocommerce,
  .woocommerce-cart .container .product-features > .woocommerce,
  .woocommerce-cart .wp-block-woocommerce-cart .product-features > .woocommerce,
  .woocommerce-cart .wp-block-woocommerce-checkout .product-features > .woocommerce,
  .woocommerce-cart .woocommerce .product-features > .woocommerce {
    padding: 0 var(--space-container-x, 15px) !important;
  }
}

a {
  text-decoration: none;
  color: var(--brand-primary, #017F1A);
  transition: color var(--transition-fast, 0.15s ease);
}
a:hover {
  color: var(--brand-primary-dark, #015d13);
}

.align-center {
  align-items: center;
}

input, select, textarea {
  outline: 0 !important;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.mt-auto {
  margin-top: auto;
}

.wpcf7-list-item {
  margin: 0;
}

.stdv-break {
  flex-basis: 100%;
  height: 0;
}

.has-col {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 -15px;
}
.has-col.fs {
  align-items: flex-start;
}
.has-col .c50 {
  width: 100%;
  padding: 15px;
}
@media (min-width: 992px) {
  .has-col .c50 {
    width: 50%;
    padding: 0 15px;
  }
}
.has-col .c25 {
  width: 100%;
  padding: 15px;
}
@media (min-width: 992px) {
  .has-col .c25 {
    width: 25%;
    padding: 0 15px;
  }
}

#primary {
  padding-top: 30px;
}
.single-product #primary {
  padding-top: 0;
}

.hiddencf7 {
  display: none !important;
}

.grecaptcha-badge {
  display: none !important;
}

.two-cols {
  display: flex;
  justify-content: center;
  gap: 4rem;
  flex-wrap: wrap;
  margin-left: 0;
  margin-right: 0;
}
.two-cols > div {
  width: 100%;
}
@media (min-width: 768px) {
  .two-cols > div {
    width: calc(50% - 2rem);
  }
}

.three-cols {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .three-cols {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
}
@media (min-width: 992px) {
  .three-cols {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.three-cols > div {
  width: 100%;
}
@media (min-width: 768px) {
  .three-cols > div {
    width: calc(50% - 1rem);
  }
}
@media (min-width: 992px) {
  .three-cols > div {
    width: calc(33.3333333333% - 2rem);
  }
}

.wp-block-gallery {
  padding: 2.5rem 0;
  gap: 4px !important;
}

.blue-radial {
  background: var(--Blue-gradient, radial-gradient(50% 50% at 50% 50%, #FFF 11.54%, #DFF0FF 100%));
}
.blue-radial .blue-radial {
  background: transparent !important;
}

.padding-top-60 {
  padding-top: 60px;
}

.padding-bottom-60 {
  padding-bottom: 60px;
}

.stdv-breadcrumbs {
  background: var(--color-background, #f3f3f3);
  border-bottom: 1px solid var(--color-border, #dedede);
}
.stdv-breadcrumbs__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.stdv-breadcrumbs__nav {
  padding: 14px 0;
  font-size: 13px;
  line-height: 1.4;
  color: var(--color-gray, #707070);
  font-weight: 400;
}
@media all and (max-width: 767px) {
  .stdv-breadcrumbs__nav {
    padding: 10px 0;
    font-size: 12px;
  }
}
.stdv-breadcrumbs__nav p {
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.stdv-breadcrumbs__nav a {
  color: var(--color-gray, #707070);
  text-decoration: none;
  transition: color var(--transition-fast, 0.15s ease);
}
.stdv-breadcrumbs__nav a:hover {
  color: var(--brand-primary, #017F1A);
}
.stdv-breadcrumbs__nav .last,
.stdv-breadcrumbs__nav span.breadcrumb_last,
.stdv-breadcrumbs__nav span[aria-current=page] {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
.stdv-breadcrumbs__nav .separator {
  display: inline-block;
  margin: 0 8px;
  color: var(--color-gray-light, #dedede);
  font-size: 11px;
  font-weight: 300;
}
@media all and (max-width: 767px) {
  .stdv-breadcrumbs__nav .separator {
    margin: 0 6px;
  }
}
.stdv-breadcrumbs__sep {
  display: inline-block;
  margin: 0 8px;
  color: var(--color-gray-light, #dedede);
  font-size: 11px;
  font-weight: 300;
}
@media all and (max-width: 767px) {
  .stdv-breadcrumbs__sep {
    margin: 0 6px;
  }
}

#gotop {
  background: var(--brand-primary, #017F1A);
  transition: all 500ms;
  border: 1px solid var(--brand-primary, #017F1A);
}
#gotop img {
  transition: all 500ms;
}
#gotop:hover {
  background: transparent;
}
#gotop:hover img {
  filter: invert(1) brightness(10);
}

.primary-btn, .has-primary-btn a,
.secondary-btn, .has-secondary-btn a,
.tertiary-btn, .has-tertiary-btn a,
.tertiary-invert-btn, .has-tertiary-invert-btn a {
  text-decoration: none;
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  text-align: center;
  border: 1px solid;
  transition: all 500ms;
  cursor: pointer;
  border-radius: var(--radius-button, 4px);
  font-weight: 700;
  padding: 15px 25px;
  white-space: nowrap;
  font-size: 13px;
  line-height: 16px;
  text-transform: uppercase;
  letter-spacing: 1.3px;
}
.primary-btn img, .has-primary-btn a img,
.secondary-btn img, .has-secondary-btn a img,
.tertiary-btn img, .has-tertiary-btn a img,
.tertiary-invert-btn img, .has-tertiary-invert-btn a img {
  margin-right: 8px;
  transition: all 500ms;
}
.primary-btn:disabled, .primary-btn.disabled, .has-primary-btn a:disabled, .has-primary-btn a.disabled,
.secondary-btn:disabled,
.secondary-btn.disabled, .has-secondary-btn a:disabled, .has-secondary-btn a.disabled,
.tertiary-btn:disabled,
.tertiary-btn.disabled, .has-tertiary-btn a:disabled, .has-tertiary-btn a.disabled,
.tertiary-invert-btn:disabled,
.tertiary-invert-btn.disabled, .has-tertiary-invert-btn a:disabled, .has-tertiary-invert-btn a.disabled {
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none;
}
.primary-btn:hover img, .has-primary-btn a:hover img,
.secondary-btn:hover img, .has-secondary-btn a:hover img,
.tertiary-btn:hover img, .has-tertiary-btn a:hover img,
.tertiary-invert-btn:hover img, .has-tertiary-invert-btn a:hover img {
  filter: invert(1) brightness(10);
}

.primary-btn, .has-primary-btn a {
  background: var(--btn-primary-bg, #017F1A);
  border-color: var(--btn-primary-border, var(--btn-primary-bg, #017F1A));
  color: var(--btn-primary-color, #fff);
}
.primary-btn:hover, .has-primary-btn a:hover {
  background: var(--btn-primary-hover-bg, #013d0c);
  border-color: var(--btn-primary-hover-bg, #013d0c);
  color: var(--btn-primary-hover-color, #fff);
}
.primary-btn:hover img, .has-primary-btn a:hover img {
  filter: unset;
}
.primary-btn:active, .primary-btn.pressed, .has-primary-btn a:active, .has-primary-btn a.pressed {
  background: #013d0c;
  border-color: #013d0c;
  color: #fff;
}
.primary-btn:disabled, .primary-btn.disabled, .has-primary-btn a:disabled, .has-primary-btn a.disabled {
  background: #5cb86c;
  border-color: #5cb86c;
  color: #fff;
}

.secondary-btn, .has-secondary-btn a {
  background: var(--btn-secondary-bg, #000000);
  border-color: var(--btn-secondary-border, var(--btn-secondary-bg, #000000));
  color: var(--btn-secondary-color, #fff);
}
.secondary-btn:hover, .has-secondary-btn a:hover {
  background: var(--btn-secondary-hover-bg, #141414);
  border-color: var(--btn-secondary-hover-bg, #141414);
  color: var(--btn-secondary-hover-color, #fff);
}
.secondary-btn:active, .secondary-btn.pressed, .has-secondary-btn a:active, .has-secondary-btn a.pressed {
  background: #1C202B;
  border-color: #1C202B;
  color: #fff;
}
.secondary-btn:disabled, .secondary-btn.disabled, .has-secondary-btn a:disabled, .has-secondary-btn a.disabled {
  background: #393939;
  border-color: #393939;
  color: #fff;
}

.tertiary-btn, .has-tertiary-btn a {
  background: var(--btn-tertiary-bg, transparent);
  border-color: var(--btn-tertiary-border, #fff);
  color: var(--btn-tertiary-color, #fff);
  border-width: 2px;
}
.tertiary-btn:hover, .has-tertiary-btn a:hover {
  background: var(--btn-tertiary-hover-bg, #fff);
  border-color: var(--btn-tertiary-hover-bg, #fff);
  color: var(--btn-tertiary-hover-color, #000000);
}
.tertiary-btn:active, .tertiary-btn.pressed, .has-tertiary-btn a:active, .has-tertiary-btn a.pressed {
  background: #dedede;
  border-color: #dedede;
  color: #000000;
}
.tertiary-btn:disabled, .tertiary-btn.disabled, .has-tertiary-btn a:disabled, .has-tertiary-btn a.disabled {
  background: #000000;
  border-color: #E6E6E6;
  color: #E6E6E6;
}

.tertiary-invert-btn, .has-tertiary-invert-btn a {
  background: #fff;
  border-color: #000000;
  color: #000000;
  border-width: 2px;
}
.tertiary-invert-btn:hover, .has-tertiary-invert-btn a:hover {
  background: #000000;
  border-color: #000000;
  color: #fff;
}
.tertiary-invert-btn:active, .tertiary-invert-btn.pressed, .has-tertiary-invert-btn a:active, .has-tertiary-invert-btn a.pressed {
  background: #141414;
  border-color: #141414;
  color: #fff;
}
.tertiary-invert-btn:disabled, .tertiary-invert-btn.disabled, .has-tertiary-invert-btn a:disabled, .has-tertiary-invert-btn a.disabled {
  background: #fff;
  border-color: #393939;
  color: #393939;
}

.brand-btn, .has-brand-btn a, .text-btn, .has-text-btn a, .black-btn, .has-black-btn a, .border-btn, .has-border-btn a, .black-border-btn, .has-black-border-btn a {
  text-decoration: none;
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  text-align: center;
  border: 1px solid;
  transition: all 500ms;
  cursor: pointer;
  border-radius: var(--radius-button, 4px);
  font-weight: 700;
  padding: 12px 27px;
  white-space: wrap;
  font-size: 1rem;
}

.brand-btn, .has-brand-btn a {
  background: var(--btn-brand-bg, var(--Gradient-niebieski, linear-gradient(180deg, #5E98D1 0%, #4B7AA7 100%)));
  border-color: var(--btn-brand-border, var(--btn-brand-bg, var(--Gradient-niebieski, linear-gradient(180deg, #5E98D1 0%, #4B7AA7 100%))));
  color: var(--btn-brand-color, #fff);
  transition: all 500ms;
}
.brand-btn.arrow-mode:after, .has-brand-btn a.arrow-mode:after {
  content: "";
  background-image: url(../images/more-button.svg);
  width: 14px;
  min-width: 14px;
  max-width: 14px;
  height: 11px;
  min-height: 11px;
  max-height: 11px;
  transition: all 500ms;
  margin-left: 25px;
}
.black-btn, .has-black-btn a {
  background: var(--color-black, #1C202B);
  border-color: var(--color-black, #1C202B);
  color: #fff;
}

.text-btn, .has-text-btn a {
  color: #0092FF;
  text-decoration: underline;
  border: 0;
  padding-left: 0;
}
.text-btn:after, .has-text-btn a:after {
  content: "";
  background-image: url(../images/faq-arrow.svg);
  width: 21px;
  min-width: 21px;
  max-width: 21px;
  height: 13px;
  min-height: 13px;
  max-height: 13px;
  transition: all 500ms;
  transform: rotate(-90deg);
  margin-left: 10px;
}

.black-border-btn, .has-black-border-btn a {
  background: transparent !important;
  color: var(--color-black, #1C202B) !important;
  border: 1px solid var(--color-black, #1C202B);
}
.black-border-btn:hover, .has-black-border-btn a:hover {
  background: var(--color-black, #1C202B) !important;
  color: #fff !important;
}

.border-btn, .has-border-btn a {
  background: transparent !important;
  color: var(--color-black, #1C202B);
  border: 1px solid var(--color-black, #1C202B);
  font-weight: 400;
}

.input-stdv .required {
  padding-left: 4px;
}
.input-stdv .required:after {
  content: "*";
  color: var(--brand-primary, #017F1A);
  padding-left: 3px;
}
.input-stdv br {
  display: none;
}
.input-stdv label {
  font-weight: bold;
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
}
.input-stdv label.req:after {
  content: "*";
  color: var(--brand-primary, #017F1A);
  margin-left: 4px;
}
.input-stdv label.check {
  display: flex;
  align-items: center;
}
.input-stdv label.check input {
  margin-right: 8px;
}
.input-stdv textarea {
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  padding: 8px;
  width: 100%;
  background: #fff !important;
  height: 8rem;
  color: var(--color-black, #1C202B);
}
.input-stdv textarea::placeholder {
  color: var(--color-black, #1C202B);
  opacity: 0.5;
}
.input-stdv input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=submit]) {
  border-radius: var(--radius-base, 0px);
  border: 1px solid var(--color-border, #dedede);
  width: 100%;
  height: 40px;
  padding: 0 12px !important;
  color: var(--color-black, #1C202B);
  background-color: #fff !important;
}
.input-stdv input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=submit])::placeholder {
  color: var(--color-black, #1C202B);
  opacity: 0.5;
}
.input-stdv select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
  height: 42px;
  padding: 0 30px 0 12px;
  cursor: pointer;
  border: 1px solid var(--color-border, #dedede);
  background-color: #fff;
  color: var(--color-black, #1C202B);
  border-radius: 0;
  background-image: url("../images/select-arrow.svg");
  background-repeat: no-repeat;
  background-size: 13px 13px;
  background-position: right 13px top 14px;
  width: 100%;
}

.border-head {
  display: flex;
  flex-direction: column;
  font-weight: 500;
}
.border-head:after {
  content: "";
  width: 80px;
  height: 2px;
  background: var(--brand-primary, #017F1A);
  margin-top: 15px;
}

.hide-on-mobile {
  display: none;
}
@media (min-width: 992px) {
  .hide-on-mobile {
    display: block;
  }
}

.hide-on-desktop {
  display: block;
}
@media (min-width: 992px) {
  .hide-on-desktop {
    display: none;
  }
}

.wpcf7-form {
  transition: all 500ms;
}
.wpcf7-form .wpcf7-response-output {
  border: 0 !important;
  padding: 15px 0 !important;
  margin: 0 !important;
}
.wpcf7-form.submitting {
  filter: blur(5px);
}
.wpcf7-form.invalid .wpcf7-response-output {
  color: red !important;
}
.wpcf7-form.sent .wpcf7-response-output {
  color: var(--brand-primary, #017F1A) !important;
}

.pagination {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  padding-top: 40px;
}
.pagination ul {
  list-style-type: none;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.pagination ul li.prev a img {
  transform: rotate(180deg);
}
.pagination ul li.active a, .pagination ul li:hover a {
  color: #fff;
  background: #000000;
}
.pagination ul li a {
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  min-height: 40px;
  max-height: 40px;
  display: block;
  background: #f3f3f3;
  display: flex !important;
  justify-content: center;
  align-items: center;
  color: #141414;
  font-weight: bold;
  transition: all 500ms;
}
.pagination ul li a:hover img {
  filter: invert(1);
}
.pagination ul li a img {
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  min-height: 40px;
  max-height: 40px;
  object-fit: cover;
  transition: all 500ms;
}

div.post-single-content {
  display: flex;
  border-bottom: 1px solid #555353;
  margin-bottom: 15px;
  padding-bottom: 15px;
  flex-direction: column;
}
div.post-single-content .image {
  margin-bottom: 15px;
}
div.post-single-content .image .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
div.post-single-content .text h4 {
  margin-bottom: 8px;
}
div.post-single-content .text h4 a {
  color: #000000;
}
div.post-single-content .text .more a {
  color: #000000;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  /* 153.846% */
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.mega-nav {
  background: var(--header-mega-nav-bg, var(--color-white, #fff));
  color: var(--header-mega-nav-color, var(--color-black, #1C202B));
  position: relative;
  z-index: 100;
  border-top: 1px solid var(--color-border, var(--color-border, #dedede));
  border-bottom: 1px solid var(--color-border, var(--color-border, #dedede));
}
@media all and (max-width: 991px) {
  .mega-nav {
    display: none;
  }
}
.mega-nav__container {
  display: flex;
  align-items: stretch;
  gap: 0;
}

.mega-nav__trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px 14px 0;
  position: relative;
  background: transparent;
  color: inherit;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: none;
}
.mega-nav__trigger::after {
  content: "";
  position: absolute;
  left: 0;
  right: 20px;
  bottom: 8px;
  height: 2px;
  background: var(--brand-primary, #017F1A);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.mega-nav__trigger:hover::after, .mega-nav__trigger.is-active::after {
  opacity: 1;
}
.mega-nav__trigger:focus-visible {
  outline: 2px solid var(--brand-primary, #017F1A);
  outline-offset: -2px;
}

.mega-nav__burger {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 14px;
  flex-shrink: 0;
}
.mega-nav__burger::before, .mega-nav__burger::after,
.mega-nav__burger span {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
}
.mega-nav__burger::before {
  top: 0;
}
.mega-nav__burger span {
  top: 50%;
  transform: translateY(-50%);
}
.mega-nav__burger::after {
  bottom: 0;
}

.mega-nav__chevron {
  font-size: 10px;
  line-height: 1;
  transition: transform 0.2s ease;
}
.mega-nav__trigger[aria-expanded=true] .mega-nav__chevron {
  transform: rotate(180deg);
}

.mega-nav__items {
  display: flex;
  align-items: stretch;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.mega-nav__items::-webkit-scrollbar {
  display: none;
}

.mega-nav__item {
  display: flex;
}
.mega-nav__item.is-dark .mega-nav__link {
  color: var(--color-gray, var(--color-gray, #707070));
}

.mega-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;
  position: relative;
  color: inherit;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  white-space: nowrap;
}
.mega-nav__link::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 8px;
  height: 2px;
  background: var(--brand-primary, #017F1A);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.mega-nav__link:hover, .mega-nav__link:focus-visible {
  color: inherit;
  text-decoration: none;
}
.mega-nav__link:hover::after, .mega-nav__link:focus-visible::after {
  opacity: 1;
}

.mega-nav__badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 2px;
}
.mega-nav__badge--green {
  background: #ffc107;
  color: #1c202b;
}
.mega-nav__badge--yellow {
  background: #ffc107;
  color: #1c202b;
}
.mega-nav__badge--red {
  background: #dc3232;
  color: #fff;
}
.mega-nav__badge--dark {
  background: #1c202b;
  color: #fff;
}

.mega-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  color: var(--color-text, var(--color-black, #1C202B));
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  z-index: 101;
}
.mega-dropdown[hidden] {
  display: none;
}
.mega-dropdown__inner {
  display: flex;
  gap: 0;
  padding: 0;
  align-items: stretch;
  min-height: 400px;
}
.mega-dropdown__sidebar {
  flex: 0 0 260px;
  display: flex;
  flex-direction: column;
  padding: 16px 0;
  border-right: 1px solid var(--color-border, var(--color-border, #dedede));
  max-height: 70vh;
  overflow-y: auto;
}
@media (min-width: 992px) {
  .mega-dropdown__sidebar {
    flex-basis: 240px;
  }
}
.mega-dropdown__cat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 20px;
  color: inherit;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-left: 3px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.mega-dropdown__cat-text {
  flex: 1 1 auto;
  text-align: left;
}
.mega-dropdown__cat-arrow {
  flex-shrink: 0;
  font-size: 16px;
  opacity: 0.5;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.mega-dropdown__cat:hover, .mega-dropdown__cat.is-active {
  background: var(--color-background, var(--color-background, #f3f3f3));
  color: var(--brand-primary, #017F1A);
  border-left-color: var(--brand-primary, #017F1A);
}
.mega-dropdown__cat:hover .mega-dropdown__cat-arrow, .mega-dropdown__cat.is-active .mega-dropdown__cat-arrow {
  opacity: 1;
  transform: translateX(2px);
}
.mega-dropdown__cat:focus-visible {
  outline: 2px solid var(--brand-primary, #017F1A);
  outline-offset: -2px;
}
.mega-dropdown__content {
  flex: 1 1 auto;
  padding: 24px 28px;
  max-height: 70vh;
  overflow-y: auto;
}
.mega-dropdown__panel {
  display: none;
}
.mega-dropdown__panel.is-active {
  display: block;
}
.mega-dropdown__grid {
  display: grid;
  gap: 20px 16px;
  grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 1200px) {
  .mega-dropdown__grid {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media (min-width: 1400px) {
  .mega-dropdown__grid {
    grid-template-columns: repeat(7, 1fr);
  }
}
.mega-dropdown__tile {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease;
}
.mega-dropdown__tile:hover {
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
  transform: translateY(-2px);
}
.mega-dropdown__tile-image {
  width: 100%;
  aspect-ratio: 1;
  background: var(--color-background, var(--color-background, #f3f3f3));
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mega-dropdown__tile-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mega-dropdown__tile-image--placeholder {
  color: rgba(0, 0, 0, 0.2);
}
.mega-dropdown__tile-title {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  text-transform: none;
}
.mega-dropdown__empty {
  padding: 20px 0;
  font-size: 14px;
  color: var(--color-text-muted, var(--color-gray, #707070));
  text-align: center;
}

.stdv-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
}
.stdv-lightbox--active {
  display: flex;
}
.stdv-lightbox__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.92);
  cursor: pointer;
}
.stdv-lightbox__container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 80px;
}
@media all and (max-width: 767px) {
  .stdv-lightbox__container {
    padding: 50px 15px;
  }
}
.stdv-lightbox__content {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.stdv-lightbox__image {
  max-width: 100%;
  max-height: calc(100vh - 120px);
  width: auto;
  height: auto;
  object-fit: contain;
  transition: opacity 0.2s ease;
}
@media all and (max-width: 767px) {
  .stdv-lightbox__image {
    max-height: calc(100vh - 100px);
  }
}
.stdv-lightbox__loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: var(--color-white, #ffffff);
  border-radius: 50%;
  animation: stdvLightboxSpin 0.8s linear infinite;
  display: none;
}
.stdv-lightbox__close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--color-white, #ffffff);
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
  z-index: 10;
  opacity: 0.8;
}
.stdv-lightbox__close:hover {
  opacity: 1;
  transform: scale(1.1);
}
.stdv-lightbox__close svg {
  width: 28px;
  height: 28px;
}
.stdv-lightbox__prev, .stdv-lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  color: var(--color-white, #ffffff);
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
}
.stdv-lightbox__prev:hover, .stdv-lightbox__next:hover {
  background: var(--brand-primary, #017F1A);
  border-color: var(--brand-primary, #017F1A);
}
.stdv-lightbox__prev svg, .stdv-lightbox__next svg {
  width: 24px;
  height: 24px;
}
@media all and (max-width: 767px) {
  .stdv-lightbox__prev, .stdv-lightbox__next {
    width: 40px;
    height: 40px;
  }
  .stdv-lightbox__prev svg, .stdv-lightbox__next svg {
    width: 20px;
    height: 20px;
  }
}
.stdv-lightbox__prev {
  left: 15px;
}
.stdv-lightbox__next {
  right: 15px;
}
.stdv-lightbox__caption {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 600px;
  padding: 10px 20px;
  background: rgba(0, 0, 0, 0.7);
  color: var(--color-white, #ffffff);
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
  display: none;
}
@media all and (max-width: 767px) {
  .stdv-lightbox__caption {
    max-width: calc(100% - 30px);
    font-size: 13px;
  }
}
.stdv-lightbox__counter {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 12px;
  background: rgba(0, 0, 0, 0.5);
  color: var(--color-white, #ffffff);
  font-size: 13px;
  border-radius: 4px;
  display: none;
}

@keyframes stdvLightboxSpin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.link-with-icon::before,
.linkiopis::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center/contain;
  flex-shrink: 0;
}

a.link-with-icon,
a.linkiopis {
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--transition-base, 0.3s ease);
}
a.link-with-icon:hover,
a.linkiopis:hover {
  color: var(--brand-primary-dark, #015d13);
  text-decoration: underline;
}

p.link-with-icon a,
p.linkiopis a {
  color: var(--brand-primary, #017F1A);
}

span.link-with-icon,
p.link-with-icon,
li.link-with-icon,
div.link-with-icon,
span.linkiopis,
p.linkiopis,
li.linkiopis,
div.linkiopis {
  color: inherit;
  font-weight: inherit;
  cursor: default;
}
span.link-with-icon:hover,
p.link-with-icon:hover,
li.link-with-icon:hover,
div.link-with-icon:hover,
span.linkiopis:hover,
p.linkiopis:hover,
li.linkiopis:hover,
div.linkiopis:hover {
  color: inherit;
  text-decoration: none;
}

.topbar--dark {
  background: var(--topbar-bg, var(--color-black, #1C202B));
  color: var(--topbar-color, var(--color-white, #ffffff));
}
.topbar .container, .topbar .wp-block-woocommerce-cart, .topbar .wp-block-woocommerce-checkout, .topbar .woocommerce-order-received .woocommerce, .woocommerce-order-received .topbar .woocommerce, .topbar .woocommerce-checkout .woocommerce, .woocommerce-checkout .topbar .woocommerce, .topbar .woocommerce-cart .woocommerce, .woocommerce-cart .topbar .woocommerce {
  width: 100%;
}
.topbar__grid {
  display: grid;
  grid-template-columns: 1fr auto 1.4fr;
  align-items: stretch;
  min-height: 42px;
}
@media all and (max-width: 991px) {
  .topbar__grid {
    display: none;
  }
}
.topbar__ad {
  display: flex;
  align-items: center;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.85);
}
.topbar__ad p {
  margin: 0;
}
.topbar__ad a {
  color: var(--color-white, #ffffff);
  font-weight: 600;
  text-decoration: none;
}
.topbar__banner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  margin: 0 24px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
}
.topbar__banner--yellow {
  background: #f1c40f;
  color: var(--color-black, #1C202B);
}
.topbar__banner--red {
  background: var(--color-error, #C70004);
  color: var(--color-white, #ffffff);
}
.topbar__banner--gray {
  background: #d6d8db;
  color: var(--color-black, #1C202B);
}
@media (min-width: 992px) {
  .topbar__banner {
    padding: 0 18px;
    margin: 0 12px;
    font-size: 12px;
  }
}
.topbar__info {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  font-size: 12.5px;
}
@media (min-width: 992px) {
  .topbar__info {
    gap: 12px;
    font-size: 12px;
  }
}
.topbar__info-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast, 0.15s ease);
}
.topbar__info-item svg {
  color: var(--color-white, #ffffff);
  flex-shrink: 0;
}
.topbar__info-item:hover {
  color: var(--color-white, #ffffff);
}
.topbar__social {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.topbar__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  transition: opacity var(--transition-fast, 0.15s ease);
}
.topbar__social-link img {
  width: 16px;
  height: 16px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.85;
}
.topbar__social-link:hover img {
  opacity: 1;
}
.topbar__languages {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.topbar__lang-link {
  display: block;
  line-height: 0;
  transition: opacity var(--transition-fast, 0.15s ease);
}
.topbar__lang-link:hover {
  opacity: 0.8;
}
.topbar__flag {
  width: 22px;
  height: auto;
  display: block;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.site-footer {
  background-color: var(--footer-bg, #1a1a1a);
  color: var(--footer-color, var(--color-white, #ffffff));
}
.site-footer a {
  color: var(--footer-link-color, inherit);
}
.site-footer__main {
  padding: 60px 0 40px;
}
@media all and (max-width: 767px) {
  .site-footer__main {
    padding: 40px 0 30px;
  }
}
.site-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr;
  gap: 40px;
}
@media all and (max-width: 991px) {
  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
}
@media all and (max-width: 767px) {
  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media all and (max-width: 991px) {
  .site-footer__col--brand {
    grid-column: span 2;
  }
}
@media all and (max-width: 767px) {
  .site-footer__col--brand {
    grid-column: span 1;
  }
}
@media all and (max-width: 991px) {
  .site-footer__col--contact {
    grid-column: span 2;
  }
}
@media all and (max-width: 767px) {
  .site-footer__col--contact {
    grid-column: span 1;
  }
}
.site-footer__logo {
  margin-bottom: 20px;
}
.site-footer__logo a {
  display: inline-block;
}
.site-footer__logo img {
  max-width: 160px;
  height: auto;
  filter: brightness(0) invert(1);
}
.site-footer__logo-text {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-white, #ffffff);
  text-decoration: none;
}
.site-footer__logo-text:hover {
  color: var(--color-white, #ffffff);
}
.site-footer__description {
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 25px;
}
.site-footer__social {
  display: flex;
  gap: 12px;
}
.site-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: var(--color-white, #ffffff);
  transition: all var(--transition-base, 0.3s ease);
  overflow: hidden;
}
.site-footer__social-link:hover {
  background-color: var(--brand-primary, #017F1A);
  transform: translateY(-3px);
}
.site-footer__social-link img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.site-footer__social-link svg {
  width: 20px;
  height: 20px;
}
.site-footer__heading {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  margin: 0 0 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--brand-primary, #017F1A);
}
.site-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer__links li {
  margin-bottom: 10px;
}
.site-footer__links li:last-child {
  margin-bottom: 0;
}
.site-footer__links a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color var(--transition-fast, 0.15s ease);
}
.site-footer__links a:hover {
  color: var(--brand-primary, #017F1A);
}
.site-footer__contact {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer__contact li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 15px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
}
.site-footer__contact li:last-child {
  margin-bottom: 0;
}
.site-footer__contact a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color var(--transition-fast, 0.15s ease);
}
.site-footer__contact a:hover {
  color: var(--brand-primary, #017F1A);
}
.site-footer__contact p {
  margin: 0;
}
.site-footer__contact-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-footer__contact-icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(30%) sepia(95%) saturate(1000%) hue-rotate(120deg) brightness(90%);
}
.site-footer__contact-text {
  flex: 1;
  min-width: 0;
}
.site-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 20px 0;
}
.site-footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}
@media all and (max-width: 767px) {
  .site-footer__bottom-inner {
    flex-direction: column;
    text-align: center;
  }
}
.site-footer__copyright {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}
.site-footer__legal {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 25px;
}
@media all and (max-width: 767px) {
  .site-footer__legal {
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.site-footer__legal a {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: color var(--transition-fast, 0.15s ease);
}
.site-footer__legal a:hover {
  color: var(--color-white, #ffffff);
}
.site-footer__cookies {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  font-family: inherit;
  font-size: 13px;
  line-height: inherit;
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: color var(--transition-fast, 0.15s ease);
}
.site-footer__cookies:hover, .site-footer__cookies:focus-visible {
  color: var(--color-white, #ffffff);
}

.site-header {
  background-color: var(--header-bg, var(--color-white, #ffffff));
  color: var(--header-color, var(--color-black, #1C202B));
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  position: relative;
  z-index: 1000;
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 0;
}
@media all and (max-width: 991px) {
  .site-header__inner {
    flex-wrap: wrap;
    gap: 12px;
  }
}
@media all and (max-width: 767px) {
  .site-header__inner {
    padding: 12px 0;
  }
}
.site-header__logo {
  flex-shrink: 0;
}
.site-header__logo a {
  display: block;
}
.site-header__logo img {
  width: var(--header-logo-max-width, 150px);
  height: auto;
  display: block;
}
@media all and (max-width: 991px) {
  .site-header__logo img {
    width: 118px;
  }
}
.site-header__search {
  flex: 1;
  max-width: 500px;
  margin: 0 30px;
}
@media all and (max-width: 991px) {
  .site-header__search {
    order: 10;
    flex: 1 1 100%;
    max-width: none;
    margin: 0;
  }
}
.site-header__actions {
  display: flex;
  align-items: center;
  gap: 15px;
}
@media all and (max-width: 991px) {
  .site-header__actions {
    gap: 4px;
  }
}
.site-header__action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--color-black, #1C202B);
  text-decoration: none;
  border-radius: 50%;
  transition: all var(--transition-base, 0.3s ease);
}
.site-header__action:hover {
  background-color: var(--color-background, #f3f3f3);
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .site-header__action {
    width: 40px;
    height: 40px;
  }
}
.site-header__action svg {
  width: 24px;
  height: 24px;
}
@media all and (max-width: 767px) {
  .site-header__action svg {
    width: 22px;
    height: 22px;
  }
}
.site-header__cart {
  position: relative;
}
.site-header__cart-count {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  color: var(--color-white, #ffffff);
  background-color: var(--brand-primary, #017F1A);
  border-radius: 9px;
}
.site-header__menu-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-width: 44px;
  min-height: 44px;
  padding: 4px 6px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-black, #1C202B);
  order: -1;
}
@media (min-width: 992px) {
  .site-header__menu-toggle {
    display: none;
  }
}
.site-header__menu-toggle-belki {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.site-header__menu-toggle-belki span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: currentColor;
  transition: all var(--transition-base, 0.3s ease);
}
.site-header__menu-toggle-podpis {
  font-size: 10px;
  line-height: 1;
  font-weight: 600;
}
.site-header__menu-toggle:hover {
  color: var(--brand-primary, #017F1A);
}
.site-header__nav {
  background-color: var(--color-white, #ffffff);
  border-top: 1px solid var(--color-border, #dedede);
}
@media all and (max-width: 991px) {
  .site-header__nav {
    display: none;
  }
}
.site-header__nav-inline {
  flex: 1;
}
.site-header--fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.12);
  z-index: 1000;
}
.site-header--fixed .site-header__inner {
  padding: 10px 0;
}
.site-header--fixed .site-header__logo img {
  width: 120px;
}
.site-header--fixed .mega-menu__top-link {
  padding: 10px 15px;
}
.site-header.is-visible {
  transform: translateY(0);
}

.search-form {
  position: relative;
  display: flex;
  align-items: center;
  background-color: var(--color-background, #f3f3f3);
  border-radius: var(--radius-button, 4px);
  overflow: visible;
}
.search-form__input {
  flex: 1;
  padding: 12px 15px;
  font-size: 14px;
  border: none;
  background: transparent;
  outline: none;
}
.search-form__input::placeholder {
  color: var(--color-gray, #707070);
}
.search-form__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: var(--brand-primary, #017F1A) !important;
  border: none !important;
  border-radius: var(--radius-button, 4px) !important;
  color: var(--color-white, #ffffff) !important;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
}
.search-form__button svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  stroke: var(--color-white, #ffffff) !important;
  flex-shrink: 0;
}
.search-form__button:hover {
  background-color: var(--brand-primary-dark, #015d13) !important;
}
.search-form__input {
  background-color: var(--color-background, #f3f3f3) !important;
  color: var(--color-black, #1C202B) !important;
  border: none !important;
  height: auto !important;
  border-radius: 0 !important;
}

.search-autocomplete {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 5px;
  background-color: var(--color-white, #ffffff);
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s ease;
  z-index: 1000;
  max-height: 400px;
  overflow-y: auto;
}
.search-autocomplete.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.search-autocomplete__results {
  padding: 8px 0;
}
.search-autocomplete__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 15px;
  text-decoration: none;
  color: var(--color-black, #1C202B);
  transition: background-color var(--transition-base, 0.3s ease);
}
.search-autocomplete__item:hover {
  background-color: rgba(1, 127, 26, 0.05);
}
.search-autocomplete__image {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 6px;
  overflow: hidden;
  background-color: var(--color-background, #f3f3f3);
}
.search-autocomplete__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.search-autocomplete__content {
  flex: 1;
  min-width: 0;
}
.search-autocomplete__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  line-height: 1.3;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-autocomplete__price {
  font-size: 13px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
}
.search-autocomplete__price del {
  color: var(--color-gray, #707070);
  font-weight: 400;
  margin-right: 5px;
}
.search-autocomplete__price ins {
  text-decoration: none;
}
.search-autocomplete__loading, .search-autocomplete__empty, .search-autocomplete__error {
  padding: 20px 15px;
  text-align: center;
  font-size: 14px;
  color: var(--color-gray, #707070);
}
.search-autocomplete__loading::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  border: 2px solid var(--color-border, #dedede);
  border-top-color: var(--brand-primary, #017F1A);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@media all and (max-width: 991px) {
  .hide-mobile {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .hide-desktop {
    display: none !important;
  }
}

.site-header .search-form {
  background-color: var(--color-white, #ffffff) !important;
  border: 1px solid var(--color-border, #dedede) !important;
}
.site-header .search-form__input {
  background-color: var(--color-white, #ffffff) !important;
}
.site-header .search-form__button {
  background: var(--color-black, #1C202B) !important;
}
.site-header .search-form__button:hover {
  background: rgb(52.1352112676, 59.5830985915, 80.0647887324) !important;
}

.site-header__action--labeled {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  width: auto;
  height: auto;
  min-width: 44px;
  min-height: 44px;
  padding: 2px 4px;
  border-radius: var(--radius-button, 4px);
  font-size: 11px;
  line-height: 1.1;
  color: var(--color-black, #1C202B);
  text-decoration: none;
  transition: color var(--transition-fast, 0.15s ease);
}
.site-header__action--labeled svg {
  stroke: currentColor;
}
.site-header__action--labeled span {
  white-space: nowrap;
}
.site-header__action--labeled:hover {
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .site-header__action--labeled {
    font-size: 10px;
    min-width: 40px;
    min-height: 40px;
  }
  .site-header__action--labeled svg {
    width: 22px;
    height: 22px;
  }
}
.site-header__action--labeled .site-header__action-ikona {
  position: relative;
  display: inline-flex;
}
.site-header__action--labeled.site-header__cart .site-header__cart-count,
.site-header__action--labeled .site-header__action-ikona .site-header__cart-count {
  top: -6px;
  right: -10px;
}

.mobile-menu {
  position: fixed;
  inset: 0;
  background: var(--color-white, #ffffff);
  z-index: 9999999;
  display: flex;
  flex-direction: column;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  overflow: hidden;
}
@media (min-width: 768px) {
  .mobile-menu {
    display: none;
  }
}
.mobile-menu.is-active {
  transform: translateY(0);
}

.mobile-menu__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: var(--color-white, #ffffff);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  overflow: hidden;
}
.mobile-menu__panel--root {
  transform: translateX(0);
}
.mobile-menu__panel.is-active {
  transform: translateX(0);
}

.mobile-menu__header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 16px;
  height: 60px;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}

.mobile-menu__title {
  flex: 1 1 auto;
  text-align: left;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: var(--color-white, #ffffff);
}
.mobile-menu__panel--root .mobile-menu__title {
  text-transform: uppercase;
}
.mobile-menu__panel:not(.mobile-menu__panel--root) .mobile-menu__title {
  text-align: center;
  text-transform: none;
}

.mobile-menu-close,
.mobile-menu__back {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  color: var(--color-white, #ffffff);
  cursor: pointer;
  padding: 0;
}
.mobile-menu-close:hover,
.mobile-menu__back:hover {
  background: rgba(0, 0, 0, 0.14);
  border-radius: 4px;
}
.mobile-menu-close svg,
.mobile-menu__back svg {
  display: block;
}

.mobile-menu__body {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
}

.mobile-menu__search {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: 16px;
  background: var(--color-white, #ffffff);
}
.mobile-menu__search input[type=text] {
  flex: 1 1 auto;
  height: 44px;
  padding: 0 16px;
  border: 1px solid var(--color-border, var(--color-border, #dedede));
  border-right: 0;
  border-radius: 22px 0 0 22px;
  font-size: 15px;
  color: var(--color-text, var(--color-black, #1C202B));
  background: var(--color-white, #ffffff);
  outline: none;
}
.mobile-menu__search input[type=text]:focus {
  border-color: var(--brand-primary, #017F1A);
}
.mobile-menu__search input[type=text]::placeholder {
  color: var(--color-text-muted, var(--color-gray, #707070));
}
.mobile-menu__search-btn {
  flex: 0 0 auto;
  width: 52px;
  height: 44px;
  border: 0;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border-radius: 0 22px 22px 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-menu__search-btn:hover {
  background: var(--brand-primary-dark, var(--brand-primary-dark, #015d13));
}
.mobile-menu__search-btn svg {
  display: block;
}

.mobile-menu__produkty {
  background: #d4f0d8;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.mobile-menu__produkty-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text, var(--color-black, #1C202B));
  text-align: left;
}
.mobile-menu__produkty-toggle:hover {
  background: rgba(0, 0, 0, 0.04);
}
.mobile-menu__produkty-toggle[aria-expanded=true] .mobile-menu__produkty-chevron {
  transform: rotate(180deg);
}
.mobile-menu__produkty-icon {
  flex: 0 0 auto;
  display: inline-flex;
  color: var(--brand-primary, #017F1A);
}
.mobile-menu__produkty-label {
  flex: 1 1 auto;
}
.mobile-menu__produkty-chevron {
  flex: 0 0 auto;
  display: inline-flex;
  transition: transform 0.2s ease;
  color: var(--color-text-muted, var(--color-gray, #707070));
}
.mobile-menu__produkty-list {
  list-style: none;
  margin: 0;
  padding: 0 0 8px;
}
.mobile-menu__produkty-list li {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.mobile-menu__cat {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px 12px 40px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text, var(--color-black, #1C202B));
  text-align: left;
  text-decoration: none;
  text-transform: none;
}
.mobile-menu__cat:hover {
  background: rgba(0, 0, 0, 0.04);
  color: var(--brand-primary, #017F1A);
}
.mobile-menu__cat-text {
  flex: 1 1 auto;
}
.mobile-menu__cat-chevron {
  flex: 0 0 auto;
  font-size: 20px;
  line-height: 1;
  color: var(--color-text-muted, var(--color-gray, #707070));
}

.mobile-menu__flat {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-menu__flat li {
  border-bottom: 1px solid var(--color-border, var(--color-border, #dedede));
}
.mobile-menu__flat a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text, var(--color-black, #1C202B));
  text-decoration: none;
  text-transform: none;
}
.mobile-menu__flat a:hover {
  background: var(--color-background, var(--color-background, #f3f3f3));
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
}
.mobile-menu__flat-item--dark a {
  color: var(--color-gray, var(--color-gray, #707070));
}
.mobile-menu__flat-item--dark a:hover {
  background: var(--color-background, var(--color-background, #f3f3f3));
  color: var(--color-gray, var(--color-gray, #707070));
}
.mobile-menu__flat-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 2px;
}
.mobile-menu__flat-badge--green, .mobile-menu__flat-badge--yellow {
  background: #ffc107;
  color: #1c202b;
}
.mobile-menu__flat-badge--red {
  background: #dc3232;
  color: #fff;
}
.mobile-menu__flat-badge--dark {
  background: #1c202b;
  color: #fff;
}

.mobile-menu__other {
  padding: 20px;
  background: var(--color-background, var(--color-background, #f3f3f3));
}
.mobile-menu__other-title {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text, var(--color-black, #1C202B));
  text-transform: none;
}
.mobile-menu__other ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-menu__other li {
  margin: 6px 0;
}
.mobile-menu__other a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text, var(--color-black, #1C202B));
  text-decoration: none;
}
.mobile-menu__other a:hover {
  color: var(--brand-primary, #017F1A);
}
.mobile-menu__other-arrow {
  display: inline-flex;
  color: var(--brand-primary, #017F1A);
}

.mobile-menu__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px;
  margin-top: auto;
  border-top: 1px solid var(--color-border, var(--color-border, #dedede));
  background: var(--color-white, #ffffff);
}

.mobile-menu__social,
.mobile-menu__langs {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.mobile-menu__social a,
.mobile-menu__langs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.mobile-menu__social a img,
.mobile-menu__langs a img {
  display: block;
}

.mobile-menu__social a img {
  width: 22px;
  height: 22px;
}

.mobile-menu__langs a img {
  width: 24px;
  height: 16px;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.mobile-menu__sublist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-menu__sublist li {
  border-bottom: 1px solid var(--color-border, var(--color-border, #dedede));
}
.mobile-menu__sublist a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text, var(--color-black, #1C202B));
  text-decoration: none;
  text-transform: none;
}
.mobile-menu__sublist a:hover {
  background: var(--color-background, var(--color-background, #f3f3f3));
  color: var(--brand-primary, #017F1A);
}
.mobile-menu__sublist-thumb {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--color-background, var(--color-background, #f3f3f3));
}
.mobile-menu__sublist-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mobile-menu__sublist-text {
  flex: 1 1 auto;
}

body.mobile-menu-open {
  overflow: hidden;
}

div.single-page.page {
  padding: 40px 0 60px;
}
div.single-page.page > .wp-block-heading,
div.single-page.page > p,
div.single-page.page > ul,
div.single-page.page > ol,
div.single-page.page > blockquote,
div.single-page.page > .wp-block-list,
div.single-page.page > .wp-block-table,
div.single-page.page > .wp-block-separator,
div.single-page.page > .wp-block-embed,
div.single-page.page > .wp-block-shortcode,
div.single-page.page > .wp-block-html,
div.single-page.page > table,
div.single-page.page > h1, div.single-page.page > h2, div.single-page.page > h3, div.single-page.page > h4, div.single-page.page > h5, div.single-page.page > h6,
div.single-page.page > center,
div.single-page.page > iframe,
div.single-page.page > div:not(.wp-block-columns):not(.wp-block-group):not(.acf-block-gb):not(.wp-block-image),
div.single-page.page > figure:not(.wp-block-image) {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
div.single-page.page > .wp-block-image,
div.single-page.page > figure.wp-block-image {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 30px;
}
div.single-page.page > .wp-block-image img,
div.single-page.page > figure.wp-block-image img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-base, 0px);
}
div.single-page.page > .wp-block-image figcaption,
div.single-page.page > figure.wp-block-image figcaption {
  font-size: 13px;
  color: var(--color-gray, #707070);
  margin-top: 8px;
  text-align: center;
}
div.single-page.page > .wp-block-columns {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 30px;
}
div.single-page.page > .wp-block-columns .wp-block-column img {
  max-width: 100%;
  height: auto;
}
div.single-page.page > .wp-block-group {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
div.single-page.page > h1,
div.single-page.page > .wp-block-heading:first-child {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--brand-primary, #017F1A);
}
div.single-page.page h1 {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 40px 0 16px;
}
div.single-page.page h2, div.single-page.page .wp-block-heading[style*=font-size] {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 36px 0 14px;
}
div.single-page.page h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 28px 0 12px;
}
div.single-page.page h4 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 24px 0 10px;
}
div.single-page.page p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin-bottom: 16px;
}
div.single-page.page p:last-child {
  margin-bottom: 0;
}
div.single-page.page p strong {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
div.single-page.page > a,
div.single-page.page > p a,
div.single-page.page > ul a,
div.single-page.page > ol a,
div.single-page.page > div:not(.acf-block-gb) a,
div.single-page.page > blockquote a,
div.single-page.page > .wp-block-heading a,
div.single-page.page > .wp-block-list a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
  transition: color var(--transition-fast, 0.15s ease);
}
div.single-page.page > a:hover,
div.single-page.page > p a:hover,
div.single-page.page > ul a:hover,
div.single-page.page > ol a:hover,
div.single-page.page > div:not(.acf-block-gb) a:hover,
div.single-page.page > blockquote a:hover,
div.single-page.page > .wp-block-heading a:hover,
div.single-page.page > .wp-block-list a:hover {
  color: var(--brand-primary-dark, #015d13);
}
div.single-page.page > ul, div.single-page.page > ol,
div.single-page.page > div:not(.acf-block-gb) > ul,
div.single-page.page > div:not(.acf-block-gb) > ol,
div.single-page.page > .wp-block-list {
  margin-bottom: 20px;
  padding-left: 0;
}
div.single-page.page > ul li, div.single-page.page > ol li,
div.single-page.page > div:not(.acf-block-gb) > ul li,
div.single-page.page > div:not(.acf-block-gb) > ol li,
div.single-page.page > .wp-block-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
  list-style: none;
}
div.single-page.page > ul li::before, div.single-page.page > ol li::before,
div.single-page.page > div:not(.acf-block-gb) > ul li::before,
div.single-page.page > div:not(.acf-block-gb) > ol li::before,
div.single-page.page > .wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--brand-primary, #017F1A);
}
div.single-page.page > ul li strong, div.single-page.page > ol li strong,
div.single-page.page > div:not(.acf-block-gb) > ul li strong,
div.single-page.page > div:not(.acf-block-gb) > ol li strong,
div.single-page.page > .wp-block-list li strong {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
div.single-page.page > ol,
div.single-page.page > div:not(.acf-block-gb) > ol {
  counter-reset: list-counter;
}
div.single-page.page > ol li,
div.single-page.page > div:not(.acf-block-gb) > ol li {
  counter-increment: list-counter;
}
div.single-page.page > ol li::before,
div.single-page.page > div:not(.acf-block-gb) > ol li::before {
  content: counter(list-counter) ".";
  background: none;
  width: auto;
  height: auto;
  border-radius: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  top: 0;
}
div.single-page.page table, div.single-page.page .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
  font-size: 14px;
}
div.single-page.page table th, div.single-page.page .wp-block-table table th {
  background-color: var(--brand-primary, #017F1A);
  color: #fff;
  font-weight: 600;
  padding: 10px 14px;
  text-align: left;
  border: 1px solid rgb(0.80078125, 101.69921875, 20.8203125);
}
div.single-page.page table td, div.single-page.page .wp-block-table table td {
  padding: 8px 14px;
  border: 1px solid var(--color-border, #dedede);
  color: var(--color-gray, #707070);
}
div.single-page.page table tr:nth-child(even), div.single-page.page .wp-block-table table tr:nth-child(even) {
  background-color: #fafafa;
}
div.single-page.page table td:first-child, div.single-page.page .wp-block-table table td:first-child {
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
div.single-page.page .wp-block-separator,
div.single-page.page hr {
  border: none;
  border-top: 1px solid var(--color-border, #dedede);
  margin: 30px auto;
  max-width: 800px;
}
div.single-page.page img {
  max-width: 100%;
  height: auto;
}
div.single-page.page > iframe {
  display: block;
  max-width: 100%;
  margin-bottom: 30px;
}
div.single-page.page center {
  margin-bottom: 20px;
}
div.single-page.page .wp-block-embed {
  margin-bottom: 30px;
}
div.single-page.page .wp-block-embed .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
div.single-page.page .wp-block-embed .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 991px) {
  div.single-page.page {
    padding: 24px 0 40px;
  }
  div.single-page.page h1 {
    font-size: 22px;
  }
  div.single-page.page h2 {
    font-size: 19px;
  }
  div.single-page.page h3 {
    font-size: 16px;
  }
}

.single-post__hero {
  position: relative;
  height: 480px;
  overflow: hidden;
}
@media all and (max-width: 991px) {
  .single-post__hero {
    height: 360px;
  }
}
@media all and (max-width: 767px) {
  .single-post__hero {
    height: 280px;
  }
}
.single-post__hero-image {
  position: absolute;
  inset: 0;
}
.single-post__hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.single-post__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.25) 50%, rgba(0, 0, 0, 0.05) 100%);
  display: flex;
  align-items: flex-end;
}
.single-post__hero-overlay .container, .single-post__hero-overlay .wp-block-woocommerce-cart, .single-post__hero-overlay .wp-block-woocommerce-checkout, .single-post__hero-overlay .woocommerce-order-received .woocommerce, .woocommerce-order-received .single-post__hero-overlay .woocommerce, .single-post__hero-overlay .woocommerce-checkout .woocommerce, .woocommerce-checkout .single-post__hero-overlay .woocommerce, .single-post__hero-overlay .woocommerce-cart .woocommerce, .woocommerce-cart .single-post__hero-overlay .woocommerce {
  padding-bottom: 48px;
}
@media all and (max-width: 767px) {
  .single-post__hero-overlay .container, .single-post__hero-overlay .wp-block-woocommerce-cart, .single-post__hero-overlay .wp-block-woocommerce-checkout, .single-post__hero-overlay .woocommerce-order-received .woocommerce, .woocommerce-order-received .single-post__hero-overlay .woocommerce, .single-post__hero-overlay .woocommerce-checkout .woocommerce, .woocommerce-checkout .single-post__hero-overlay .woocommerce, .single-post__hero-overlay .woocommerce-cart .woocommerce, .woocommerce-cart .single-post__hero-overlay .woocommerce {
    padding-bottom: 28px;
  }
}
.single-post__header {
  background: var(--color-background, #f3f3f3);
  padding: 48px 0;
  border-bottom: 1px solid var(--color-border, #dedede);
}
@media all and (max-width: 767px) {
  .single-post__header {
    padding: 32px 0;
  }
}
.single-post__category {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  padding: 5px 14px;
  border-radius: 3px;
  margin-bottom: 16px;
  text-decoration: none;
  transition: background var(--transition-fast, 0.15s ease);
}
.single-post__hero-overlay .single-post__category {
  background: var(--brand-primary, #017F1A);
  color: #fff;
}
.single-post__hero-overlay .single-post__category:hover {
  background: var(--brand-primary-dark, #015d13);
}
.single-post__header .single-post__category {
  background: var(--brand-primary, #017F1A);
  color: #fff;
}
.single-post__header .single-post__category:hover {
  background: var(--brand-primary-dark, #015d13);
}
.single-post__title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 16px;
  max-width: 820px;
}
.single-post__hero-overlay .single-post__title {
  color: #fff;
}
.single-post__header .single-post__title {
  color: var(--color-black, #1C202B);
}
@media all and (max-width: 991px) {
  .single-post__title {
    font-size: 28px;
  }
}
@media all and (max-width: 767px) {
  .single-post__title {
    font-size: 22px;
    margin-bottom: 12px;
  }
}
.single-post__meta {
  font-size: 14px;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 4px;
}
.single-post__hero-overlay .single-post__meta {
  color: rgba(255, 255, 255, 0.8);
}
.single-post__header .single-post__meta {
  color: var(--color-gray, #707070);
}
@media all and (max-width: 767px) {
  .single-post__meta {
    font-size: 13px;
  }
}
.single-post__sep {
  margin: 0 4px;
  opacity: 0.5;
}
.single-post__article {
  padding: 48px 0 0;
}
@media all and (max-width: 767px) {
  .single-post__article {
    padding: 32px 0 0;
  }
}
.single-post__content > .wp-block-heading,
.single-post__content > p,
.single-post__content > ul,
.single-post__content > ol,
.single-post__content > blockquote,
.single-post__content > .wp-block-list,
.single-post__content > .wp-block-table,
.single-post__content > .wp-block-separator,
.single-post__content > .wp-block-embed,
.single-post__content > .wp-block-shortcode,
.single-post__content > .wp-block-html,
.single-post__content > .wp-block-quote,
.single-post__content > table,
.single-post__content > h1, .single-post__content > h2, .single-post__content > h3, .single-post__content > h4, .single-post__content > h5, .single-post__content > h6,
.single-post__content > figure:not(.wp-block-image):not(.wp-block-gallery),
.single-post__content > div.wp-block-rank-math-toc-block {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.single-post__content > .wp-block-image,
.single-post__content > figure.wp-block-image {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.single-post__content > figure.wp-block-gallery {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 32px;
}
.single-post__content > .wp-block-columns:not(.has-background) {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 12px;
}
.single-post__content > .wp-block-columns:not(.has-background) .wp-block-column img {
  max-width: 100%;
  height: auto;
}
.single-post__content > .wp-block-columns:not(.has-background) .wp-block-column[style*="flex-basis:0.1%"] {
  display: none;
}
.single-post__content > .wp-block-columns:not(.has-background) .wp-block-column[style*="flex-basis:99.9%"] {
  flex-basis: 100% !important;
}
@media all and (max-width: 767px) {
  .single-post__content > .wp-block-columns:not(.has-background) {
    flex-direction: column;
  }
}
.single-post__content .wp-block-image,
.single-post__content figure.wp-block-image {
  margin-top: 24px;
  margin-bottom: 32px;
}
.single-post__content .wp-block-image img,
.single-post__content figure.wp-block-image img {
  border-radius: var(--radius-base, 0px);
}
.single-post__content .wp-block-image figcaption,
.single-post__content figure.wp-block-image figcaption {
  font-size: 13px;
  color: var(--color-gray, #707070);
  margin-top: 8px;
}
.single-post__content .wp-block-media-text {
  margin-top: 24px;
  margin-bottom: 28px;
}
.single-post__content > .wp-block-group {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.single-post__content > .wp-block-cover {
  margin-bottom: 40px;
  min-height: 340px;
}
.single-post__content > .wp-block-cover .wp-block-cover__inner-container {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media all and (max-width: 767px) {
  .single-post__content > .wp-block-cover {
    min-height: 240px;
  }
}
.single-post__content > .wp-block-media-text {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 32px;
}
@media all and (max-width: 767px) {
  .single-post__content > .wp-block-media-text {
    grid-template-columns: 1fr !important;
  }
  .single-post__content > .wp-block-media-text .wp-block-media-text__media {
    margin-bottom: 16px;
  }
}
.single-post__content > .wp-block-block {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.single-post__content h1 {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 40px 0 16px;
}
.single-post__content h2 {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 44px 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--brand-primary, #017F1A);
}
.single-post__content h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 36px 0 12px;
}
.single-post__content h4 {
  font-size: 17px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 28px 0 10px;
}
.single-post__content p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--color-gray, #707070);
  margin-bottom: 18px;
}
.single-post__content p:last-child {
  margin-bottom: 0;
}
.single-post__content p strong {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
.single-post__content a:not(.cta-button__btn) {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition-fast, 0.15s ease);
}
.single-post__content a:not(.cta-button__btn):hover {
  color: var(--brand-primary-dark, #015d13);
}
.single-post__content ul, .single-post__content ol, .single-post__content .wp-block-list {
  margin-bottom: 20px;
  padding-left: 0;
}
.single-post__content ul li, .single-post__content ol li, .single-post__content .wp-block-list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  list-style: none;
}
.single-post__content ul li::before, .single-post__content ol li::before, .single-post__content .wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: var(--brand-primary, #017F1A);
}
.single-post__content ul li strong, .single-post__content ol li strong, .single-post__content .wp-block-list li strong {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
.single-post__content ul li ul, .single-post__content ul li ol, .single-post__content ol li ul, .single-post__content ol li ol, .single-post__content .wp-block-list li ul, .single-post__content .wp-block-list li ol {
  margin-top: 8px;
  margin-bottom: 4px;
}
.single-post__content ol {
  counter-reset: list-counter;
}
.single-post__content ol > li {
  counter-increment: list-counter;
}
.single-post__content ol > li::before {
  content: counter(list-counter) ".";
  background: none;
  width: auto;
  height: auto;
  border-radius: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
  top: 1px;
}
.single-post__content table, .single-post__content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 28px;
  font-size: 14px;
}
.single-post__content table th, .single-post__content .wp-block-table table th {
  background-color: var(--brand-primary, #017F1A);
  color: #fff;
  font-weight: 600;
  padding: 11px 16px;
  text-align: left;
  border: 1px solid rgb(0.80078125, 101.69921875, 20.8203125);
}
.single-post__content table td, .single-post__content .wp-block-table table td {
  padding: 10px 16px;
  border: 1px solid var(--color-border, #dedede);
  color: var(--color-gray, #707070);
}
.single-post__content table tr:nth-child(even), .single-post__content .wp-block-table table tr:nth-child(even) {
  background-color: #fafafa;
}
.single-post__content table td:first-child, .single-post__content .wp-block-table table td:first-child {
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.single-post__content blockquote,
.single-post__content .wp-block-quote {
  border-left: 4px solid var(--brand-primary, #017F1A);
  padding: 16px 24px;
  margin: 28px 0;
  background: var(--color-background, #f3f3f3);
}
.single-post__content blockquote p,
.single-post__content .wp-block-quote p {
  font-size: 17px;
  font-style: italic;
  color: var(--color-black, #1C202B);
  margin-bottom: 8px;
}
.single-post__content blockquote cite,
.single-post__content .wp-block-quote cite {
  font-size: 14px;
  color: var(--color-gray, #707070);
  font-style: normal;
}
.single-post__content .wp-block-separator, .single-post__content hr {
  border: none;
  border-top: 1px solid var(--color-border, #dedede);
  margin: 36px auto;
  max-width: 800px;
}
.single-post__content .wp-block-spacer {
  max-height: 40px !important;
}
.single-post__content .wp-block-embed {
  margin-bottom: 32px;
}
.single-post__content .wp-block-embed .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.single-post__content .wp-block-embed .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-base, 0px);
}
.single-post__content img {
  max-width: 100%;
  height: auto;
}
.single-post__content h2:empty, .single-post__content h3:empty, .single-post__content h4:empty {
  display: none;
  margin: 0;
  padding: 0;
  border: none;
}
.single-post__content > .wp-block-columns.has-background {
  max-width: var(--space-container-max-xl, 1160px);
  margin-left: auto;
  margin-right: auto;
  padding: 32px 36px;
  margin-top: 36px;
  margin-bottom: 36px;
  border-left: 4px solid var(--brand-primary, #017F1A);
  border-radius: var(--radius-base, 0px);
}
.single-post__content > .wp-block-columns.has-background h2 {
  font-size: 20px;
  margin-top: 0;
  padding-bottom: 10px;
}
.single-post__content > .wp-block-columns.has-background p {
  margin-bottom: 12px;
}
.single-post__content > .wp-block-columns.has-background .wp-block-column[style*="flex-basis:0.1%"] {
  display: none;
}
.single-post__content > .wp-block-columns.has-background .wp-block-column[style*="flex-basis:99.9%"] {
  flex-basis: 100% !important;
}
@media all and (max-width: 767px) {
  .single-post__content > .wp-block-columns.has-background {
    padding: 24px 20px;
  }
}
.single-post__content .wp-block-rank-math-toc-block {
  background: #fff;
  border: 1px solid var(--color-border, #dedede);
  border-left: 4px solid var(--brand-primary, #017F1A);
  border-radius: var(--radius-base, 0px);
  padding: 24px 28px;
  margin-bottom: 36px;
  margin-top: 0;
}
.single-post__content .wp-block-rank-math-toc-block nav > div:first-child,
.single-post__content .wp-block-rank-math-toc-block h2 {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #dedede);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.single-post__content .wp-block-rank-math-toc-block ol, .single-post__content .wp-block-rank-math-toc-block ul {
  padding-left: 0;
  margin-bottom: 0;
  counter-reset: toc-counter;
}
.single-post__content .wp-block-rank-math-toc-block ol li, .single-post__content .wp-block-rank-math-toc-block ul li {
  padding-left: 24px;
  margin-bottom: 4px;
  font-size: 14px;
  line-height: 1.6;
  list-style: none;
  counter-increment: toc-counter;
}
.single-post__content .wp-block-rank-math-toc-block ol li::before, .single-post__content .wp-block-rank-math-toc-block ul li::before {
  content: counter(toc-counter);
  position: absolute;
  left: 0;
  top: 1px;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  font-size: 12px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
}
.single-post__content .wp-block-rank-math-toc-block ol li a, .single-post__content .wp-block-rank-math-toc-block ul li a {
  color: var(--color-gray, #707070);
  text-decoration: none;
  transition: color var(--transition-fast, 0.15s ease);
}
.single-post__content .wp-block-rank-math-toc-block ol li a:hover, .single-post__content .wp-block-rank-math-toc-block ul li a:hover {
  color: var(--brand-primary, #017F1A);
}
.single-post__content .wp-block-rank-math-toc-block ol li ol, .single-post__content .wp-block-rank-math-toc-block ol li ul, .single-post__content .wp-block-rank-math-toc-block ul li ol, .single-post__content .wp-block-rank-math-toc-block ul li ul {
  margin-top: 4px;
  margin-bottom: 2px;
  counter-reset: toc-sub-counter;
}
.single-post__content .wp-block-rank-math-toc-block ol li ol li, .single-post__content .wp-block-rank-math-toc-block ol li ul li, .single-post__content .wp-block-rank-math-toc-block ul li ol li, .single-post__content .wp-block-rank-math-toc-block ul li ul li {
  counter-increment: toc-sub-counter;
  padding-left: 28px;
  font-size: 13px;
}
.single-post__content .wp-block-rank-math-toc-block ol li ol li::before, .single-post__content .wp-block-rank-math-toc-block ol li ul li::before, .single-post__content .wp-block-rank-math-toc-block ul li ol li::before, .single-post__content .wp-block-rank-math-toc-block ul li ul li::before {
  content: counter(toc-counter) "." counter(toc-sub-counter);
  font-size: 11px;
}
@media all and (max-width: 767px) {
  .single-post__content .wp-block-rank-math-toc-block {
    padding: 18px 20px;
  }
}
@media all and (max-width: 991px) {
  .single-post__content h1 {
    font-size: 24px;
  }
  .single-post__content h2 {
    font-size: 20px;
  }
  .single-post__content h3 {
    font-size: 18px;
  }
  .single-post__content p, .single-post__content li {
    font-size: 15px;
  }
}
@media all and (max-width: 767px) {
  .single-post__content h2 {
    margin-top: 32px;
  }
}
.single-post__tags {
  padding-top: 36px;
  padding-bottom: 48px;
  border-top: 1px solid var(--color-border, #dedede);
  margin-top: 48px;
}
@media all and (max-width: 767px) {
  .single-post__tags {
    padding-top: 24px;
    padding-bottom: 32px;
    margin-top: 32px;
  }
}
.single-post__tags-inner {
  max-width: var(--space-container-max-xl, 1160px);
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.single-post__tag {
  display: inline-block;
  padding: 6px 14px;
  background: var(--color-background, #f3f3f3);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 3px;
  font-size: 13px;
  color: var(--color-gray, #707070);
  text-decoration: none;
  transition: all var(--transition-fast, 0.15s ease);
}
.single-post__tag:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  background: rgba(1, 127, 26, 0.04);
}
.single-post__related {
  background: var(--color-background, #f3f3f3);
  padding: 56px 0;
  border-top: 1px solid var(--color-border, #dedede);
}
@media all and (max-width: 767px) {
  .single-post__related {
    padding: 36px 0;
  }
}
.single-post__related-heading {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin-bottom: 28px;
}
@media all and (max-width: 767px) {
  .single-post__related-heading {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.single-post__related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media all and (max-width: 991px) {
  .single-post__related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .single-post__related-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.single-post__related-card {
  background: #fff;
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  text-decoration: none;
  border: 1px solid var(--color-border, #dedede);
  transition: box-shadow var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.single-post__related-card:hover {
  box-shadow: var(--shadow-md, 0 4px 8px rgba(0, 0, 0, 0.15));
  transform: translateY(-3px);
}
.single-post__related-card:hover .single-post__related-title {
  color: var(--brand-primary, #017F1A);
}
.single-post__related-card:hover .single-post__related-image img {
  transform: scale(1.05);
}
.single-post__related-image {
  height: 200px;
  overflow: hidden;
  background: var(--color-border, #dedede);
}
.single-post__related-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base, 0.3s ease);
}
@media all and (max-width: 767px) {
  .single-post__related-image {
    height: 180px;
  }
}
.single-post__related-body {
  padding: 20px;
}
.single-post__related-cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--brand-primary, #017F1A);
  margin-bottom: 8px;
}
.single-post__related-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  line-height: 1.4;
  margin-bottom: 10px;
  transition: color var(--transition-fast, 0.15s ease);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.single-post__related-date {
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.single-post .post-title.container, .single-post .post-title.wp-block-woocommerce-cart, .single-post .post-title.wp-block-woocommerce-checkout, .single-post .woocommerce-order-received .post-title.woocommerce, .woocommerce-order-received .single-post .post-title.woocommerce, .single-post .woocommerce-checkout .post-title.woocommerce, .woocommerce-checkout .single-post .post-title.woocommerce, .single-post .woocommerce-cart .post-title.woocommerce, .woocommerce-cart .single-post .post-title.woocommerce {
  padding-top: 32px;
  padding-bottom: 24px;
}
.single-post .post-title.container h1, .single-post .post-title.wp-block-woocommerce-cart h1, .single-post .post-title.wp-block-woocommerce-checkout h1, .single-post .woocommerce-order-received .post-title.woocommerce h1, .woocommerce-order-received .single-post .post-title.woocommerce h1, .single-post .woocommerce-checkout .post-title.woocommerce h1, .woocommerce-checkout .single-post .post-title.woocommerce h1, .single-post .woocommerce-cart .post-title.woocommerce h1, .woocommerce-cart .single-post .post-title.woocommerce h1 {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  border-bottom: 3px solid var(--brand-primary, #017F1A);
  padding-bottom: 12px;
}

.blog-archive {
  padding: 0 0 60px;
}
@media all and (max-width: 767px) {
  .blog-archive {
    padding: 0 0 40px;
  }
}
.blog-archive__container {
  max-width: var(--space-container-max-big, 1450px);
  margin: 0 auto;
  padding: 0 var(--space-container-x, 15px);
  display: flex;
  gap: 40px;
}
@media (min-width: 1700px) {
  .blog-archive__container {
    padding: 0 var(--space-container-x, 15px);
  }
}
@media all and (max-width: 991px) {
  .blog-archive__container {
    flex-direction: column;
    gap: 32px;
  }
}
.blog-archive__top {
  max-width: var(--space-container-max-big, 1450px);
  margin: 0 auto;
  padding: 0 var(--space-container-x, 15px);
}
@media (min-width: 1700px) {
  .blog-archive__top {
    padding: 0 var(--space-container-x, 15px);
  }
}
.blog-archive__header {
  margin-bottom: 20px;
  padding-top: 20px;
}
.blog-archive__title {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 4px;
}
@media all and (max-width: 767px) {
  .blog-archive__title {
    font-size: 22px;
  }
}
.blog-archive__subtitle {
  font-size: 14px;
  color: var(--color-gray, #707070);
  margin: 0;
}
.blog-archive__subtitle strong {
  color: var(--color-black, #1C202B);
}
.blog-archive__clear-search {
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
  margin-left: 8px;
  font-weight: 600;
}
.blog-archive__clear-search:hover {
  text-decoration: underline;
}
.blog-archive__search {
  margin-bottom: 36px;
}
.blog-archive__search-form {
  display: flex;
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-button, 4px);
  overflow: hidden;
  transition: border-color var(--transition-fast, 0.15s ease);
}
.blog-archive__search-form:focus-within {
  border-color: var(--brand-primary, #017F1A);
}
.blog-archive__search-input {
  flex: 1;
  padding: 12px 16px;
  border: none;
  outline: none;
  font-size: 14px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  color: var(--color-black, #1C202B);
  background: var(--color-white, #ffffff);
}
.blog-archive__search-input::placeholder {
  color: rgb(150.25, 150.25, 150.25);
}
.blog-archive__search-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  border: none;
  background: var(--brand-primary, #017F1A);
  color: #fff;
  cursor: pointer;
  transition: background var(--transition-fast, 0.15s ease);
}
.blog-archive__search-btn:hover {
  background: var(--brand-primary-dark, #015d13);
}
.blog-archive__content {
  flex: 1;
  min-width: 0;
}
.blog-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media all and (max-width: 991px) {
  .blog-archive__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media all and (max-width: 767px) {
  .blog-archive__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.blog-archive__pagination {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}
@media all and (max-width: 767px) {
  .blog-archive__pagination {
    margin-top: 30px;
  }
}
.blog-archive__pagination ul.page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 14px 28px;
  background: var(--color-white, #ffffff);
  border: none;
  border-radius: 60px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .blog-archive__pagination ul.page-numbers {
    padding: 10px 16px;
    gap: 2px;
  }
}
.blog-archive__pagination li {
  margin: 0;
  padding: 0;
  display: flex;
}
.blog-archive__pagination li a,
.blog-archive__pagination li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 400;
  color: var(--color-black, #1C202B);
  text-decoration: none;
  transition: all 0.2s ease;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .blog-archive__pagination li a,
  .blog-archive__pagination li span {
    min-width: 34px;
    height: 34px;
    font-size: 14px;
  }
}
.blog-archive__pagination li a:hover {
  color: var(--brand-primary, #017F1A);
  background: rgba(1, 127, 26, 0.08);
}
.blog-archive__pagination li span.current {
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.blog-archive__pagination li span.dots {
  min-width: 24px;
  color: var(--color-gray, #707070);
  letter-spacing: 2px;
  background: transparent;
}
@media all and (max-width: 767px) {
  .blog-archive__pagination li span.dots {
    min-width: 20px;
  }
}
.blog-archive__pagination li a.prev,
.blog-archive__pagination li a.next {
  font-size: 18px;
  color: var(--color-gray, #707070);
  background: transparent;
}
@media all and (max-width: 767px) {
  .blog-archive__pagination li a.prev,
  .blog-archive__pagination li a.next {
    font-size: 16px;
  }
}
.blog-archive__pagination li a.prev:hover,
.blog-archive__pagination li a.next:hover {
  color: var(--brand-primary, #017F1A);
  background: rgba(1, 127, 26, 0.08);
}
.blog-archive__pagination li a.prev {
  margin-right: 6px;
}
@media all and (max-width: 767px) {
  .blog-archive__pagination li a.prev {
    margin-right: 4px;
  }
}
.blog-archive__pagination li a.next {
  margin-left: 6px;
}
@media all and (max-width: 767px) {
  .blog-archive__pagination li a.next {
    margin-left: 4px;
  }
}
.blog-archive__empty {
  padding: 60px 20px;
  text-align: center;
  background: var(--color-background, #f3f3f3);
  border-radius: var(--radius-base, 0px);
}
.blog-archive__empty p {
  font-size: 16px;
  color: var(--color-gray, #707070);
  margin-bottom: 16px;
}
.blog-archive__empty-btn {
  display: inline-block;
  padding: 10px 24px;
  background: var(--brand-primary, #017F1A);
  color: #fff;
  text-decoration: none;
  border-radius: var(--radius-button, 4px);
  font-size: 14px;
  font-weight: 600;
  transition: background var(--transition-fast, 0.15s ease);
}
.blog-archive__empty-btn:hover {
  background: var(--brand-primary-dark, #015d13);
}
.blog-archive__sidebar {
  flex-shrink: 0;
  width: 280px;
}
@media all and (max-width: 991px) {
  .blog-archive__sidebar {
    width: 100%;
  }
}
.blog-archive__sidebar-inner {
  position: sticky;
  top: 120px;
}
@media all and (max-width: 991px) {
  .blog-archive__sidebar-inner {
    position: static;
  }
}

.blog-card {
  display: flex;
  flex-direction: column;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.blog-card:hover {
  box-shadow: var(--shadow-md, 0 4px 8px rgba(0, 0, 0, 0.15));
  transform: translateY(-3px);
}
.blog-card:hover .blog-card__image img {
  transform: scale(1.05);
}
.blog-card:hover .blog-card__title {
  color: var(--brand-primary, #017F1A);
}
.blog-card__image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--color-background, #f3f3f3);
}
.blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base, 0.3s ease);
}
.blog-card__category {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-block;
  padding: 4px 10px;
  background: var(--brand-primary, #017F1A);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 3px;
}
.blog-card__body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.blog-card__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  line-height: 1.4;
  margin: 0 0 8px;
  transition: color var(--transition-fast, 0.15s ease);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-card__excerpt {
  font-size: 13px;
  color: var(--color-gray, #707070);
  line-height: 1.6;
  margin: 0 0 auto;
  padding-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-card__meta {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: rgb(137.5, 137.5, 137.5);
  border-top: 1px solid var(--color-border, #dedede);
  padding-top: 12px;
}
.blog-card__sep {
  opacity: 0.4;
}

.blog-sidebar__widget {
  margin-bottom: 32px;
}
.blog-sidebar__widget:last-child {
  margin-bottom: 0;
}
.blog-sidebar__heading {
  font-size: 15px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--brand-primary, #017F1A);
}
.blog-sidebar__categories {
  list-style: none;
  margin: 0;
  padding: 0;
}
.blog-sidebar__categories li {
  border-bottom: 1px solid rgb(229.65, 229.65, 229.65);
}
.blog-sidebar__categories li:last-child {
  border-bottom: none;
}
.blog-sidebar__categories li.is-active a {
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
}
.blog-sidebar__categories li.is-active a .blog-sidebar__cat-count {
  background: var(--brand-primary, #017F1A);
  color: #fff;
}
.blog-sidebar__categories li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  text-decoration: none;
  color: var(--color-black, #1C202B);
  font-size: 14px;
  transition: color var(--transition-fast, 0.15s ease);
}
.blog-sidebar__categories li a:hover {
  color: var(--brand-primary, #017F1A);
}
.blog-sidebar__cat-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  background: var(--color-background, #f3f3f3);
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-gray, #707070);
  transition: all var(--transition-fast, 0.15s ease);
}
.blog-sidebar__popular {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.blog-sidebar__popular-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  text-decoration: none;
  border-bottom: 1px solid rgb(229.65, 229.65, 229.65);
  transition: background var(--transition-fast, 0.15s ease);
}
.blog-sidebar__popular-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.blog-sidebar__popular-item:first-child {
  padding-top: 0;
}
.blog-sidebar__popular-item:hover .blog-sidebar__popular-title {
  color: var(--brand-primary, #017F1A);
}
.blog-sidebar__popular-item:hover .blog-sidebar__popular-image img {
  transform: scale(1.08);
}
.blog-sidebar__popular-image {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  background: var(--color-background, #f3f3f3);
}
.blog-sidebar__popular-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base, 0.3s ease);
}
.blog-sidebar__popular-body {
  flex: 1;
  min-width: 0;
}
.blog-sidebar__popular-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  line-height: 1.4;
  margin: 0 0 4px;
  transition: color var(--transition-fast, 0.15s ease);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-sidebar__popular-date {
  font-size: 11px;
  color: rgb(137.5, 137.5, 137.5);
}

.error-404__hero {
  padding: 80px 0 60px;
  text-align: center;
  background: linear-gradient(180deg, var(--color-background, #f3f3f3) 0%, var(--color-white, #ffffff) 100%);
}
@media all and (max-width: 767px) {
  .error-404__hero {
    padding: 50px 0 40px;
  }
}
.error-404__code {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 30px;
  user-select: none;
}
@media all and (max-width: 767px) {
  .error-404__code {
    gap: 4px;
    margin-bottom: 24px;
  }
}
.error-404__digit {
  font-size: 140px;
  font-weight: 800;
  color: var(--color-black, #1C202B);
  line-height: 1;
  letter-spacing: -4px;
}
@media all and (max-width: 991px) {
  .error-404__digit {
    font-size: 110px;
  }
}
@media all and (max-width: 767px) {
  .error-404__digit {
    font-size: 80px;
    letter-spacing: -2px;
  }
}
.error-404__digit--accent {
  color: var(--brand-primary, #017F1A);
  display: flex;
  align-items: center;
}
.error-404__digit--accent svg {
  width: 120px;
  height: 120px;
}
@media all and (max-width: 991px) {
  .error-404__digit--accent svg {
    width: 95px;
    height: 95px;
  }
}
@media all and (max-width: 767px) {
  .error-404__digit--accent svg {
    width: 68px;
    height: 68px;
  }
}
.error-404__title {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 12px;
  line-height: 1.3;
}
@media all and (max-width: 767px) {
  .error-404__title {
    font-size: 22px;
  }
}
.error-404__desc {
  font-size: 15px;
  color: var(--color-gray, #707070);
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto 36px;
}
@media all and (max-width: 767px) {
  .error-404__desc {
    font-size: 14px;
    margin-bottom: 28px;
  }
}
.error-404__search {
  max-width: 480px;
  margin: 0 auto 36px;
}
@media all and (max-width: 767px) {
  .error-404__search {
    margin-bottom: 28px;
  }
}
.error-404__search-form {
  display: flex;
  border: 2px solid var(--color-border, #dedede);
  border-radius: var(--radius-button, 4px);
  overflow: hidden;
  transition: border-color var(--transition-fast, 0.15s ease);
  background: var(--color-white, #ffffff);
}
.error-404__search-form:focus-within {
  border-color: var(--brand-primary, #017F1A);
}
.error-404__search-input {
  flex: 1;
  padding: 14px 18px;
  border: none;
  outline: none;
  font-size: 15px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  color: var(--color-black, #1C202B);
  background: transparent;
}
.error-404__search-input::placeholder {
  color: rgb(150.25, 150.25, 150.25);
}
.error-404__search-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  border: none;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  cursor: pointer;
  transition: background var(--transition-fast, 0.15s ease);
  white-space: nowrap;
}
.error-404__search-btn:hover {
  background: var(--brand-primary-dark, #015d13);
}
@media all and (max-width: 767px) {
  .error-404__search-btn {
    padding: 14px 16px;
    font-size: 0;
    gap: 0;
  }
  .error-404__search-btn svg {
    width: 22px;
    height: 22px;
  }
}
.error-404__links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
@media all and (max-width: 767px) {
  .error-404__links {
    gap: 10px;
  }
}
.error-404__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-button, 4px);
  color: var(--color-black, #1C202B);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--transition-fast, 0.15s ease);
}
.error-404__link:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  box-shadow: 0 2px 8px rgba(1, 127, 26, 0.12);
}
@media all and (max-width: 767px) {
  .error-404__link {
    padding: 9px 16px;
    font-size: 13px;
  }
}
.error-404__link-icon {
  display: flex;
  color: var(--brand-primary, #017F1A);
}
.error-404__products {
  padding: 50px 0 70px;
}
@media all and (max-width: 767px) {
  .error-404__products {
    padding: 36px 0 50px;
  }
}
.error-404__products-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  text-align: center;
  margin: 0 0 30px;
}
@media all and (max-width: 767px) {
  .error-404__products-title {
    font-size: 19px;
    margin-bottom: 24px;
  }
}
.error-404__products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media all and (max-width: 991px) {
  .error-404__products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media all and (max-width: 767px) {
  .error-404__products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}
.error-404__product-card {
  display: flex;
  flex-direction: column;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.error-404__product-card:hover {
  box-shadow: var(--shadow-md, 0 4px 8px rgba(0, 0, 0, 0.15));
  transform: translateY(-3px);
}
.error-404__product-card:hover .error-404__product-image img {
  transform: scale(1.05);
}
.error-404__product-card:hover .error-404__product-name {
  color: var(--brand-primary, #017F1A);
}
.error-404__product-image {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--color-background, #f3f3f3);
}
.error-404__product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base, 0.3s ease);
}
.error-404__product-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media all and (max-width: 767px) {
  .error-404__product-body {
    padding: 12px;
  }
}
.error-404__product-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  line-height: 1.4;
  margin: 0;
  transition: color var(--transition-fast, 0.15s ease);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .error-404__product-name {
    font-size: 13px;
  }
}
.error-404__product-price {
  font-size: 15px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .error-404__product-price {
    font-size: 14px;
  }
}
.error-404__product-price del {
  color: var(--color-gray, #707070);
  font-weight: 400;
  font-size: 13px;
}
.error-404__product-price ins {
  text-decoration: none;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  display: flex !important;
  align-items: center !important;
  gap: 15px;
  padding: 15px 20px;
  margin: 20px 0;
  border: none !important;
  border-left: 6px solid var(--color-success, #017F1A) !important;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  flex-shrink: 0 !important;
  min-width: 24px !important;
  width: 24px !important;
  height: 24px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background-color: var(--color-success, #017F1A);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
  margin-left: auto;
  white-space: nowrap;
}

.woocommerce-message {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px 20px;
  margin-bottom: 20px;
  background: rgba(var(--color-success, #017F1A), 0.08);
  border-left: 3px solid var(--color-success, #017F1A);
}
.woocommerce-message::before {
  content: "";
  flex-shrink: 0;
  min-width: 20px;
  width: 20px;
  height: 20px;
  background-color: var(--color-success, #017F1A);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
.woocommerce-message::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}
.woocommerce-message a {
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
}
.woocommerce-message a:hover {
  text-decoration: underline;
}
.woocommerce-message .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce-message .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce-message .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce-message .button {
  min-height: 36px;
  padding: 8px 16px;
  font-size: 13px;
  margin-left: auto;
}

ul.woocommerce-error,
.woocommerce-error {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px;
  list-style: none !important;
  margin: 20px 0 !important;
  padding: 15px 20px !important;
  padding-left: 55px !important;
  background: rgba(var(--color-error, #C70004), 0.05) !important;
  border: none !important;
  border-left: 6px solid var(--color-error, #C70004) !important;
}
ul.woocommerce-error::before,
.woocommerce-error::before {
  content: "" !important;
  position: absolute !important;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  background-color: var(--color-error, #C70004) !important;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}
ul.woocommerce-error li,
.woocommerce-error li {
  margin: 0;
  padding: 0;
  width: 100%;
}
ul.woocommerce-error li::before,
.woocommerce-error li::before {
  display: none !important;
}
ul.woocommerce-error a,
.woocommerce-error a {
  color: var(--color-error, #C70004);
  font-weight: 600;
}

.woocommerce-info {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px 20px;
  margin-bottom: 20px;
  background: rgba(0, 146, 255, 0.08);
  border-left: 3px solid #0092FF;
}
.woocommerce-info::before {
  content: "";
  flex-shrink: 0;
  min-width: 20px;
  width: 20px;
  height: 20px;
  background-color: #0092FF;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
.woocommerce-info::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}
.woocommerce-info a {
  color: #0092FF;
  font-weight: 600;
}
.woocommerce-info a:hover {
  text-decoration: underline;
}
.woocommerce-info .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce-info .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce-info .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce-info .button {
  background: transparent;
  color: var(--color-black, #1C202B);
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce-info .button:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  background: transparent;
}
.woocommerce-info .button {
  min-height: 36px;
  padding: 8px 16px;
  font-size: 13px;
  margin-left: auto;
}

.woocommerce-NoticeGroup {
  margin-bottom: 20px;
}
.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-info {
  margin-bottom: 10px;
}
.woocommerce-NoticeGroup .woocommerce-error:last-child,
.woocommerce-NoticeGroup .woocommerce-message:last-child,
.woocommerce-NoticeGroup .woocommerce-info:last-child {
  margin-bottom: 0;
}

.woocommerce-store-notice,
.demo_store {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px 20px;
  background: var(--brand-secondary, #1C202B);
  color: var(--color-white, #ffffff);
  text-align: center;
  font-size: 13px;
  z-index: 9999;
}
.woocommerce-store-notice a,
.demo_store a {
  color: var(--brand-primary, #017F1A);
  margin-left: 10px;
}

.single-product .woocommerce-notices-wrapper {
  max-width: 100%;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .single-product .woocommerce-notices-wrapper {
    max-width: var(--space-container-max-lg, 992px);
  }
}
@media (min-width: 1200px) {
  .single-product .woocommerce-notices-wrapper {
    max-width: var(--space-container-max-xl, 1160px);
  }
}
@media (min-width: 1700px) {
  .single-product .woocommerce-notices-wrapper {
    max-width: var(--space-container-max-big, 1450px);
  }
}
.single-product .woocommerce-message,
.single-product .woocommerce-error,
.single-product .woocommerce-info {
  max-width: 100%;
  margin-left: var(--space-container-x, 15px);
  margin-right: var(--space-container-x, 15px);
  display: flex !important;
  align-items: center;
  gap: 12px;
}
@media (min-width: 1700px) {
  .single-product .woocommerce-message,
  .single-product .woocommerce-error,
  .single-product .woocommerce-info {
    margin-left: var(--space-container-x, 15px);
    margin-right: var(--space-container-x, 15px);
  }
}
.single-product .woocommerce-message > .button,
.single-product .woocommerce-message > .restore-item,
.single-product .woocommerce-message > a.button,
.single-product .woocommerce-error > .button,
.single-product .woocommerce-error > .restore-item,
.single-product .woocommerce-error > a.button,
.single-product .woocommerce-info > .button,
.single-product .woocommerce-info > .restore-item,
.single-product .woocommerce-info > a.button {
  margin-left: auto !important;
  flex-shrink: 0;
}

.woocommerce form .form-row {
  margin-bottom: 15px;
  width: 100%;
  box-sizing: border-box;
}
.woocommerce form .form-row label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.woocommerce form .form-row label .required {
  color: var(--color-error, #C70004);
  margin-left: 2px;
}
.woocommerce form .form-row label .optional {
  color: var(--color-gray, #707070);
  font-weight: 400;
  font-size: 12px;
}
.woocommerce form .form-row.form-row-wide {
  width: 100%;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
}
.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
  flex: 1 1 100%;
}
.woocommerce-billing-fields__field-wrapper .form-row.form-row-first, .woocommerce-billing-fields__field-wrapper .form-row.form-row-last,
.woocommerce-shipping-fields__field-wrapper .form-row.form-row-first,
.woocommerce-shipping-fields__field-wrapper .form-row.form-row-last {
  flex: 1 1 calc(50% - 10px);
  min-width: 200px;
}
@media all and (max-width: 767px) {
  .woocommerce-billing-fields__field-wrapper .form-row.form-row-first, .woocommerce-billing-fields__field-wrapper .form-row.form-row-last,
  .woocommerce-shipping-fields__field-wrapper .form-row.form-row-first,
  .woocommerce-shipping-fields__field-wrapper .form-row.form-row-last {
    flex: 1 1 100%;
  }
}

.woocommerce form input[type=text],
.woocommerce form input[type=email],
.woocommerce form input[type=tel],
.woocommerce form input[type=password],
.woocommerce form input[type=number],
.woocommerce form input[type=url],
.woocommerce form input[type=search] {
  width: 100%;
  height: 48px;
  padding: 12px 15px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  color: var(--color-black, #1C202B);
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 0;
  transition: border-color var(--transition-base, 0.3s ease), box-shadow var(--transition-base, 0.3s ease);
}
.woocommerce form input[type=text]:focus,
.woocommerce form input[type=email]:focus,
.woocommerce form input[type=tel]:focus,
.woocommerce form input[type=password]:focus,
.woocommerce form input[type=number]:focus,
.woocommerce form input[type=url]:focus,
.woocommerce form input[type=search]:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
}
.woocommerce form input[type=text]::placeholder,
.woocommerce form input[type=email]::placeholder,
.woocommerce form input[type=tel]::placeholder,
.woocommerce form input[type=password]::placeholder,
.woocommerce form input[type=number]::placeholder,
.woocommerce form input[type=url]::placeholder,
.woocommerce form input[type=search]::placeholder {
  color: var(--color-gray, #707070);
}
.woocommerce form textarea {
  width: 100%;
  height: 48px;
  padding: 12px 15px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  color: var(--color-black, #1C202B);
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 0;
  transition: border-color var(--transition-base, 0.3s ease), box-shadow var(--transition-base, 0.3s ease);
}
.woocommerce form textarea:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
}
.woocommerce form textarea::placeholder {
  color: var(--color-gray, #707070);
}
.woocommerce form textarea {
  height: auto;
  min-height: 120px;
  resize: vertical;
}
.woocommerce form select {
  width: 100%;
  height: 48px;
  padding: 12px 15px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  color: var(--color-black, #1C202B);
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 0;
  transition: border-color var(--transition-base, 0.3s ease), box-shadow var(--transition-base, 0.3s ease);
}
.woocommerce form select:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
}
.woocommerce form select::placeholder {
  color: var(--color-gray, #707070);
}
.woocommerce form select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23707070' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  padding-right: 40px;
  cursor: pointer;
}
.woocommerce form .woocommerce-invalid input,
.woocommerce form .woocommerce-invalid select,
.woocommerce form .woocommerce-invalid textarea {
  border-color: var(--color-error, #C70004);
}
.woocommerce form .woocommerce-invalid input:focus,
.woocommerce form .woocommerce-invalid select:focus,
.woocommerce form .woocommerce-invalid textarea:focus {
  border-color: var(--color-error, #C70004);
  box-shadow: 0 0 0 2px rgba(var(--color-error, #C70004), 0.1);
}
.woocommerce form .woocommerce-validated input {
  border-color: var(--color-success, #017F1A);
}

.woocommerce form .form-row.woocommerce-validated input[type=checkbox] + label::before,
.woocommerce form .form-row.woocommerce-validated input[type=radio] + label::before, .woocommerce form .form-row.woocommerce-invalid input[type=checkbox] + label::before,
.woocommerce form .form-row.woocommerce-invalid input[type=radio] + label::before {
  border-color: inherit;
}

.woocommerce input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.woocommerce input[type=checkbox] + label,
.woocommerce input[type=checkbox] + span {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  padding-left: 0;
  cursor: pointer;
  font-weight: 400;
}
.woocommerce input[type=checkbox] + label::before,
.woocommerce input[type=checkbox] + span::before {
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-border, #dedede);
  background: var(--color-white, #ffffff);
  transition: all var(--transition-base, 0.3s ease);
}
.woocommerce input[type=checkbox] + label::after,
.woocommerce input[type=checkbox] + span::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 12px;
  height: 12px;
  background: var(--brand-primary, #017F1A);
  transform: scale(0);
  transition: transform var(--transition-base, 0.3s ease);
}
.woocommerce input[type=checkbox]:checked + label::after, .woocommerce input[type=checkbox]:checked + span::after {
  transform: scale(1);
}
.woocommerce input[type=checkbox]:focus + label::before, .woocommerce input[type=checkbox]:focus + span::before {
  border-color: var(--brand-primary, #017F1A);
}

.woocommerce input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.woocommerce input[type=radio] + label,
.woocommerce input[type=radio] + span {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  padding-left: 0;
  cursor: pointer;
  font-weight: 400;
}
.woocommerce input[type=radio] + label::before,
.woocommerce input[type=radio] + span::before {
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-border, #dedede);
  border-radius: 50%;
  background: var(--color-white, #ffffff);
  transition: all var(--transition-base, 0.3s ease);
}
.woocommerce input[type=radio] + label::after,
.woocommerce input[type=radio] + span::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--brand-primary, #017F1A);
  transform: scale(0);
  transition: transform var(--transition-base, 0.3s ease);
}
.woocommerce input[type=radio]:checked + label::after, .woocommerce input[type=radio]:checked + span::after {
  transform: scale(1);
}
.woocommerce input[type=radio]:focus + label::before, .woocommerce input[type=radio]:focus + span::before {
  border-color: var(--brand-primary, #017F1A);
}

.woocommerce-password-strength {
  margin-top: 10px;
  padding: 8px 12px;
  font-size: 13px;
  text-align: center;
}
.woocommerce-password-strength.short {
  background: rgba(var(--color-error, #C70004), 0.1);
  color: var(--color-error, #C70004);
}
.woocommerce-password-strength.bad {
  background: rgba(243, 156, 18, 0.1);
  color: #f39c12;
}
.woocommerce-password-strength.good {
  background: rgba(0, 146, 255, 0.1);
  color: #0092FF;
}
.woocommerce-password-strength.strong {
  background: rgba(var(--color-success, #017F1A), 0.1);
  color: var(--color-success, #017F1A);
}

.woocommerce-password-hint {
  margin-top: 5px;
  font-size: 12px;
  color: var(--color-gray, #707070);
}

.woocommerce .select2-container {
  width: 100% !important;
}
.woocommerce .select2-container .select2-selection--single {
  width: 100%;
  height: 48px;
  padding: 12px 15px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  color: var(--color-black, #1C202B);
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 0;
  transition: border-color var(--transition-base, 0.3s ease), box-shadow var(--transition-base, 0.3s ease);
}
.woocommerce .select2-container .select2-selection--single:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
}
.woocommerce .select2-container .select2-selection--single::placeholder {
  color: var(--color-gray, #707070);
}
.woocommerce .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: inherit;
  color: var(--color-black, #1C202B);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: 12px;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow b {
  border-color: var(--color-gray, #707070) transparent transparent;
}
.woocommerce .select2-container.select2-container--open .select2-selection--single {
  border-color: var(--brand-primary, #017F1A);
}

.select2-dropdown {
  border: 1px solid var(--color-border, #dedede);
  border-radius: 0;
}
.select2-dropdown .select2-search__field {
  width: 100%;
  height: 48px;
  padding: 12px 15px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  color: var(--color-black, #1C202B);
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 0;
  transition: border-color var(--transition-base, 0.3s ease), box-shadow var(--transition-base, 0.3s ease);
}
.select2-dropdown .select2-search__field:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
}
.select2-dropdown .select2-search__field::placeholder {
  color: var(--color-gray, #707070);
}
.select2-dropdown .select2-search__field {
  height: 40px;
}
.select2-dropdown .select2-results__option {
  padding: 10px 15px;
}
.select2-dropdown .select2-results__option--highlighted {
  background: var(--color-background, #f3f3f3);
  color: var(--color-black, #1C202B);
}
.select2-dropdown .select2-results__option--selected {
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}

.woocommerce form button[type=submit],
.woocommerce form input[type=submit],
.woocommerce form .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce form button[type=submit]:hover,
.woocommerce form input[type=submit]:hover,
.woocommerce form .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce form button[type=submit]:disabled,
.woocommerce form input[type=submit]:disabled,
.woocommerce form .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce .button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce a.button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce .button.alt:disabled,
.woocommerce button.button.alt:disabled,
.woocommerce input.button.alt:disabled,
.woocommerce a.button.alt:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce .button:disabled, .woocommerce .button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button.disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.woocommerce .button.loading,
.woocommerce button.button.loading,
.woocommerce input.button.loading,
.woocommerce a.button.loading {
  position: relative;
  color: transparent;
  pointer-events: none;
}
.woocommerce .button.loading::after,
.woocommerce button.button.loading::after,
.woocommerce input.button.loading::after,
.woocommerce a.button.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid var(--color-white, #ffffff);
  border-top-color: transparent;
  border-radius: 50%;
  animation: woo-spin 0.8s linear infinite;
}
.woocommerce .checkout-button,
.woocommerce .wc-proceed-to-checkout .checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce .checkout-button:hover,
.woocommerce .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce .checkout-button:disabled,
.woocommerce .wc-proceed-to-checkout .checkout-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce .checkout-button,
.woocommerce .wc-proceed-to-checkout .checkout-button {
  width: 100%;
  font-size: 16px;
  min-height: 54px;
}
.woocommerce .added_to_cart,
.woocommerce .return-to-shop .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce .added_to_cart:hover,
.woocommerce .return-to-shop .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce .added_to_cart:disabled,
.woocommerce .return-to-shop .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce .added_to_cart,
.woocommerce .return-to-shop .button {
  background: transparent;
  color: var(--color-black, #1C202B);
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce .added_to_cart:hover,
.woocommerce .return-to-shop .button:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  background: transparent;
}
.woocommerce .button.button-small,
.woocommerce .woocommerce-orders-table__cell-order-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce .button.button-small:hover,
.woocommerce .woocommerce-orders-table__cell-order-actions .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce .button.button-small:disabled,
.woocommerce .woocommerce-orders-table__cell-order-actions .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce .button.button-small,
.woocommerce .woocommerce-orders-table__cell-order-actions .button {
  background: transparent;
  color: var(--color-black, #1C202B);
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce .button.button-small:hover,
.woocommerce .woocommerce-orders-table__cell-order-actions .button:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  background: transparent;
}
.woocommerce .button.button-small,
.woocommerce .woocommerce-orders-table__cell-order-actions .button {
  min-height: 36px;
  padding: 8px 16px;
  font-size: 13px;
}
.woocommerce .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-error, #C70004);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color var(--transition-base, 0.3s ease), background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce .remove:hover {
  color: var(--color-white, #ffffff);
  background: var(--color-error, #C70004);
}
.woocommerce a.edit {
  color: var(--brand-primary, #017F1A);
  font-size: 13px;
  text-decoration: none;
}
.woocommerce a.edit:hover {
  text-decoration: underline;
}

@keyframes woo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.woocommerce ul.products li.product .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce ul.products li.product .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce ul.products li.product .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce ul.products li.product .button {
  width: 100%;
  margin-top: auto;
}
.woocommerce ul.products li.product .added_to_cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce ul.products li.product .added_to_cart:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce ul.products li.product .added_to_cart:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce ul.products li.product .added_to_cart {
  background: transparent;
  color: var(--color-black, #1C202B);
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce ul.products li.product .added_to_cart:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  background: transparent;
}
.woocommerce ul.products li.product .added_to_cart {
  width: 100%;
  margin-top: 10px;
}

.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td,
.woocommerce-page table.shop_table th,
.woocommerce-page table.shop_table td {
  padding: 15px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
  background: var(--color-background, #f3f3f3);
  font-weight: 600;
  color: var(--color-black, #1C202B);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.woocommerce table.shop_table tbody tr:hover,
.woocommerce-page table.shop_table tbody tr:hover {
  background: var(--color-background-alt, #f9f9f9);
}
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
  margin-bottom: 20px;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td,
.woocommerce-page table.shop_table th,
.woocommerce-page table.shop_table td {
  vertical-align: middle;
}

.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce-orders-table th, .woocommerce-orders-table td {
  padding: 15px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.woocommerce-orders-table th {
  background: var(--color-background, #f3f3f3);
  font-weight: 600;
  color: var(--color-black, #1C202B);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.woocommerce-orders-table tbody tr:hover {
  background: var(--color-background-alt, #f9f9f9);
}
@media all and (max-width: 767px) {
  .woocommerce-orders-table {
    display: block;
  }
  .woocommerce-orders-table thead {
    display: none;
  }
  .woocommerce-orders-table tbody {
    display: block;
  }
  .woocommerce-orders-table tr {
    display: block;
    margin-bottom: 15px;
    padding: 15px;
    border: 1px solid var(--color-border, #dedede);
    background: var(--color-white, #ffffff);
  }
  .woocommerce-orders-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border: none;
    border-bottom: 1px solid var(--color-background, #f3f3f3);
  }
  .woocommerce-orders-table td::before {
    content: attr(data-title);
    font-weight: 600;
    color: var(--color-gray, #707070);
    font-size: 13px;
  }
  .woocommerce-orders-table td:last-child {
    border-bottom: none;
  }
}
.woocommerce-orders-table__cell-order-number a {
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
}
.woocommerce-orders-table__cell-order-number a:hover {
  text-decoration: underline;
}
.woocommerce-orders-table__cell-order-status mark {
  background: none;
  padding: 0;
}
.woocommerce-orders-table__cell-order-actions .button {
  margin-right: 5px;
  margin-bottom: 5px;
}
.woocommerce-orders-table__cell-order-actions .button:last-child {
  margin-right: 0;
}
@media all and (max-width: 767px) {
  .woocommerce-orders-table__cell-order-actions {
    flex-direction: column;
    align-items: flex-end;
  }
  .woocommerce-orders-table__cell-order-actions::before {
    display: none;
  }
  .woocommerce-orders-table__cell-order-actions .button {
    margin-right: 0;
    width: 100%;
  }
}

.woocommerce-orders-table__cell-order-status.order-status,
.woocommerce-order-data mark.order-status {
  font-weight: 600;
  font-size: 13px;
}

mark.order-status {
  background: none !important;
}
mark.order-status::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
}

.order-status-completed,
.order-status-wc-completed {
  color: var(--color-success, #017F1A);
}
.order-status-completed::before,
.order-status-wc-completed::before {
  background: var(--color-success, #017F1A);
}

.order-status-processing,
.order-status-wc-processing {
  color: #0092FF;
}
.order-status-processing::before,
.order-status-wc-processing::before {
  background: #0092FF;
}

.order-status-on-hold,
.order-status-wc-on-hold {
  color: #f39c12;
}
.order-status-on-hold::before,
.order-status-wc-on-hold::before {
  background: #f39c12;
}

.order-status-pending,
.order-status-wc-pending {
  color: var(--color-gray, #707070);
}
.order-status-pending::before,
.order-status-wc-pending::before {
  background: var(--color-gray, #707070);
}

.order-status-cancelled,
.order-status-wc-cancelled,
.order-status-refunded,
.order-status-wc-refunded,
.order-status-failed,
.order-status-wc-failed {
  color: var(--color-error, #C70004);
}
.order-status-cancelled::before,
.order-status-wc-cancelled::before,
.order-status-refunded::before,
.order-status-wc-refunded::before,
.order-status-failed::before,
.order-status-wc-failed::before {
  background: var(--color-error, #C70004);
}

.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce-table--order-details th, .woocommerce-table--order-details td {
  padding: 15px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.woocommerce-table--order-details th {
  background: var(--color-background, #f3f3f3);
  font-weight: 600;
  color: var(--color-black, #1C202B);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.woocommerce-table--order-details tbody tr:hover {
  background: var(--color-background-alt, #f9f9f9);
}
.woocommerce-table--order-details .product-thumbnail {
  width: 80px;
}
.woocommerce-table--order-details .product-thumbnail img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce-table--order-details .product-name a {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
.woocommerce-table--order-details .product-name a:hover {
  color: var(--brand-primary, #017F1A);
}
.woocommerce-table--order-details .product-name .wc-item-meta {
  margin-top: 5px;
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.woocommerce-table--order-details .product-name .wc-item-meta li {
  margin: 0;
}
.woocommerce-table--order-details .product-name .wc-item-meta li p {
  margin: 0;
}
.woocommerce-table--order-details tfoot th, .woocommerce-table--order-details tfoot td {
  background: var(--color-background, #f3f3f3);
}
.woocommerce-table--order-details tfoot tr:last-child th, .woocommerce-table--order-details tfoot tr:last-child td {
  font-weight: 700;
  font-size: 16px;
}

.woocommerce-customer-details .woocommerce-column {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .woocommerce-customer-details .woocommerce-column {
    display: inline-block;
    width: calc(50% - 20px);
    vertical-align: top;
  }
  .woocommerce-customer-details .woocommerce-column:first-child {
    margin-right: 40px;
  }
}
.woocommerce-customer-details__title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.woocommerce-customer-details address {
  font-style: normal;
  line-height: 1.7;
  color: var(--color-black, #1C202B);
}
.woocommerce-customer-details address p {
  margin: 0;
}

.woocommerce-orders-table--empty,
.woocommerce-message.woocommerce-message--info {
  text-align: center;
  padding: 40px;
}

.woocommerce-account .woocommerce {
  max-width: var(--space-container-max-xl, 1160px);
  margin: 0 auto;
  padding: 30px var(--space-container-x, 15px);
}
@media all and (max-width: 767px) {
  .woocommerce-account .woocommerce {
    padding: 20px var(--space-container-x, 15px);
  }
}

.woocommerce-MyAccount-wrapper {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 40px;
  align-items: start;
}
@media all and (max-width: 991px) {
  .woocommerce-MyAccount-wrapper {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.woocommerce-MyAccount-navigation {
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  padding: 20px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--color-background, #f3f3f3);
}
.woocommerce-MyAccount-navigation li:last-child {
  border-bottom: none;
}
.woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  color: var(--color-black, #1C202B);
  text-decoration: none;
  font-size: 14px;
  transition: all var(--transition-base, 0.3s ease);
}
.woocommerce-MyAccount-navigation li a::before {
  content: "";
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-color: var(--color-gray, #707070);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transition: background-color var(--transition-base, 0.3s ease);
}
.woocommerce-MyAccount-navigation li a:hover {
  background: var(--color-background, #f3f3f3);
  color: var(--brand-primary, #017F1A);
}
.woocommerce-MyAccount-navigation li a:hover::before {
  background-color: var(--brand-primary, #017F1A);
}
.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-weight: 600;
}
.woocommerce-MyAccount-navigation li.is-active a::before {
  background-color: var(--color-white, #ffffff);
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--dashboard a::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--orders a::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--downloads a::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--edit-address a::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--edit-account a::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--payment-methods a::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-content {
  min-width: 0;
}
.woocommerce-MyAccount-content > p:first-child {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 20px;
}
.woocommerce-MyAccount-content > p:first-child strong {
  color: var(--brand-primary, #017F1A);
}
.woocommerce-MyAccount-content > p:first-child a {
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
}
.woocommerce-MyAccount-content > p:first-child a:hover {
  text-decoration: underline;
}
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 15px;
  color: var(--color-black, #1C202B);
}

.woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media all and (max-width: 767px) {
  .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

.woocommerce-Address {
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  padding: 20px;
}
.woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.woocommerce-Address-title h3 {
  margin: 0;
  font-size: 16px;
}
.woocommerce-Address-title .edit {
  color: var(--brand-primary, #017F1A);
  font-size: 13px;
}
.woocommerce-Address-title .edit:hover {
  text-decoration: underline;
}
.woocommerce-Address address {
  font-style: normal;
  line-height: 1.7;
  color: var(--color-black, #1C202B);
}

.woocommerce-address-fields {
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  padding: 20px;
  margin-top: 20px;
}
.woocommerce-address-fields h3 {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.woocommerce-address-fields .woocommerce-address-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
}

.woocommerce-EditAccountForm {
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  padding: 20px;
}
.woocommerce-EditAccountForm fieldset {
  border: none;
  padding: 0;
  margin: 30px 0 0;
}
.woocommerce-EditAccountForm fieldset legend {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #dedede);
  width: 100%;
}
.woocommerce-EditAccountForm .clear {
  margin-top: 20px;
}

.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info {
  text-align: center;
}
.woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-MyAccount-content .woocommerce-info .button {
  margin-top: 15px;
}

@media all and (max-width: 991px) {
  .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }
  .woocommerce-MyAccount-navigation li {
    flex: 1 1 auto;
    border: none;
  }
  .woocommerce-MyAccount-navigation li a {
    padding: 10px 15px;
    font-size: 13px;
    justify-content: center;
    border: 1px solid var(--color-border, #dedede);
  }
  .woocommerce-MyAccount-navigation li a::before {
    width: 16px;
    height: 16px;
  }
  .woocommerce-MyAccount-navigation li.is-active a {
    border-color: var(--brand-primary, #017F1A);
  }
}
.woocommerce-cart .single-page.page {
  padding: 0 !important;
  max-width: none !important;
}
.woocommerce-cart .single-page.page table th {
  background-color: transparent !important;
  color: inherit !important;
  border: none !important;
}
.woocommerce-cart .single-page.page table td {
  border: none !important;
}
.woocommerce-cart .single-page.page > .woocommerce,
.woocommerce-cart .single-page.page > div {
  max-width: 100% !important;
}

.woocommerce-cart {
  background: var(--color-background, #f3f3f3);
}
.woocommerce-cart .woocommerce {
  padding-top: 48px;
  padding-bottom: 80px;
}
@media all and (max-width: 991px) {
  .woocommerce-cart .woocommerce {
    padding-top: 24px;
    padding-bottom: 48px;
  }
}

.woocommerce-cart .woocommerce > h1,
.woocommerce-cart .woocommerce > .page-title {
  font-size: 26px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin-bottom: 32px;
  padding-bottom: 0;
  border: none;
  letter-spacing: -0.02em;
}

.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 40px;
  align-items: start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .woocommerce-info,
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-error {
  grid-column: 1/-1;
}
@media (max-width: 1200px) {
  .woocommerce-cart .woocommerce {
    grid-template-columns: 1fr 360px;
    gap: 32px;
  }
}
@media all and (max-width: 991px) {
  .woocommerce-cart .woocommerce {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.woocommerce-cart-form {
  margin-bottom: 0;
  position: relative;
}

.woocommerce table.shop_table.cart {
  width: 100%;
  border: none;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  overflow: hidden;
}
.woocommerce table.shop_table.cart thead th {
  padding: 14px 16px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--color-gray, #707070);
  border: none !important;
  border-bottom: 1px solid rgba(222, 222, 222, 0.5) !important;
  background: var(--color-white, #ffffff) !important;
}
.woocommerce table.shop_table.cart thead th:first-child {
  padding-left: 24px;
}
.woocommerce table.shop_table.cart thead th:last-child {
  text-align: center;
  padding-right: 20px;
}
.woocommerce table.shop_table.cart tbody tr.cart_item td {
  padding: 24px 16px;
  border: none !important;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4) !important;
  vertical-align: middle;
  background: var(--color-white, #ffffff);
}
.woocommerce table.shop_table.cart tbody tr.cart_item td:first-child {
  padding-left: 24px;
}
.woocommerce table.shop_table.cart tbody tr.cart_item td:last-child {
  padding-right: 20px;
}
.woocommerce table.shop_table.cart tbody tr.cart_item:first-child td:first-child {
  border-top-left-radius: 8px;
}
.woocommerce table.shop_table.cart tbody tr.cart_item:first-child td:last-child {
  border-top-right-radius: 8px;
}
.woocommerce table.shop_table.cart tbody tr.cart_item:last-child td {
  border-bottom: none !important;
}
.woocommerce table.shop_table.cart tbody tr.cart_item:last-child td:first-child {
  border-bottom-left-radius: 8px;
}
.woocommerce table.shop_table.cart tbody tr.cart_item:last-child td:last-child {
  border-bottom-right-radius: 8px;
}
.woocommerce table.shop_table.cart .product-thumbnail {
  width: 110px;
}
.woocommerce table.shop_table.cart .product-thumbnail img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  background: var(--color-background, #f3f3f3);
  padding: 4px;
  border: 1px solid rgba(222, 222, 222, 0.5);
}
.woocommerce table.shop_table.cart .product-name a {
  color: var(--color-black, #1C202B);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.45;
  display: block;
  transition: color var(--transition-fast, 0.15s ease);
}
.woocommerce table.shop_table.cart .product-name a:hover {
  color: var(--brand-primary, #017F1A);
}
.woocommerce table.shop_table.cart .product-name .variation {
  margin-top: 6px;
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.woocommerce table.shop_table.cart .product-name .variation dt, .woocommerce table.shop_table.cart .product-name .variation dd {
  display: inline;
  margin: 0;
}
.woocommerce table.shop_table.cart .product-name .variation dt {
  font-weight: 600;
}
.woocommerce table.shop_table.cart .product-name .variation p {
  margin: 0;
}
.woocommerce table.shop_table.cart .product-price {
  color: var(--color-gray, #707070);
  font-size: 15px;
  white-space: nowrap;
}
.woocommerce table.shop_table.cart .product-subtotal {
  text-align: right;
  font-weight: 700;
  font-size: 17px;
  color: var(--color-black, #1C202B);
  white-space: nowrap;
}
.woocommerce table.shop_table.cart .product-remove {
  width: 48px;
  text-align: center;
}
.woocommerce table.shop_table.cart .product-remove .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 20px;
  line-height: 1;
  color: var(--color-error, #C70004);
  background: rgba(199, 0, 4, 0.06);
  border: 1px solid rgba(199, 0, 4, 0.35);
  border-radius: 50%;
  transition: all 0.2s;
  text-decoration: none;
}
.woocommerce table.shop_table.cart .product-remove .remove:hover {
  color: var(--color-white, #ffffff);
  background: var(--color-error, #C70004);
  border-color: var(--color-error, #C70004);
}
@media all and (max-width: 767px) {
  .woocommerce table.shop_table.cart {
    display: block !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .woocommerce table.shop_table.cart thead {
    display: none !important;
  }
  .woocommerce table.shop_table.cart tbody {
    display: block !important;
  }
  .woocommerce table.shop_table.cart tr.cart_item {
    display: grid !important;
    grid-template-columns: 72px 1fr;
    grid-template-rows: auto auto auto;
    gap: 4px 14px;
    padding: 16px;
    margin-bottom: 12px;
    background: var(--color-white, #ffffff) !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    position: relative;
  }
  .woocommerce table.shop_table.cart tr.cart_item td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
    width: auto !important;
    text-align: left !important;
    float: none !important;
  }
  .woocommerce table.shop_table.cart tr.cart_item td::before {
    display: none !important;
    content: none !important;
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-thumbnail {
    grid-column: 1 !important;
    grid-row: 1/3 !important;
    width: auto;
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-thumbnail img {
    width: 64px;
    height: 64px;
    padding: 2px;
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding-right: 48px !important;
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-name a {
    font-size: 14px;
    line-height: 1.35;
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-price {
    grid-column: 2 !important;
    grid-row: 2 !important;
    font-size: 13px;
    color: var(--color-gray, #707070);
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-quantity {
    grid-column: 1/2 !important;
    grid-row: 3 !important;
    margin-top: 10px;
    align-self: center;
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-subtotal {
    grid-column: 2 !important;
    grid-row: 3 !important;
    text-align: right !important;
    align-self: center;
    margin-top: 10px;
    font-size: 16px;
    font-weight: 700;
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-remove {
    position: absolute !important;
    top: 10px;
    right: 6px;
    width: auto !important;
    z-index: 2;
  }
  .woocommerce table.shop_table.cart tr.cart_item .product-remove .remove {
    width: 34px;
    height: 34px;
    font-size: 18px;
  }
  .woocommerce table.shop_table.cart tr.actions {
    display: block !important;
    padding: 12px 0 0;
  }
  .woocommerce table.shop_table.cart tr.actions td {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    text-align: left !important;
  }
}

.woocommerce .quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-border, #dedede);
  border-radius: 4px;
  overflow: hidden;
}
.woocommerce .quantity .qty {
  width: 44px;
  height: 40px;
  padding: 0;
  text-align: center;
  border: none;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  -moz-appearance: textfield;
  background: var(--color-white, #ffffff);
}
.woocommerce .quantity .qty::-webkit-outer-spin-button, .woocommerce .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.woocommerce .quantity .qty:focus {
  outline: none;
}
.woocommerce .quantity .minus, .woocommerce .quantity .plus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  background: var(--color-background, #f3f3f3);
  border: none;
  cursor: pointer;
  transition: all var(--transition-fast, 0.15s ease);
  user-select: none;
}
.woocommerce .quantity .minus:hover, .woocommerce .quantity .plus:hover {
  background: var(--brand-primary, #017F1A);
  color: #fff;
}
.woocommerce .quantity .minus:active, .woocommerce .quantity .plus:active {
  transform: scale(0.92);
}

.woocommerce table.cart td.actions {
  padding: 20px 24px;
  border: none !important;
  background: var(--color-white, #ffffff) !important;
}
@media all and (max-width: 767px) {
  .woocommerce table.cart td.actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
}
.woocommerce table.cart td.actions .button[name=update_cart] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce table.cart td.actions .button[name=update_cart]:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce table.cart td.actions .button[name=update_cart]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce table.cart td.actions .button[name=update_cart] {
  background: transparent;
  color: var(--color-black, #1C202B);
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce table.cart td.actions .button[name=update_cart]:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  background: transparent;
}
.woocommerce table.cart td.actions .button[name=update_cart] {
  float: right;
  font-size: 13px;
  border-radius: 4px;
}
@media all and (max-width: 767px) {
  .woocommerce table.cart td.actions .button[name=update_cart] {
    float: none;
    width: 100%;
    order: 2;
  }
}
.woocommerce table.cart td.actions .button[name=update_cart]:disabled {
  opacity: 0.35;
}

.woocommerce .coupon {
  display: flex;
  gap: 8px;
  float: left;
}
@media all and (max-width: 767px) {
  .woocommerce .coupon {
    float: none;
    width: 100%;
    flex-direction: column;
  }
}
.woocommerce .coupon label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.woocommerce .coupon #coupon_code {
  width: 100%;
  height: 48px;
  padding: 12px 15px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  color: var(--color-black, #1C202B);
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 0;
  transition: border-color var(--transition-base, 0.3s ease), box-shadow var(--transition-base, 0.3s ease);
}
.woocommerce .coupon #coupon_code:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
}
.woocommerce .coupon #coupon_code::placeholder {
  color: var(--color-gray, #707070);
}
.woocommerce .coupon #coupon_code {
  width: 220px;
  height: 44px;
  border-radius: 4px;
  font-size: 13px;
}
@media all and (max-width: 767px) {
  .woocommerce .coupon #coupon_code {
    width: 100%;
  }
}
.woocommerce .coupon #coupon_code::placeholder {
  font-size: 13px;
}
.woocommerce .coupon .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce .coupon .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce .coupon .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce .coupon .button {
  background: transparent;
  color: var(--color-black, #1C202B);
  border: 1px solid var(--color-border, #dedede);
}
.woocommerce .coupon .button:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  background: transparent;
}
.woocommerce .coupon .button {
  height: 44px;
  white-space: nowrap;
  font-size: 13px;
  border-radius: 4px;
}
@media all and (max-width: 767px) {
  .woocommerce .coupon .button {
    width: 100%;
  }
}

.cart-collaterals {
  min-width: 0;
}

.cart_totals {
  background: var(--color-white, #ffffff);
  padding: 24px 28px 28px;
  position: sticky;
  top: 20px;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  border: 1px solid rgba(222, 222, 222, 0.6);
  border-radius: 8px;
}
@media all and (max-width: 991px) {
  .cart_totals {
    position: static;
    border-radius: 8px;
  }
}
.cart_totals > h2 {
  font-size: 18px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: -0.01em;
  color: var(--color-black, #1C202B);
  margin: 0 0 16px !important;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-black, #1C202B);
}
.cart_totals table {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  margin-bottom: 0;
}
.cart_totals table thead, .cart_totals table tbody {
  display: contents;
}
.cart_totals table tr {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 14px;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
}
.cart_totals table th, .cart_totals table td {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  width: auto !important;
}
.cart_totals table th {
  flex: 0 0 auto;
  text-align: left;
  font-weight: 400 !important;
  color: var(--color-gray, #707070) !important;
  font-size: 14px;
}
.cart_totals table td {
  flex: 1 1 auto;
  text-align: right;
  font-size: 15px;
  color: var(--color-black, #1C202B);
}
.cart_totals table .woocommerce-shipping-totals,
.cart_totals table tr.shipping {
  flex-direction: column;
  align-items: stretch;
  padding: 18px 14px !important;
}
.cart_totals table .woocommerce-shipping-totals th, .cart_totals table .woocommerce-shipping-totals td,
.cart_totals table tr.shipping th,
.cart_totals table tr.shipping td {
  text-align: left !important;
  width: 100% !important;
}
.cart_totals table .woocommerce-shipping-totals th,
.cart_totals table tr.shipping th {
  padding-bottom: 12px !important;
}
.cart_totals table .woocommerce-shipping-totals td,
.cart_totals table tr.shipping td {
  font-size: 14px;
}
.cart_totals table .order-total th, .cart_totals table .order-total td {
  border-bottom: none !important;
  padding-top: 20px !important;
}
.cart_totals table .order-total th {
  font-size: 16px;
  font-weight: 700 !important;
  color: var(--color-black, #1C202B) !important;
}
.cart_totals table .order-total td {
  font-size: 28px;
  font-weight: 700;
}
.cart_totals table .order-total .woocommerce-Price-amount {
  color: var(--brand-primary, #017F1A);
}
.cart_totals .woocommerce-shipping-calculator {
  margin-top: 12px;
}
.cart_totals .woocommerce-shipping-calculator .shipping-calculator-button {
  color: var(--brand-primary, #017F1A);
  font-size: 13px;
  text-decoration: none;
}
.cart_totals .woocommerce-shipping-calculator .shipping-calculator-button:hover {
  text-decoration: underline;
}
.cart_totals .wc-proceed-to-checkout {
  margin-top: 28px;
}
.cart_totals .wc-proceed-to-checkout a.checkout-button,
.cart_totals .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100% !important;
  min-height: 58px;
  padding: 16px 24px;
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #fff !important;
  background: var(--brand-primary, #017F1A) !important;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.25s;
}
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
.cart_totals .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--brand-primary-dark, #015d13) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(1, 127, 26, 0.3);
}
.cart_totals .wc-proceed-to-checkout a.checkout-button:active,
.cart_totals .wc-proceed-to-checkout .checkout-button:active {
  transform: translateY(0);
}

.cart_totals .wc-proceed-to-checkout::after {
  content: "Bezpieczna płatność · SSL · Szybka wysyłka";
  display: block;
  text-align: center;
  font-size: 11px;
  color: var(--color-gray, #707070);
  margin-top: 14px;
  letter-spacing: 0.3px;
}

.cross-sells {
  grid-column: 1/-1;
  margin-top: 48px;
  padding-top: 48px;
  border-top: 1px solid var(--color-border, #dedede);
}
.cross-sells > h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 28px;
  color: var(--color-black, #1C202B);
}
.cross-sells .products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media all and (max-width: 991px) {
  .cross-sells .products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .cross-sells .products {
    grid-template-columns: 1fr;
  }
}

.cart-empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 100px 40px;
  background: var(--color-white, #ffffff);
  border-radius: 8px;
}
.cart-empty.woocommerce-info {
  background: var(--color-white, #ffffff);
  border-left: none !important;
  flex-direction: column;
  font-size: 18px;
  color: var(--color-gray, #707070);
}
.cart-empty.woocommerce-info::before {
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto 28px;
  background-color: var(--color-gray-light, #dedede);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

.woocommerce-cart .return-to-shop {
  grid-column: 1/-1;
  text-align: center;
  margin-top: 24px;
}
.woocommerce-cart .return-to-shop .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.woocommerce-cart .return-to-shop .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.woocommerce-cart .return-to-shop .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.woocommerce-cart .return-to-shop .button {
  color: #fff !important;
  padding: 16px 56px;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 4px;
}

.woocommerce-cart-form {
  position: relative;
}
.woocommerce-cart-form.processing {
  pointer-events: none;
}
.woocommerce-cart-form.processing::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 10;
  border-radius: 8px;
}
.woocommerce-cart-form.processing::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border: 3px solid var(--color-border, #dedede);
  border-top-color: var(--brand-primary, #017F1A);
  border-radius: 50%;
  animation: woo-spin 0.8s linear infinite;
  z-index: 11;
}

.configurator-cart-options {
  margin-top: 10px;
}
.configurator-cart-options__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 1px solid rgba(1, 127, 26, 0.2);
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  cursor: pointer;
  transition: all 0.2s;
  border-radius: 4px;
}
.configurator-cart-options__toggle:hover {
  background: rgba(1, 127, 26, 0.05);
}
.configurator-cart-options__toggle svg {
  transition: transform 0.3s;
}
.configurator-cart-options__toggle-text--zwin {
  display: none;
}
.configurator-cart-options.is-expanded .configurator-cart-options__toggle-text--rozwin {
  display: none;
}
.configurator-cart-options.is-expanded .configurator-cart-options__toggle-text--zwin {
  display: inline;
}
.configurator-cart-options__list {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s, opacity 0.3s, margin 0.3s;
}
.configurator-cart-options.is-expanded .configurator-cart-options__toggle svg {
  transform: rotate(180deg);
}
.configurator-cart-options.is-expanded .configurator-cart-options__list {
  max-height: 2000px;
  opacity: 1;
  margin-top: 12px;
  padding: 12px 16px;
  background: var(--color-background, #f3f3f3);
  border-left: 3px solid var(--brand-primary, #017F1A);
}
.configurator-cart-options__item {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 4px 0;
  font-size: 12px;
  line-height: 1.6;
  border-bottom: 1px solid rgba(222, 222, 222, 0.3);
}
.configurator-cart-options__item:last-child {
  border-bottom: none;
}
.configurator-cart-options__item dt {
  flex: 0 1 auto;
  min-width: 0;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  font-size: 11px;
  max-width: 45%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.configurator-cart-options__item dd {
  flex: 1;
  min-width: 0;
  margin: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.configurator-cart-options__value {
  color: var(--color-gray, #707070);
  font-size: 12px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.configurator-cart-options__price {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
}

.konfigurator-instrukcje {
  margin-top: 14px;
  padding: 12px 14px;
  background: rgba(1, 127, 26, 0.05);
  border-left: 3px solid var(--brand-primary, #017F1A);
}
.konfigurator-instrukcje__naglowek {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.konfigurator-instrukcje__lista {
  margin: 0;
  padding: 0;
  list-style: none;
}
.konfigurator-instrukcje__lista li {
  margin: 0 0 4px;
  padding: 0;
  font-size: 13px;
  line-height: 1.5;
}
.konfigurator-instrukcje__lista li::before {
  content: none;
}
.konfigurator-instrukcje__lista li:last-child {
  margin-bottom: 0;
}
.konfigurator-instrukcje__lista a {
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
}
.konfigurator-instrukcje__lista a:hover {
  text-decoration: underline;
}

.konfigurator-instrukcje-zwijane {
  margin-top: 8px;
}
.konfigurator-instrukcje-zwijane__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 1px solid rgba(1, 127, 26, 0.2);
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  cursor: pointer;
  transition: all 0.2s;
  border-radius: 4px;
}
.konfigurator-instrukcje-zwijane__toggle:hover {
  background: rgba(1, 127, 26, 0.05);
}
.konfigurator-instrukcje-zwijane__toggle svg {
  transition: transform 0.3s;
}
.konfigurator-instrukcje-zwijane__tekst--zwin {
  display: none;
}
.konfigurator-instrukcje-zwijane.is-expanded .konfigurator-instrukcje-zwijane__tekst--rozwin {
  display: none;
}
.konfigurator-instrukcje-zwijane.is-expanded .konfigurator-instrukcje-zwijane__tekst--zwin {
  display: inline;
}
.konfigurator-instrukcje-zwijane .konfigurator-instrukcje {
  display: none;
}
.konfigurator-instrukcje-zwijane.is-expanded .konfigurator-instrukcje-zwijane__toggle svg {
  transform: rotate(180deg);
}
.konfigurator-instrukcje-zwijane.is-expanded .konfigurator-instrukcje {
  display: block;
  margin-top: 10px;
}

.woocommerce .blockUI.blockOverlay {
  position: relative;
  background: rgba(255, 255, 255, 0.8) !important;
}
.woocommerce .blockUI.blockOverlay::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border: 3px solid var(--color-border, #dedede);
  border-top-color: var(--brand-primary, #017F1A);
  border-radius: 50%;
  animation: woo-spin 0.8s linear infinite;
}

.woocommerce-cart .woocommerce-notices-wrapper {
  margin-bottom: 8px;
}
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
  border-radius: 6px;
  font-size: 13px;
  padding: 12px 20px;
  margin-bottom: 8px !important;
}
.woocommerce-cart .woocommerce-message .button {
  display: none;
}

.woocommerce-cart .woocommerce > .stdv-cart-share {
  grid-column: 1/-1;
}
.woocommerce-cart .stdv-cart-share {
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid rgba(255, 193, 7, 0.55);
  border-left: 4px solid var(--brand-yellow, #FFC107);
  border-radius: 8px;
  box-shadow: none;
  padding: 18px 24px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media all and (max-width: 767px) {
  .woocommerce-cart .stdv-cart-share {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
  }
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__header {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
  text-align: left;
  flex-shrink: 0;
}
@media all and (max-width: 767px) {
  .woocommerce-cart .stdv-cart-share .stdv-cart-share__header {
    text-align: center;
  }
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__title {
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0;
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__description {
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 13px;
  color: var(--color-gray, #707070);
  margin: 4px 0 0;
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__buttons {
  flex-shrink: 0;
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__btn {
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 13px;
  font-weight: 700;
  min-height: 42px;
  padding: 9px 22px;
  border-radius: 4px;
  border: 1px solid rgb(221.2, 165.9, 0);
  background: var(--brand-yellow, #FFC107);
  color: var(--color-black, #1C202B);
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__btn:hover:not(:disabled) {
  background: rgb(216.1, 162.075, 0);
  border-color: rgb(180.4, 135.3, 0);
  color: var(--color-black, #1C202B);
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__btn--copy {
  background: var(--brand-yellow, #FFC107);
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__btn--pdf {
  background: var(--brand-yellow, #FFC107);
}
.woocommerce-cart .stdv-cart-share .stdv-cart-share__icon {
  stroke: currentColor;
}

.woocommerce-checkout .single-page.page {
  padding: 0 !important;
  max-width: none !important;
}
.woocommerce-checkout .single-page.page table:not(.woocommerce-checkout-review-order-table) th {
  background-color: transparent !important;
  color: inherit !important;
}
.woocommerce-checkout .single-page.page .woocommerce-checkout-review-order-table thead th {
  background: var(--color-black, #1C202B) !important;
  color: var(--color-white, #ffffff) !important;
  border: none !important;
}
.woocommerce-checkout .single-page.page .woocommerce-checkout-review-order-table tfoot th {
  background: none !important;
  color: var(--color-gray, #707070) !important;
  border: none !important;
}
.woocommerce-checkout .single-page.page .woocommerce-checkout-review-order-table tfoot .order-total th {
  color: var(--color-black, #1C202B) !important;
}
.woocommerce-checkout .single-page.page .woocommerce-checkout-review-order-table td {
  border: none !important;
}
.woocommerce-checkout .single-page.page > .woocommerce,
.woocommerce-checkout .single-page.page > div {
  max-width: 100% !important;
}

.woocommerce-checkout {
  background: var(--color-background, #f3f3f3);
}
.woocommerce-checkout .woocommerce {
  padding-top: 48px;
  padding-bottom: 80px;
}
@media all and (max-width: 991px) {
  .woocommerce-checkout .woocommerce {
    padding-top: 24px;
    padding-bottom: 48px;
  }
}
.woocommerce-checkout .woocommerce > .woocommerce-info,
.woocommerce-checkout .woocommerce > .woocommerce-message,
.woocommerce-checkout .woocommerce > .woocommerce-error,
.woocommerce-checkout .woocommerce > .woocommerce-NoticeGroup {
  margin-bottom: 15px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  border-left: none;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before {
  display: none;
}
.woocommerce-checkout .woocommerce-message .button {
  display: none;
}
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error {
  border-radius: 6px;
  font-size: 13px;
  padding: 12px 20px;
  margin-bottom: 8px !important;
}

.woocommerce form.checkout,
.woocommerce-checkout form.woocommerce-checkout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 40px;
  align-items: start;
}
@media (max-width: 1100px) {
  .woocommerce form.checkout,
  .woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr 380px;
    gap: 32px;
  }
}
@media all and (max-width: 991px) {
  .woocommerce form.checkout,
  .woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.woocommerce form.checkout > .woocommerce-NoticeGroup,
.woocommerce form.checkout > .woocommerce-notices-wrapper,
.woocommerce form.checkout > .woocommerce-error,
.woocommerce form.checkout > .woocommerce-message,
.woocommerce form.checkout > .woocommerce-info,
.woocommerce-checkout form.woocommerce-checkout > .woocommerce-NoticeGroup,
.woocommerce-checkout form.woocommerce-checkout > .woocommerce-notices-wrapper,
.woocommerce-checkout form.woocommerce-checkout > .woocommerce-error,
.woocommerce-checkout form.woocommerce-checkout > .woocommerce-message,
.woocommerce-checkout form.woocommerce-checkout > .woocommerce-info {
  grid-column: 1/-1;
  min-width: 0;
}

#customer_details {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#customer_details.col2-set {
  width: 100%;
}
#customer_details.col2-set::after {
  content: "";
  display: table;
  clear: both;
}
#customer_details .col-1,
#customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .woocommerce-additional-fields, .woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-billing-fields {
  background: var(--color-white, #ffffff);
  padding: 32px;
  border-radius: 8px;
  border: 1px solid rgba(222, 222, 222, 0.5);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.woocommerce-checkout .woocommerce-billing-fields h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--color-black, #1C202B);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-black, #1C202B);
}

.woocommerce-checkout .woocommerce-shipping-fields {
  margin-top: 20px;
}
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 15px;
}
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label input[type=checkbox] {
  width: auto;
  height: auto;
}
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address {
  margin-top: 20px;
}

.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 20px;
}
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.woocommerce-checkout .woocommerce-additional-fields #order_comments_field {
  margin-bottom: 0;
}

#order_review_heading {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#order_review {
  position: sticky;
  top: 20px;
  min-width: 0;
}
@media all and (max-width: 991px) {
  #order_review {
    position: static;
  }
}
#order_review .woocommerce-info,
#order_review .woocommerce-error,
#order_review .woocommerce-message {
  margin-top: 15px;
  font-size: 13px;
  border-radius: 6px;
}
#order_review .woocommerce-info::before,
#order_review .woocommerce-error::before,
#order_review .woocommerce-message::before {
  flex-shrink: 0 !important;
  min-width: 20px !important;
  width: 20px !important;
  height: 20px !important;
}

.woocommerce-checkout-review-order-table {
  background: var(--color-white, #ffffff);
  border: 1px solid rgba(222, 222, 222, 0.4);
  border-radius: 8px;
  padding: 0;
  margin-bottom: 20px;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  width: 100%;
}
.woocommerce-checkout-review-order-table thead, .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout-review-order-table tfoot {
  display: contents;
}
.woocommerce-checkout-review-order-table tr {
  display: flex !important;
  width: 100%;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.woocommerce-checkout-review-order-table tr > th,
.woocommerce-checkout-review-order-table tr > td {
  min-width: 0;
  overflow-wrap: anywhere;
}
.woocommerce-checkout-review-order-table thead th {
  padding: 14px 24px;
  background: var(--color-black, #1C202B) !important;
  color: var(--color-white, #ffffff) !important;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  border: none !important;
  flex: 1;
  display: block;
}
.woocommerce-checkout-review-order-table thead th.product-total {
  text-align: right;
  flex: 0 0 auto;
}
.woocommerce-checkout-review-order-table tbody td {
  padding: 16px 24px;
  border-bottom: 1px solid rgba(222, 222, 222, 0.3) !important;
  vertical-align: middle;
  background: none !important;
  display: block;
  flex: 1;
}
.woocommerce-checkout-review-order-table tbody td.product-total {
  flex: 0 0 auto;
  text-align: right;
}
.woocommerce-checkout-review-order-table tbody .product-name {
  font-weight: 600;
  font-size: 14px;
}
.woocommerce-checkout-review-order-table tbody .product-name .product-quantity {
  font-weight: 400;
  color: var(--color-gray, #707070);
}
.woocommerce-checkout-review-order-table tbody .product-name dl.variation {
  margin: 6px 0 0;
  font-size: 12px;
  font-weight: 400;
  color: var(--color-gray, #707070);
}
.woocommerce-checkout-review-order-table tbody .product-name dl.variation dt, .woocommerce-checkout-review-order-table tbody .product-name dl.variation dd {
  display: inline;
  margin: 0;
}
.woocommerce-checkout-review-order-table tbody .product-total {
  text-align: right;
  font-weight: 600;
}
.woocommerce-checkout-review-order-table tfoot th, .woocommerce-checkout-review-order-table tfoot td {
  padding: 12px 24px;
  border-bottom: 1px solid rgba(222, 222, 222, 0.3) !important;
  background: none !important;
  display: block;
}
.woocommerce-checkout-review-order-table tfoot th {
  text-align: left;
  font-weight: 400 !important;
  font-size: 14px;
  color: var(--color-gray, #707070) !important;
  text-transform: none;
  letter-spacing: 0;
  flex: 1;
  vertical-align: middle;
}
.woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  font-size: 15px;
  color: var(--color-black, #1C202B);
  flex: 0 0 auto;
}
.woocommerce-checkout-review-order-table tfoot .shipping {
  flex-direction: column;
  align-items: stretch;
}
.woocommerce-checkout-review-order-table tfoot .shipping th, .woocommerce-checkout-review-order-table tfoot .shipping td {
  flex: 1 1 auto !important;
  width: 100% !important;
  text-align: left !important;
  padding: 12px 24px !important;
}
.woocommerce-checkout-review-order-table tfoot .shipping th {
  padding-bottom: 8px !important;
}
.woocommerce-checkout-review-order-table tfoot .shipping td {
  padding-top: 0 !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total th, .woocommerce-checkout-review-order-table tfoot .order-total td {
  border-bottom: none !important;
  padding-top: 20px;
}
.woocommerce-checkout-review-order-table tfoot .order-total th {
  font-size: 16px;
  font-weight: 700 !important;
  color: var(--color-black, #1C202B) !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 26px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  white-space: nowrap;
}
.woocommerce-checkout-review-order-table tfoot .order-total .woocommerce-Price-amount {
  color: var(--brand-primary, #017F1A);
}

.woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-shipping-methods li {
  margin: 0 0 10px 0;
  padding: 16px 18px;
  background: var(--color-background-alt, #f9f9f9);
  border: 1px solid transparent;
  border-radius: 6px;
  transition: background 0.2s ease, border-color 0.2s ease;
  position: relative;
}
.woocommerce-shipping-methods li:last-child {
  margin-bottom: 0;
}
.woocommerce-shipping-methods li input[type=radio] + label {
  display: block !important;
  padding-left: 0 !important;
  cursor: pointer;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.4;
  color: var(--color-gray, #707070);
}
.woocommerce-shipping-methods li input[type=radio] + label::before, .woocommerce-shipping-methods li input[type=radio] + label::after {
  display: none !important;
  content: none !important;
}
.woocommerce-shipping-methods li input[type=radio] + label .woocommerce-Price-amount {
  font-weight: 700;
  white-space: nowrap;
  color: var(--color-black, #1C202B);
}
.woocommerce-shipping-methods li input[type=radio]:checked + label {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
.woocommerce-shipping-methods li input[type=radio]:checked + label .woocommerce-Price-amount {
  color: var(--brand-primary, #017F1A);
}
.woocommerce-shipping-methods li:has(input[type=radio]:checked) {
  background: rgba(var(--brand-primary, #017F1A), 0.05);
  border-color: rgba(var(--brand-primary, #017F1A), 0.3);
}
.woocommerce-shipping-methods li .stdv-rate-name {
  display: block;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 10px;
}
.woocommerce-shipping-methods li .stdv-rate-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.woocommerce-shipping-methods li .stdv-rate-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  letter-spacing: 0.2px;
}
.woocommerce-shipping-methods li .stdv-rate-chip--price {
  background: var(--color-white, #ffffff);
  border: 1px solid rgba(222, 222, 222, 0.8);
  color: var(--color-black, #1C202B);
}
.woocommerce-shipping-methods li .stdv-rate-chip--price .stdv-rate-chip__label {
  color: var(--color-gray, #707070);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.5px;
}
.woocommerce-shipping-methods li .stdv-rate-chip--price .woocommerce-Price-amount {
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
}
.woocommerce-shipping-methods li .stdv-rate-chip--info {
  background: rgba(var(--brand-primary, #017F1A), 0.1) !important;
  color: var(--brand-primary, #017F1A);
  cursor: pointer;
  transition: background 0.15s ease;
  border: 1px solid transparent;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  margin: 0;
}
.woocommerce-shipping-methods li .stdv-rate-chip--info:hover, .woocommerce-shipping-methods li .stdv-rate-chip--info:focus {
  background: rgba(var(--brand-primary, #017F1A), 0.18) !important;
  outline: none;
}
.woocommerce-shipping-methods li .stdv-rate-chip--info .stdv-rate-chip__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border-radius: 50%;
  font-size: 9px;
  font-weight: 700;
  font-style: italic;
}
.woocommerce-shipping-methods li .stdv-rate-chip--info .stdv-rate-chip__label {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.5px;
}
.woocommerce-shipping-methods li input[type=radio]:checked + label .stdv-rate-chip--price {
  border-color: rgba(var(--brand-primary, #017F1A), 0.4);
}
.woocommerce-shipping-methods li .stdv-shipping-popover {
  margin-top: 12px !important;
}

.woocommerce-checkout-review-order-table tfoot .shipping .woocommerce-shipping-destination,
.woocommerce-checkout-review-order-table tfoot .shipping .woocommerce-shipping-calculator {
  display: none;
}

.woocommerce-checkout-payment {
  background: var(--color-white, #ffffff);
  border: 1px solid rgba(222, 222, 222, 0.4);
  border-radius: 8px;
  padding: 24px;
}
.woocommerce-checkout-payment #payment {
  background: transparent;
  border-radius: 0;
}

.wc_payment_methods {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.wc_payment_methods li.wc_payment_method {
  margin-bottom: 10px;
  border: 2px solid var(--color-border, #dedede);
  border-radius: 6px;
  transition: border-color 0.2s ease;
  overflow: hidden;
}
.wc_payment_methods li.wc_payment_method:last-child {
  margin-bottom: 0;
}
.wc_payment_methods li.wc_payment_method > label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 600;
  margin: 0;
  font-size: 14px;
}
.wc_payment_methods li.wc_payment_method > label img {
  height: 24px;
  width: auto;
}
.wc_payment_methods li.wc_payment_method > label::after {
  left: 21px;
  top: 50%;
  margin-top: -5px;
}
.wc_payment_methods li.wc_payment_method .payment_box {
  padding: 14px 16px;
  background: var(--color-background, #f3f3f3);
  font-size: 13px;
  color: var(--color-gray, #707070);
  border-top: 1px solid var(--color-border, #dedede);
}
.wc_payment_methods li.wc_payment_method .payment_box p {
  margin: 0;
}
.wc_payment_methods li.wc_payment_method input[type=radio]:checked ~ label {
  color: var(--brand-primary, #017F1A);
}
.wc_payment_methods li.wc_payment_method:has(input:checked) {
  border-color: var(--brand-primary, #017F1A);
}

.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 20px;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
  font-size: 13px;
  color: var(--color-gray, #707070);
  margin-bottom: 15px;
  line-height: 1.6;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text a {
  color: var(--brand-primary, #017F1A);
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox .woocommerce-form__input-checkbox {
  margin-top: 3px;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions {
  max-height: 200px;
  overflow-y: auto;
  padding: 15px;
  background: var(--color-background, #f3f3f3);
  border-radius: 4px;
  margin-bottom: 15px;
  font-size: 13px;
}

#place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
#place_order:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
#place_order:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
#place_order {
  width: 100%;
  font-size: 15px;
  min-height: 58px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 700;
  color: var(--color-white, #ffffff) !important;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(var(--brand-primary, #017F1A), 0.3);
  transition: all 0.25s ease;
}
#place_order:hover {
  box-shadow: 0 6px 20px rgba(var(--brand-primary, #017F1A), 0.4);
  transform: translateY(-1px);
}
#place_order:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.woocommerce-checkout-payment .place-order::after {
  content: "Bezpieczna płatność · SSL · Szybka wysyłka";
  display: block;
  text-align: center;
  font-size: 11px;
  color: var(--color-gray, #707070);
  margin-top: 14px;
  letter-spacing: 0.3px;
}

.woocommerce-form-coupon-toggle {
  margin-bottom: 20px;
}
.woocommerce-form-coupon-toggle .woocommerce-info {
  background: var(--color-white, #ffffff);
  border: 1px solid rgba(222, 222, 222, 0.4) !important;
  border-left: 1px solid rgba(222, 222, 222, 0.4) !important;
  padding: 14px 20px;
  border-radius: 6px;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none;
}
.woocommerce-form-coupon-toggle .woocommerce-info .showcoupon {
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
  cursor: pointer;
}
.woocommerce-form-coupon-toggle .woocommerce-info .showcoupon:hover {
  text-decoration: underline;
}

.checkout_coupon {
  background: var(--color-white, #ffffff);
  padding: 24px;
  border-radius: 8px;
  border: 1px solid rgba(222, 222, 222, 0.4);
  margin-bottom: 20px;
}
.checkout_coupon p:first-child {
  margin-bottom: 15px;
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.checkout_coupon .form-row {
  display: flex;
  gap: 10px;
}
@media all and (max-width: 767px) {
  .checkout_coupon .form-row {
    flex-direction: column;
  }
}
.checkout_coupon #coupon_code {
  flex: 1;
}
.checkout_coupon .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.checkout_coupon .button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.checkout_coupon .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.checkout_coupon .button {
  background: transparent;
  color: var(--color-black, #1C202B);
  border: 1px solid var(--color-border, #dedede);
}
.checkout_coupon .button:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
  background: transparent;
}
.checkout_coupon .button {
  white-space: nowrap;
  border-radius: 4px;
}

.woocommerce-form-login-toggle {
  margin-bottom: 20px;
}
.woocommerce-form-login-toggle .woocommerce-info {
  background: var(--color-white, #ffffff);
  border: 1px solid rgba(222, 222, 222, 0.4) !important;
  border-left: 1px solid rgba(222, 222, 222, 0.4) !important;
  padding: 14px 20px;
  border-radius: 6px;
}
.woocommerce-form-login-toggle .woocommerce-info::before {
  display: none;
}
.woocommerce-form-login-toggle .woocommerce-info .showlogin {
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
  cursor: pointer;
}
.woocommerce-form-login-toggle .woocommerce-info .showlogin:hover {
  text-decoration: underline;
}

.woocommerce-form-login {
  background: var(--color-white, #ffffff);
  padding: 24px;
  border-radius: 8px;
  border: 1px solid rgba(222, 222, 222, 0.4);
  margin-bottom: 20px;
}
.woocommerce-form-login p:first-child {
  margin-bottom: 15px;
}
@media all and (max-width: 767px) {
  .woocommerce-form-login .form-row.form-row-first, .woocommerce-form-login .form-row.form-row-last {
    width: 100%;
    margin-right: 0;
  }
}
.woocommerce-form-login .lost_password {
  margin-top: 15px;
}
.woocommerce-form-login .lost_password a {
  color: var(--brand-primary, #017F1A);
  font-size: 13px;
}

.woocommerce-order-received .single-page.page {
  padding: 0 !important;
  max-width: none !important;
}
.woocommerce-order-received .single-page.page > .woocommerce,
.woocommerce-order-received .single-page.page > div {
  max-width: 100% !important;
}
.woocommerce-order-received .woocommerce {
  padding-top: 48px;
  padding-bottom: 80px;
}
@media all and (max-width: 991px) {
  .woocommerce-order-received .woocommerce {
    padding-top: 24px;
    padding-bottom: 48px;
  }
}

.woocommerce-thankyou-order-received {
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  border: 1px solid rgba(222, 222, 222, 0.4);
  text-align: center;
  padding: 60px 40px;
  margin-bottom: 30px;
  border-left: 4px solid var(--color-success, #017F1A);
}
.woocommerce-thankyou-order-received::before {
  content: "";
  display: block;
  width: 72px;
  height: 72px;
  margin: 0 auto 24px;
  background-color: var(--color-success, #017F1A);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
.woocommerce-thankyou-order-received {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}

.woocommerce-order-overview {
  background: var(--color-white, #ffffff);
  border: 1px solid rgba(222, 222, 222, 0.4);
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
@media all and (max-width: 991px) {
  .woocommerce-order-overview {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }
}
.woocommerce-order-overview li {
  text-align: center;
  padding: 24px 16px;
  border-right: 1px solid rgba(222, 222, 222, 0.3);
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.woocommerce-order-overview li:last-child {
  border-right: none;
}
@media all and (max-width: 991px) {
  .woocommerce-order-overview li {
    border-right: none;
    border-bottom: 1px solid rgba(222, 222, 222, 0.3);
  }
  .woocommerce-order-overview li:nth-last-child(-n+2) {
    border-bottom: none;
  }
}
@media all and (max-width: 767px) {
  .woocommerce-order-overview li:last-child {
    border-bottom: none;
  }
}
.woocommerce-order-overview li strong {
  display: block;
  margin-top: 6px;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
}

.woocommerce-order-details {
  margin-bottom: 30px;
}
.woocommerce-order-details .woocommerce-order-details__title,
.woocommerce-order-details > h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.woocommerce-order-details table.woocommerce-table--order-details {
  background: var(--color-white, #ffffff);
  border: 1px solid rgba(222, 222, 222, 0.5);
  margin-bottom: 30px;
  overflow: hidden;
}
.woocommerce-order-details table.woocommerce-table--order-details thead th {
  background: var(--brand-secondary, #1C202B);
  color: var(--color-white, #ffffff);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-size: 12px;
  font-weight: 600;
  padding: 14px 18px;
}
.woocommerce-order-details table.woocommerce-table--order-details thead th.woocommerce-table__product-total {
  text-align: right;
}
.woocommerce-order-details table.woocommerce-table--order-details tbody .order_item > td {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
  vertical-align: top;
}
.woocommerce-order-details table.woocommerce-table--order-details .product-total {
  text-align: right;
  white-space: nowrap;
  font-weight: 600;
}
.woocommerce-order-details table.woocommerce-table--order-details .wc-item-meta {
  list-style: none;
  margin: 12px 0 0;
  padding: 12px 14px;
  background: var(--color-background-alt, #f9f9f9);
  border-left: 3px solid rgba(var(--brand-primary, #017F1A), 0.45);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--color-gray, #707070);
}
.woocommerce-order-details table.woocommerce-table--order-details .wc-item-meta li {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0 0 5px;
}
.woocommerce-order-details table.woocommerce-table--order-details .wc-item-meta li:last-child {
  margin-bottom: 0;
}
.woocommerce-order-details table.woocommerce-table--order-details .wc-item-meta li strong.wc-item-meta-label {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
.woocommerce-order-details table.woocommerce-table--order-details .wc-item-meta li p {
  margin: 0;
}
.woocommerce-order-details table.woocommerce-table--order-details tfoot th, .woocommerce-order-details table.woocommerce-table--order-details tfoot td {
  padding: 12px 18px;
  background: var(--color-white, #ffffff);
  border-top: 1px solid rgba(222, 222, 222, 0.35);
}
.woocommerce-order-details table.woocommerce-table--order-details tfoot th {
  font-weight: 400;
  color: var(--color-gray, #707070);
  text-align: left;
}
.woocommerce-order-details table.woocommerce-table--order-details tfoot td {
  text-align: right;
  white-space: nowrap;
  font-weight: 600;
}
.woocommerce-order-details table.woocommerce-table--order-details tfoot tr:last-child th, .woocommerce-order-details table.woocommerce-table--order-details tfoot tr:last-child td {
  border-top: 2px solid var(--brand-secondary, #1C202B);
  font-size: 18px;
  padding-top: 16px;
}
.woocommerce-order-details table.woocommerce-table--order-details tfoot tr:last-child td {
  color: var(--brand-primary, #017F1A);
  font-weight: 700;
}

.stdv-deposit-summary {
  background: var(--color-white, #ffffff);
  border: 1px solid rgba(var(--brand-primary, #017F1A), 0.25);
  border-left: 4px solid var(--brand-primary, #017F1A);
  border-radius: 8px;
  padding: 26px 28px;
  margin: 0 0 30px;
}
.stdv-deposit-summary__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 18px;
  color: var(--color-black, #1C202B);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.stdv-deposit-summary__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media all and (max-width: 767px) {
  .stdv-deposit-summary__grid {
    grid-template-columns: 1fr;
  }
}
.stdv-deposit-summary__cell {
  background: var(--color-background-alt, #f9f9f9);
  border: 1px solid rgba(222, 222, 222, 0.5);
  border-radius: 6px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.stdv-deposit-summary__cell--paid {
  background: rgba(var(--brand-primary, #017F1A), 0.06);
  border-color: rgba(var(--brand-primary, #017F1A), 0.3);
}
.stdv-deposit-summary__label {
  font-size: 12px;
  color: var(--color-gray, #707070);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  line-height: 1.3;
}
.stdv-deposit-summary__value {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
}
.stdv-deposit-summary__value .woocommerce-Price-amount {
  font-size: inherit;
}
.stdv-deposit-summary__cell--paid .stdv-deposit-summary__value {
  color: var(--brand-primary, #017F1A);
}
.stdv-deposit-summary__cell--full .stdv-deposit-summary__value {
  color: var(--color-gray, #707070);
  font-size: 20px;
}
.stdv-deposit-summary__note {
  margin: 18px 0 0;
  font-size: 13px;
  color: var(--color-gray, #707070);
  line-height: 1.6;
}

.wp-block-woocommerce-checkout {
  padding-top: 48px;
  padding-bottom: 40px;
}
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input {
  width: 100%;
  height: 48px;
  padding: 12px 15px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  color: var(--color-black, #1C202B);
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 0;
  transition: border-color var(--transition-base, 0.3s ease), box-shadow var(--transition-base, 0.3s ease);
}
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
}
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input::placeholder {
  color: var(--color-gray, #707070);
}
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input label {
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  width: 100%;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary {
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  border: 1px solid rgba(222, 222, 222, 0.4);
  padding: 20px;
}

.wp-block-woocommerce-cart {
  padding-top: 48px;
  padding-bottom: 40px;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  text-decoration: none;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
  background: var(--brand-primary-dark, #015d13);
  color: var(--color-white, #ffffff);
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
  width: 100%;
}

.stdv-zgoda {
  margin: 0 0 12px !important;
}
.stdv-zgoda .woocommerce-form__label {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-gray, #707070);
  cursor: pointer;
}
.stdv-zgoda__kwadrat {
  flex: 0 0 auto;
  margin-top: 1px;
}
.stdv-zgoda__tekst {
  display: block !important;
  flex: 1 1 auto;
}
.stdv-zgoda__tekst a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
}
.stdv-zgoda .required,
.stdv-zgoda abbr.required {
  color: var(--brand-primary, #017F1A);
  border: 0;
  text-decoration: none;
  margin-left: 3px;
}
.stdv-zgoda--dodatkowa {
  margin-top: 10px !important;
}

.stdv-zgoda-info {
  display: inline-block;
  position: relative;
  vertical-align: middle;
}
.stdv-zgoda-info__ikona {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  margin-left: 5px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 11px;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transition: background-color var(--transition-fast, 0.15s ease);
}
.stdv-zgoda-info__ikona:hover {
  background: var(--brand-primary-dark, #015d13);
}
.stdv-zgoda-info__ikona:focus-visible {
  outline: 2px solid var(--brand-primary, #017F1A);
  outline-offset: 2px;
}
.stdv-zgoda-info__dymek {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  z-index: 30;
  display: block;
  width: 280px;
  max-width: calc(100vw - 32px);
  padding: 12px 14px;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 6px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.14);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--color-black, #1C202B);
  text-align: left;
  cursor: auto;
}
.stdv-zgoda-info__dymek[hidden] {
  display: none;
}
.stdv-zgoda-info__dymek--w-dol {
  bottom: auto;
  top: calc(100% + 8px);
}
.stdv-zgoda-info__tresc {
  display: block;
  margin-bottom: 8px;
}
.stdv-zgoda-info__link {
  display: block;
}
.stdv-zgoda-info__link a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
  font-weight: 600;
}

.stdv-wysylka-info {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-gray, #707070);
}
.stdv-wysylka-info strong {
  color: var(--color-black, #1C202B);
}
.stdv-wysylka-info a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
}
.stdv-wysylka-info--kod {
  padding: 12px 14px;
  background: rgba(var(--brand-primary, #017F1A), 0.06);
  border-left: 3px solid var(--brand-primary, #017F1A);
}
.stdv-wysylka-info--wycena {
  padding: 12px 14px;
  background: var(--color-background, #f3f3f3);
  border-left: 3px solid var(--color-border, #dedede);
}

.woo-archive {
  padding: 20px 0 60px;
}
@media all and (max-width: 767px) {
  .woo-archive {
    padding: 20px 0 40px;
  }
}
.woo-archive__container {
  max-width: var(--space-container-max-big, 1450px);
  margin: 0 auto;
  padding: 0 var(--space-container-x, 15px);
  display: flex;
  gap: 30px;
}
@media all and (max-width: 991px) {
  .woo-archive__container {
    flex-direction: column;
    gap: 20px;
  }
}
.woo-archive__sidebar {
  flex-shrink: 0;
  width: 280px;
}
@media all and (max-width: 991px) {
  .woo-archive__sidebar {
    width: 100%;
    order: -1;
    margin-bottom: 15px;
  }
}
.woo-archive__sidebar-inner {
  position: sticky;
  top: 120px;
}
@media all and (max-width: 991px) {
  .woo-archive__sidebar-inner {
    position: static;
  }
}
.woo-archive__filters-placeholder {
  background-color: var(--color-background, #f3f3f3);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  padding: 30px 20px;
  text-align: center;
  color: var(--color-gray, #707070);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.woo-archive__filters-placeholder small {
  font-size: 12px;
  opacity: 0.7;
}
.woo-archive__filters-icon {
  width: 40px;
  height: 40px;
  background-color: var(--color-white, #ffffff);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-primary, #017F1A);
  margin-bottom: 5px;
}
.woo-archive__content {
  flex: 1;
  min-width: 0;
}
.woo-archive__header {
  margin-bottom: 30px;
}
@media all and (max-width: 767px) {
  .woo-archive__header {
    margin-bottom: 20px;
  }
}
.woo-archive__title {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 10px;
  line-height: 1.2;
}
@media all and (max-width: 767px) {
  .woo-archive__title {
    font-size: 24px;
  }
}
.woo-archive__description {
  font-size: 15px;
  color: var(--color-gray, #707070);
  line-height: 1.6;
  max-width: 800px;
}
.woo-archive__description p:last-child {
  margin-bottom: 0;
}
.woo-archive__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--color-border, #dedede);
}
@media all and (max-width: 767px) {
  .woo-archive__toolbar {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
  }
}
.woo-archive__toolbar .woocommerce-result-count {
  margin: 0;
  font-size: 14px;
  color: var(--color-gray, #707070);
}
.woo-archive__toolbar .woocommerce-ordering {
  margin: 0;
}
.woo-archive__toolbar .woocommerce-ordering select {
  padding: 8px 35px 8px 12px;
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-button, 4px);
  font-size: 14px;
  color: var(--color-black, #1C202B);
  background-color: var(--color-white, #ffffff);
  cursor: pointer;
  transition: border-color var(--transition-fast, 0.15s ease);
}
.woo-archive__toolbar .woocommerce-ordering select:hover, .woo-archive__toolbar .woocommerce-ordering select:focus {
  border-color: var(--brand-primary, #017F1A);
  outline: none;
}
.woo-archive__subcategories {
  margin-bottom: 40px;
}

.woo-category-banner {
  margin-bottom: 24px;
}
.woo-category-banner img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-base, 0px);
}
.woo-category-banner__link {
  display: block;
  transition: opacity var(--transition-fast, 0.15s ease);
}
.woo-category-banner__link:hover {
  opacity: 0.92;
}
@media all and (max-width: 767px) {
  .woo-category-banner {
    margin-bottom: 16px;
  }
}

.woo-categories-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media all and (max-width: 767px) {
  .woo-categories-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

.woo-category-card {
  list-style: none;
}
.woo-category-card__link {
  display: flex;
  align-items: stretch;
  gap: 24px;
  height: 100%;
  padding: 20px;
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  text-decoration: none;
  transition: all var(--transition-base, 0.3s ease);
}
.woo-category-card__link:hover {
  border-color: var(--brand-primary, #017F1A);
  box-shadow: var(--shadow-md, 0 4px 8px rgba(0, 0, 0, 0.15));
}
.woo-category-card__link:hover .woo-category-card__button {
  background: rgb(221.2, 165.9, 0);
}
@media all and (max-width: 767px) {
  .woo-category-card__link {
    gap: 16px;
    padding: 14px;
  }
}
.woo-category-card__image {
  flex: 0 0 42%;
  max-width: 42%;
  align-self: center;
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  background-color: var(--color-background, #f3f3f3);
}
.woo-category-card__image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
@media all and (max-width: 767px) {
  .woo-category-card__image {
    flex-basis: 38%;
    max-width: 38%;
  }
}
.woo-category-card__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.woo-category-card__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
  margin: 0 0 8px;
  line-height: 1.3;
}
@media all and (max-width: 767px) {
  .woo-category-card__title {
    font-size: 16px;
  }
}
.woo-category-card__desc {
  font-size: 14px;
  color: var(--color-gray, #707070);
  line-height: 1.5;
  margin: 0 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .woo-category-card__desc {
    font-size: 13px;
    -webkit-line-clamp: 3;
  }
}
.woo-category-card__count {
  font-size: 13px;
  color: var(--color-gray, #707070);
  margin-bottom: 12px;
}
.woo-category-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  margin-top: auto;
  padding: 12px 22px;
  background: var(--brand-yellow, #FFC107);
  color: var(--color-black, #1C202B);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-radius: var(--radius-button, 4px);
  transition: background-color var(--transition-base, 0.3s ease);
}
@media all and (max-width: 767px) {
  .woo-category-card__button {
    padding: 10px 16px;
    font-size: 12px;
  }
}

.woo-archive ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.woo-archive ul.products::before, .woo-archive ul.products::after {
  display: none;
}
.woo-archive ul.products > li {
  width: 100%;
}

.woo-product-card {
  list-style: none;
}
.woo-product-card__link {
  display: block;
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  text-decoration: none;
  transition: all var(--transition-base, 0.3s ease);
}
.woo-product-card__link:hover {
  border-color: var(--brand-primary, #017F1A);
  box-shadow: var(--shadow-md, 0 4px 8px rgba(0, 0, 0, 0.15));
}
.woo-product-card__link:hover .woo-product-card__image img {
  transform: scale(1.05);
}
.woo-product-card__image {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background-color: var(--color-background, #f3f3f3);
}
.woo-product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.woo-product-card__image .onsale {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: var(--color-error, #C70004);
  color: var(--color-white, #ffffff);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: var(--radius-button, 4px);
  text-transform: uppercase;
}
.woo-product-card__content {
  padding: 15px;
}
.woo-product-card__title {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 0 0 8px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.woo-product-card__excerpt {
  font-size: 13px;
  color: var(--color-gray, #707070);
  line-height: 1.5;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.woo-product-card__price {
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
}
.woo-product-card__price del {
  color: var(--color-gray, #707070);
  font-weight: 400;
  font-size: 14px;
  margin-right: 5px;
}
.woo-product-card__price ins {
  text-decoration: none;
}
.woo-product-card__price .woocommerce-Price-currencySymbol {
  font-size: 0.85em;
}

.woo-archive .woocommerce-pagination {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  text-align: center;
}
@media all and (max-width: 767px) {
  .woo-archive .woocommerce-pagination {
    margin-top: 30px;
  }
}
.woo-archive .woocommerce-pagination ul.page-numbers {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0 !important;
  padding: 14px 28px !important;
  background: var(--color-white, #ffffff) !important;
  border: none !important;
  border-radius: 60px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08) !important;
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .woo-archive .woocommerce-pagination ul.page-numbers {
    padding: 10px 16px !important;
    gap: 2px;
  }
}
.woo-archive .woocommerce-pagination li {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: flex !important;
}
.woo-archive .woocommerce-pagination li a,
.woo-archive .woocommerce-pagination li span {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 50% !important;
  font-size: 15px !important;
  font-weight: 400;
  color: var(--color-black, #1C202B) !important;
  text-decoration: none;
  transition: all 0.2s ease;
  line-height: 1 !important;
}
@media all and (max-width: 767px) {
  .woo-archive .woocommerce-pagination li a,
  .woo-archive .woocommerce-pagination li span {
    min-width: 34px !important;
    height: 34px !important;
    font-size: 14px !important;
  }
}
.woo-archive .woocommerce-pagination li a:hover {
  color: var(--brand-primary, #017F1A) !important;
  background: rgba(1, 127, 26, 0.08) !important;
}
.woo-archive .woocommerce-pagination li span.current {
  background: var(--brand-primary, #017F1A) !important;
  color: var(--color-white, #ffffff) !important;
  box-shadow: none !important;
}
.woo-archive .woocommerce-pagination li span.dots {
  min-width: 24px !important;
  color: var(--color-gray, #707070) !important;
  letter-spacing: 2px;
  background: transparent !important;
}
@media all and (max-width: 767px) {
  .woo-archive .woocommerce-pagination li span.dots {
    min-width: 20px !important;
  }
}
.woo-archive .woocommerce-pagination li a.prev,
.woo-archive .woocommerce-pagination li a.next {
  font-size: 18px !important;
  color: var(--color-gray, #707070) !important;
  background: transparent !important;
}
@media all and (max-width: 767px) {
  .woo-archive .woocommerce-pagination li a.prev,
  .woo-archive .woocommerce-pagination li a.next {
    font-size: 16px !important;
  }
}
.woo-archive .woocommerce-pagination li a.prev:hover,
.woo-archive .woocommerce-pagination li a.next:hover {
  color: var(--brand-primary, #017F1A) !important;
  background: rgba(1, 127, 26, 0.08) !important;
}
.woo-archive .woocommerce-pagination li a.prev {
  margin-right: 6px;
}
@media all and (max-width: 767px) {
  .woo-archive .woocommerce-pagination li a.prev {
    margin-right: 4px;
  }
}
.woo-archive .woocommerce-pagination li a.next {
  margin-left: 6px;
}
@media all and (max-width: 767px) {
  .woo-archive .woocommerce-pagination li a.next {
    margin-left: 4px;
  }
}

.woo-archive__extended-description {
  margin-top: 50px;
  padding-top: 40px;
  border-top: 1px solid var(--color-border, #dedede);
}
@media all and (max-width: 767px) {
  .woo-archive__extended-description {
    margin-top: 30px;
    padding-top: 25px;
  }
}
.woo-archive__extended-description > *:first-child {
  margin-top: 0;
}
.woo-archive__extended-description > *:last-child {
  margin-bottom: 0;
}
.woo-archive__extended-description .media-content {
  padding: 30px 0;
  margin-bottom: 0;
}
.woo-archive__extended-description .section-two-columns {
  margin-top: 0;
  margin-bottom: 0;
  padding: 30px 0;
}
.woo-archive__extended-description .cards-grid {
  margin-top: 20px;
  margin-bottom: 20px;
}
.woo-archive__extended-description > p,
.woo-archive__extended-description .wp-block-paragraph {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  max-width: 900px;
}
.woo-archive__extended-description .wp-block-table {
  margin: 28px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.woo-archive__extended-description .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 0;
}
@media all and (max-width: 767px) {
  .woo-archive__extended-description .wp-block-table table {
    min-width: 640px;
  }
}
.woo-archive__extended-description .wp-block-table table th,
.woo-archive__extended-description .wp-block-table table thead td {
  background-color: var(--brand-primary, #017F1A);
  color: #fff;
  font-weight: 600;
  padding: 11px 16px;
  text-align: left;
  border: 1px solid rgb(0.80078125, 101.69921875, 20.8203125);
}
.woo-archive__extended-description .wp-block-table table thead a {
  color: #fff;
  text-decoration: underline;
}
.woo-archive__extended-description .wp-block-table table td {
  padding: 10px 16px;
  border: 1px solid var(--color-border, #dedede);
  color: var(--color-gray, #707070);
}
.woo-archive__extended-description .wp-block-table table tr:nth-child(even) {
  background-color: #fafafa;
}
.woo-archive__extended-description .wp-block-table table tbody td:first-child {
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.woo-archive__extended-description .wp-block-table table a {
  font-weight: 600;
}
.woo-archive__extended-description .wp-block-table table:not(:has(thead)) tr:first-child td {
  background-color: var(--brand-primary, #017F1A);
  color: #fff;
  font-weight: 600;
  border-color: rgb(0.80078125, 101.69921875, 20.8203125);
}
.woo-archive__extended-description .wp-block-table table:not(:has(thead)) tr:first-child td a {
  color: #fff;
  text-decoration: underline;
}

.woo-archive .woocommerce-info {
  padding: 40px;
  background-color: var(--color-background, #f3f3f3);
  border: none;
  border-radius: var(--radius-base, 0px);
  text-align: center;
  color: var(--color-gray, #707070);
}
.woo-archive .woocommerce-info::before {
  display: none;
}

.product-hero {
  padding: 30px 0 70px;
  background-color: var(--color-white, #ffffff);
}
@media all and (max-width: 767px) {
  .product-hero {
    padding: 16px 0 40px;
  }
}
.product-hero__wrapper {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 60px;
  align-items: start;
}
@media all and (max-width: 991px) {
  .product-hero__wrapper {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.product-hero__gallery {
  position: sticky;
  top: 20px;
  min-width: 0;
}
@media all and (max-width: 991px) {
  .product-hero__gallery {
    position: static;
  }
}
.product-hero__gallery .onsale {
  position: absolute;
  top: 15px;
  left: 15px;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  padding: 8px 16px;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 10;
  border-radius: 0;
  min-width: auto;
  min-height: auto;
  line-height: 1;
}
.product-hero__info {
  padding-top: 8px;
}
.product-hero__title {
  font-size: 30px;
  font-weight: 800;
  color: var(--color-black, #1C202B);
  margin: 0 0 24px;
  line-height: 1.25;
  letter-spacing: -0.3px;
}
@media all and (max-width: 767px) {
  .product-hero__title {
    font-size: 23px;
    margin-bottom: 18px;
  }
}
.product-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 25px;
}
.product-hero__badges .product-hero__badge {
  position: static !important;
  padding: 0 !important;
  background: none !important;
  top: auto !important;
  left: auto !important;
  color: inherit !important;
  font-size: inherit !important;
  text-transform: none !important;
}
.product-hero__badges .product-hero__badge img {
  height: 32px;
  width: auto;
  display: block;
}
.product-hero__features {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.product-hero__feature {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--color-black, #1C202B);
  line-height: 1.4;
}
.product-hero__feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: var(--brand-primary, #017F1A);
}
.product-hero__feature-icon svg,
.product-hero__feature-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-hero__feature-text {
  flex: 1;
}
.product-hero__price-wrapper {
  margin-bottom: 24px;
  padding: 20px 24px;
  background: linear-gradient(135deg, #f0faf2 0%, #e8f5ea 100%);
  border-left: 4px solid var(--brand-primary, #017F1A);
  border-radius: 0 8px 8px 0;
}
.product-hero__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
}
.product-hero__price-from {
  font-size: 14px;
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
}
.product-hero__price .woocommerce-Price-amount {
  font-size: 36px;
  font-weight: 800;
  color: var(--brand-primary, #017F1A);
  letter-spacing: -0.5px;
}
@media all and (max-width: 767px) {
  .product-hero__price .woocommerce-Price-amount {
    font-size: 28px;
  }
}
.product-hero__price .woocommerce-Price-currencySymbol {
  font-size: 22px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .product-hero__price .woocommerce-Price-currencySymbol {
    font-size: 18px;
  }
}
.product-hero__price-vat {
  font-size: 14px;
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
}
.product-hero__price-subtitle {
  font-size: 13px;
  color: rgb(0.6015625, 76.3984375, 15.640625);
  font-weight: 400;
}
.product-hero__info-box {
  background: var(--color-background-alt, #f9f9f9);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 8px;
  padding: 18px 22px;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.product-hero__info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--color-black, #1C202B);
}
.product-hero__info-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--color-gray, #707070);
}
.product-hero__info-icon svg,
.product-hero__info-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-hero__info-text {
  flex: 1;
}
.product-hero__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.product-hero__actions-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-gray, #707070);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding-bottom: 4px;
}
.product-hero__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 28px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
  border-radius: var(--radius-button, 4px);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.product-hero__button--primary {
  background: var(--brand-yellow, #FFC107);
  color: var(--color-black, #1C202B);
  box-shadow: 0 4px 14px rgba(255, 193, 7, 0.35);
}
.product-hero__button--primary:hover {
  background: rgb(221.2, 165.9, 0);
  box-shadow: 0 6px 20px rgba(255, 193, 7, 0.45);
  transform: translateY(-1px);
}
.product-hero__button--secondary {
  background: transparent;
  color: var(--color-black, #1C202B);
  border: 2px solid var(--color-border, #dedede);
}
.product-hero__button--secondary:hover {
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
}
.product-hero__button svg {
  flex-shrink: 0;
}
.product-hero .cart {
  display: flex;
  gap: 12px;
  align-items: stretch;
}
.product-hero .cart .quantity.qty-stepper-init {
  flex-shrink: 0;
  display: flex !important;
  align-items: stretch;
  border: 2px solid var(--brand-primary, #017F1A) !important;
  border-radius: var(--radius-button, 4px);
  overflow: hidden;
  background: var(--color-white, #ffffff) !important;
}
.product-hero .cart .quantity.qty-stepper-init .minus,
.product-hero .cart .quantity.qty-stepper-init .plus {
  width: 48px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #f0faf2 !important;
  color: var(--brand-primary, #017F1A) !important;
  border: none !important;
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  line-height: 1;
  padding: 0;
  border-radius: 0 !important;
}
.product-hero .cart .quantity.qty-stepper-init .minus:hover,
.product-hero .cart .quantity.qty-stepper-init .plus:hover {
  background: #e0f2e4 !important;
  color: var(--brand-primary-dark, #015d13) !important;
}
.product-hero .cart .quantity.qty-stepper-init .minus {
  border-right: 1px solid rgba(1, 127, 26, 0.25) !important;
}
.product-hero .cart .quantity.qty-stepper-init .plus {
  border-left: 1px solid rgba(1, 127, 26, 0.25) !important;
}
.product-hero .cart .quantity.qty-stepper-init .qty {
  height: 52px !important;
  width: 56px !important;
  text-align: center;
  border: none !important;
  border-radius: 0 !important;
  font-size: 17px;
  font-weight: 700;
  background: var(--color-white, #ffffff) !important;
  color: var(--color-black, #1C202B);
  -moz-appearance: textfield;
  padding: 0;
}
.product-hero .cart .quantity.qty-stepper-init .qty::-webkit-outer-spin-button, .product-hero .cart .quantity.qty-stepper-init .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-hero .cart .quantity.qty-stepper-init .qty:focus {
  outline: none;
  box-shadow: none;
}
.product-hero .cart .single_add_to_cart_button {
  flex: 1;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border: none;
  padding: 16px 28px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  cursor: pointer;
  border-radius: var(--radius-button, 4px);
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(1, 127, 26, 0.35);
}
.product-hero .cart .single_add_to_cart_button:hover {
  background: var(--brand-primary-dark, #015d13);
  box-shadow: 0 6px 20px rgba(1, 127, 26, 0.45);
  transform: translateY(-1px);
}

.product-gallery {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}
.product-gallery__main {
  margin-bottom: 12px;
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(222, 222, 222, 0.6);
}
.product-gallery__main.slick-initialized .product-gallery__slide {
  display: block;
}
.product-gallery__main:not(.slick-initialized) .product-gallery__slide:not(:first-child) {
  display: none;
}
.product-gallery__slide {
  outline: none;
}
.product-gallery__slide a {
  display: block;
  cursor: zoom-in;
}
.product-gallery__slide img {
  width: 100%;
  max-height: 550px;
  display: block;
  object-fit: cover;
  background: var(--color-white, #ffffff);
}
.product-gallery__nav-main {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 15px;
  pointer-events: none;
  z-index: 10;
}
.product-gallery__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: var(--color-black, #1C202B);
  cursor: pointer;
  transition: all 0.25s ease;
  pointer-events: auto;
  padding: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
@media all and (max-width: 767px) {
  .product-gallery__arrow {
    width: 40px;
    height: 40px;
  }
}
.product-gallery__arrow:hover {
  background-color: var(--color-white, #ffffff);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  color: var(--brand-primary, #017F1A);
}
.product-gallery__arrow.slick-disabled, .product-gallery__arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.product-gallery__arrow.slick-disabled:hover, .product-gallery__arrow:disabled:hover {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  color: var(--color-black, #1C202B);
}
.product-gallery__arrow svg {
  width: 22px;
  height: 22px;
}
@media all and (max-width: 767px) {
  .product-gallery__arrow svg {
    width: 18px;
    height: 18px;
  }
}
.product-gallery__arrow--small {
  width: 34px;
  height: 34px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
@media all and (max-width: 767px) {
  .product-gallery__arrow--small {
    width: 30px;
    height: 30px;
  }
}
.product-gallery__arrow--small svg {
  width: 16px;
  height: 16px;
}
@media all and (max-width: 767px) {
  .product-gallery__arrow--small svg {
    width: 14px;
    height: 14px;
  }
}
.product-gallery__thumbs-wrapper {
  position: relative;
}
.product-gallery__thumbs {
  margin: 0 45px;
}
@media all and (max-width: 767px) {
  .product-gallery__thumbs {
    margin: 0 38px;
  }
}
.product-gallery__thumbs.slick-initialized .product-gallery__thumb {
  display: block;
}
.product-gallery__thumbs:not(.slick-initialized) {
  display: flex;
  gap: 10px;
  overflow: hidden;
  height: 84px;
}
.product-gallery__thumbs:not(.slick-initialized) .product-gallery__thumb {
  flex: 0 0 calc(20% - 8px);
  max-width: calc(20% - 8px);
}
.product-gallery__thumbs .slick-track {
  display: flex;
  gap: 10px;
}
.product-gallery__thumbs .slick-slide {
  margin: 0 5px;
}
.product-gallery__thumb {
  outline: none;
  cursor: pointer;
}
.product-gallery__thumb img {
  width: 100%;
  height: 80px;
  object-fit: cover;
  border: 2px solid var(--color-border, #dedede);
  border-radius: 6px;
  display: block;
  transition: border-color 0.2s ease, opacity 0.2s ease;
  opacity: 0.7;
}
@media all and (max-width: 767px) {
  .product-gallery__thumb img {
    height: 60px;
  }
}
.product-gallery__thumb:hover img {
  opacity: 1;
  border-color: var(--color-gray, #707070);
}
.product-gallery__thumb.slick-current img {
  border-color: var(--brand-primary, #017F1A);
  opacity: 1;
}
.product-gallery__nav-thumbs {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 10;
}
.product-gallery__nav-thumbs .product-gallery__arrow {
  pointer-events: auto;
}
.product-gallery__placeholder {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(222, 222, 222, 0.6);
}
.product-gallery__placeholder img {
  width: 100%;
  height: auto;
  display: block;
}

.product-content {
  padding: 40px 0 0;
}
@media all and (max-width: 767px) {
  .product-content {
    padding: 20px 0;
  }
}
.product-content .kb-row-layout-wrap {
  background-color: transparent !important;
}
.product-content > .container > h2, .woocommerce-cart .product-content > .woocommerce > h2, .woocommerce-checkout .product-content > .woocommerce > h2, .woocommerce-order-received .product-content > .woocommerce > h2, .product-content > .wp-block-woocommerce-checkout > h2, .product-content > .wp-block-woocommerce-cart > h2,
.product-content > .container > .wp-block-heading,
.woocommerce-cart .product-content > .woocommerce > .wp-block-heading,
.woocommerce-checkout .product-content > .woocommerce > .wp-block-heading,
.woocommerce-order-received .product-content > .woocommerce > .wp-block-heading,
.product-content > .wp-block-woocommerce-checkout > .wp-block-heading,
.product-content > .wp-block-woocommerce-cart > .wp-block-heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 40px 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--brand-primary, #017F1A);
}
.product-content > .container > h2:first-child, .woocommerce-cart .product-content > .woocommerce > h2:first-child, .woocommerce-checkout .product-content > .woocommerce > h2:first-child, .woocommerce-order-received .product-content > .woocommerce > h2:first-child, .product-content > .wp-block-woocommerce-checkout > h2:first-child, .product-content > .wp-block-woocommerce-cart > h2:first-child,
.product-content > .container > .wp-block-heading:first-child,
.woocommerce-cart .product-content > .woocommerce > .wp-block-heading:first-child,
.woocommerce-checkout .product-content > .woocommerce > .wp-block-heading:first-child,
.woocommerce-order-received .product-content > .woocommerce > .wp-block-heading:first-child,
.product-content > .wp-block-woocommerce-checkout > .wp-block-heading:first-child,
.product-content > .wp-block-woocommerce-cart > .wp-block-heading:first-child {
  margin-top: 0;
}
@media all and (max-width: 767px) {
  .product-content > .container > h2, .woocommerce-cart .product-content > .woocommerce > h2, .woocommerce-checkout .product-content > .woocommerce > h2, .woocommerce-order-received .product-content > .woocommerce > h2, .product-content > .wp-block-woocommerce-checkout > h2, .product-content > .wp-block-woocommerce-cart > h2,
  .product-content > .container > .wp-block-heading,
  .woocommerce-cart .product-content > .woocommerce > .wp-block-heading,
  .woocommerce-checkout .product-content > .woocommerce > .wp-block-heading,
  .woocommerce-order-received .product-content > .woocommerce > .wp-block-heading,
  .product-content > .wp-block-woocommerce-checkout > .wp-block-heading,
  .product-content > .wp-block-woocommerce-cart > .wp-block-heading {
    font-size: 19px;
    margin: 30px 0 12px;
  }
}
.product-content > .container > h3, .woocommerce-cart .product-content > .woocommerce > h3, .woocommerce-checkout .product-content > .woocommerce > h3, .woocommerce-order-received .product-content > .woocommerce > h3, .product-content > .wp-block-woocommerce-checkout > h3, .product-content > .wp-block-woocommerce-cart > h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 30px 0 12px;
}
@media all and (max-width: 767px) {
  .product-content > .container > h3, .woocommerce-cart .product-content > .woocommerce > h3, .woocommerce-checkout .product-content > .woocommerce > h3, .woocommerce-order-received .product-content > .woocommerce > h3, .product-content > .wp-block-woocommerce-checkout > h3, .product-content > .wp-block-woocommerce-cart > h3 {
    font-size: 16px;
  }
}
.product-content > .container > h4, .woocommerce-cart .product-content > .woocommerce > h4, .woocommerce-checkout .product-content > .woocommerce > h4, .woocommerce-order-received .product-content > .woocommerce > h4, .product-content > .wp-block-woocommerce-checkout > h4, .product-content > .wp-block-woocommerce-cart > h4 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-gray, #707070);
  margin: 20px 0 10px;
}
@media all and (max-width: 767px) {
  .product-content > .container > h4, .woocommerce-cart .product-content > .woocommerce > h4, .woocommerce-checkout .product-content > .woocommerce > h4, .woocommerce-order-received .product-content > .woocommerce > h4, .product-content > .wp-block-woocommerce-checkout > h4, .product-content > .wp-block-woocommerce-cart > h4 {
    font-size: 15px;
  }
}
.product-content > .container > p, .woocommerce-cart .product-content > .woocommerce > p, .woocommerce-checkout .product-content > .woocommerce > p, .woocommerce-order-received .product-content > .woocommerce > p, .product-content > .wp-block-woocommerce-checkout > p, .product-content > .wp-block-woocommerce-cart > p,
.product-content > .container > .wp-block-paragraph,
.woocommerce-cart .product-content > .woocommerce > .wp-block-paragraph,
.woocommerce-checkout .product-content > .woocommerce > .wp-block-paragraph,
.woocommerce-order-received .product-content > .woocommerce > .wp-block-paragraph,
.product-content > .wp-block-woocommerce-checkout > .wp-block-paragraph,
.product-content > .wp-block-woocommerce-cart > .wp-block-paragraph {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin: 0 0 16px;
  max-width: 900px;
}
.product-content > .container > ul, .woocommerce-cart .product-content > .woocommerce > ul, .woocommerce-checkout .product-content > .woocommerce > ul, .woocommerce-order-received .product-content > .woocommerce > ul, .product-content > .wp-block-woocommerce-checkout > ul, .product-content > .wp-block-woocommerce-cart > ul,
.product-content > .container > div > ul,
.woocommerce-cart .product-content > .woocommerce > div > ul,
.woocommerce-checkout .product-content > .woocommerce > div > ul,
.woocommerce-order-received .product-content > .woocommerce > div > ul,
.product-content > .wp-block-woocommerce-checkout > div > ul,
.product-content > .wp-block-woocommerce-cart > div > ul,
.product-content > .container > .wp-block-list,
.woocommerce-cart .product-content > .woocommerce > .wp-block-list,
.woocommerce-checkout .product-content > .woocommerce > .wp-block-list,
.woocommerce-order-received .product-content > .woocommerce > .wp-block-list,
.product-content > .wp-block-woocommerce-checkout > .wp-block-list,
.product-content > .wp-block-woocommerce-cart > .wp-block-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  max-width: 900px;
}
.product-content > .container > ul li, .woocommerce-cart .product-content > .woocommerce > ul li, .woocommerce-checkout .product-content > .woocommerce > ul li, .woocommerce-order-received .product-content > .woocommerce > ul li, .product-content > .wp-block-woocommerce-checkout > ul li, .product-content > .wp-block-woocommerce-cart > ul li,
.product-content > .container > div > ul li,
.woocommerce-cart .product-content > .woocommerce > div > ul li,
.woocommerce-checkout .product-content > .woocommerce > div > ul li,
.woocommerce-order-received .product-content > .woocommerce > div > ul li,
.product-content > .wp-block-woocommerce-checkout > div > ul li,
.product-content > .wp-block-woocommerce-cart > div > ul li,
.product-content > .container > .wp-block-list li,
.woocommerce-cart .product-content > .woocommerce > .wp-block-list li,
.woocommerce-checkout .product-content > .woocommerce > .wp-block-list li,
.woocommerce-order-received .product-content > .woocommerce > .wp-block-list li,
.product-content > .wp-block-woocommerce-checkout > .wp-block-list li,
.product-content > .wp-block-woocommerce-cart > .wp-block-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
}
.product-content > .container > ul li::before, .woocommerce-cart .product-content > .woocommerce > ul li::before, .woocommerce-checkout .product-content > .woocommerce > ul li::before, .woocommerce-order-received .product-content > .woocommerce > ul li::before, .product-content > .wp-block-woocommerce-checkout > ul li::before, .product-content > .wp-block-woocommerce-cart > ul li::before,
.product-content > .container > div > ul li::before,
.woocommerce-cart .product-content > .woocommerce > div > ul li::before,
.woocommerce-checkout .product-content > .woocommerce > div > ul li::before,
.woocommerce-order-received .product-content > .woocommerce > div > ul li::before,
.product-content > .wp-block-woocommerce-checkout > div > ul li::before,
.product-content > .wp-block-woocommerce-cart > div > ul li::before,
.product-content > .container > .wp-block-list li::before,
.woocommerce-cart .product-content > .woocommerce > .wp-block-list li::before,
.woocommerce-checkout .product-content > .woocommerce > .wp-block-list li::before,
.woocommerce-order-received .product-content > .woocommerce > .wp-block-list li::before,
.product-content > .wp-block-woocommerce-checkout > .wp-block-list li::before,
.product-content > .wp-block-woocommerce-cart > .wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--brand-primary, #017F1A);
}
.product-content > .container > ol, .woocommerce-cart .product-content > .woocommerce > ol, .woocommerce-checkout .product-content > .woocommerce > ol, .woocommerce-order-received .product-content > .woocommerce > ol, .product-content > .wp-block-woocommerce-checkout > ol, .product-content > .wp-block-woocommerce-cart > ol {
  padding-left: 20px;
  margin: 0 0 24px;
  max-width: 900px;
}
.product-content > .container > ol li, .woocommerce-cart .product-content > .woocommerce > ol li, .woocommerce-checkout .product-content > .woocommerce > ol li, .woocommerce-order-received .product-content > .woocommerce > ol li, .product-content > .wp-block-woocommerce-checkout > ol li, .product-content > .wp-block-woocommerce-cart > ol li {
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
}
.product-content > .container > table, .woocommerce-cart .product-content > .woocommerce > table, .woocommerce-checkout .product-content > .woocommerce > table, .woocommerce-order-received .product-content > .woocommerce > table, .product-content > .wp-block-woocommerce-checkout > table, .product-content > .wp-block-woocommerce-cart > table,
.product-content > .container > div > table,
.woocommerce-cart .product-content > .woocommerce > div > table,
.woocommerce-checkout .product-content > .woocommerce > div > table,
.woocommerce-order-received .product-content > .woocommerce > div > table,
.product-content > .wp-block-woocommerce-checkout > div > table,
.product-content > .wp-block-woocommerce-cart > div > table {
  width: 100%;
  max-width: 800px;
  border-collapse: collapse;
  margin: 0 0 30px;
  font-size: 14px;
}
.product-content > .container > table thead th, .woocommerce-cart .product-content > .woocommerce > table thead th, .woocommerce-checkout .product-content > .woocommerce > table thead th, .woocommerce-order-received .product-content > .woocommerce > table thead th, .product-content > .wp-block-woocommerce-checkout > table thead th, .product-content > .wp-block-woocommerce-cart > table thead th,
.product-content > .container > div > table thead th,
.woocommerce-cart .product-content > .woocommerce > div > table thead th,
.woocommerce-checkout .product-content > .woocommerce > div > table thead th,
.woocommerce-order-received .product-content > .woocommerce > div > table thead th,
.product-content > .wp-block-woocommerce-checkout > div > table thead th,
.product-content > .wp-block-woocommerce-cart > div > table thead th {
  background-color: var(--color-black, #1C202B);
  color: #fff;
  font-weight: 600;
  padding: 10px 16px;
  text-align: left;
}
.product-content > .container > table tr, .woocommerce-cart .product-content > .woocommerce > table tr, .woocommerce-checkout .product-content > .woocommerce > table tr, .woocommerce-order-received .product-content > .woocommerce > table tr, .product-content > .wp-block-woocommerce-checkout > table tr, .product-content > .wp-block-woocommerce-cart > table tr,
.product-content > .container > div > table tr,
.woocommerce-cart .product-content > .woocommerce > div > table tr,
.woocommerce-checkout .product-content > .woocommerce > div > table tr,
.woocommerce-order-received .product-content > .woocommerce > div > table tr,
.product-content > .wp-block-woocommerce-checkout > div > table tr,
.product-content > .wp-block-woocommerce-cart > div > table tr {
  border-bottom: 1px solid var(--color-border, #dedede);
}
.product-content > .container > table tr:nth-child(even), .woocommerce-cart .product-content > .woocommerce > table tr:nth-child(even), .woocommerce-checkout .product-content > .woocommerce > table tr:nth-child(even), .woocommerce-order-received .product-content > .woocommerce > table tr:nth-child(even), .product-content > .wp-block-woocommerce-checkout > table tr:nth-child(even), .product-content > .wp-block-woocommerce-cart > table tr:nth-child(even),
.product-content > .container > div > table tr:nth-child(even),
.woocommerce-cart .product-content > .woocommerce > div > table tr:nth-child(even),
.woocommerce-checkout .product-content > .woocommerce > div > table tr:nth-child(even),
.woocommerce-order-received .product-content > .woocommerce > div > table tr:nth-child(even),
.product-content > .wp-block-woocommerce-checkout > div > table tr:nth-child(even),
.product-content > .wp-block-woocommerce-cart > div > table tr:nth-child(even) {
  background-color: #fafafa;
}
.product-content > .container > table td, .woocommerce-cart .product-content > .woocommerce > table td, .woocommerce-checkout .product-content > .woocommerce > table td, .woocommerce-order-received .product-content > .woocommerce > table td, .product-content > .wp-block-woocommerce-checkout > table td, .product-content > .wp-block-woocommerce-cart > table td, .product-content > .container > table th, .woocommerce-cart .product-content > .woocommerce > table th, .woocommerce-checkout .product-content > .woocommerce > table th, .woocommerce-order-received .product-content > .woocommerce > table th, .product-content > .wp-block-woocommerce-checkout > table th, .product-content > .wp-block-woocommerce-cart > table th,
.product-content > .container > div > table td,
.woocommerce-cart .product-content > .woocommerce > div > table td,
.woocommerce-checkout .product-content > .woocommerce > div > table td,
.woocommerce-order-received .product-content > .woocommerce > div > table td,
.product-content > .wp-block-woocommerce-checkout > div > table td,
.product-content > .wp-block-woocommerce-cart > div > table td,
.product-content > .container > div > table th,
.woocommerce-cart .product-content > .woocommerce > div > table th,
.woocommerce-checkout .product-content > .woocommerce > div > table th,
.woocommerce-order-received .product-content > .woocommerce > div > table th,
.product-content > .wp-block-woocommerce-checkout > div > table th,
.product-content > .wp-block-woocommerce-cart > div > table th {
  padding: 10px 16px;
  vertical-align: top;
  color: var(--color-gray, #707070);
  line-height: 1.5;
}
.product-content > .container > table td:first-child, .woocommerce-cart .product-content > .woocommerce > table td:first-child, .woocommerce-checkout .product-content > .woocommerce > table td:first-child, .woocommerce-order-received .product-content > .woocommerce > table td:first-child, .product-content > .wp-block-woocommerce-checkout > table td:first-child, .product-content > .wp-block-woocommerce-cart > table td:first-child, .product-content > .container > table th:first-child, .woocommerce-cart .product-content > .woocommerce > table th:first-child, .woocommerce-checkout .product-content > .woocommerce > table th:first-child, .woocommerce-order-received .product-content > .woocommerce > table th:first-child, .product-content > .wp-block-woocommerce-checkout > table th:first-child, .product-content > .wp-block-woocommerce-cart > table th:first-child,
.product-content > .container > div > table td:first-child,
.woocommerce-cart .product-content > .woocommerce > div > table td:first-child,
.woocommerce-checkout .product-content > .woocommerce > div > table td:first-child,
.woocommerce-order-received .product-content > .woocommerce > div > table td:first-child,
.product-content > .wp-block-woocommerce-checkout > div > table td:first-child,
.product-content > .wp-block-woocommerce-cart > div > table td:first-child,
.product-content > .container > div > table th:first-child,
.woocommerce-cart .product-content > .woocommerce > div > table th:first-child,
.woocommerce-checkout .product-content > .woocommerce > div > table th:first-child,
.woocommerce-order-received .product-content > .woocommerce > div > table th:first-child,
.product-content > .wp-block-woocommerce-checkout > div > table th:first-child,
.product-content > .wp-block-woocommerce-cart > div > table th:first-child {
  font-weight: 600;
  color: var(--color-black, #1C202B);
  white-space: nowrap;
  width: 180px;
}
@media all and (max-width: 767px) {
  .product-content > .container > table td:first-child, .woocommerce-cart .product-content > .woocommerce > table td:first-child, .woocommerce-checkout .product-content > .woocommerce > table td:first-child, .woocommerce-order-received .product-content > .woocommerce > table td:first-child, .product-content > .wp-block-woocommerce-checkout > table td:first-child, .product-content > .wp-block-woocommerce-cart > table td:first-child, .product-content > .container > table th:first-child, .woocommerce-cart .product-content > .woocommerce > table th:first-child, .woocommerce-checkout .product-content > .woocommerce > table th:first-child, .woocommerce-order-received .product-content > .woocommerce > table th:first-child, .product-content > .wp-block-woocommerce-checkout > table th:first-child, .product-content > .wp-block-woocommerce-cart > table th:first-child,
  .product-content > .container > div > table td:first-child,
  .woocommerce-cart .product-content > .woocommerce > div > table td:first-child,
  .woocommerce-checkout .product-content > .woocommerce > div > table td:first-child,
  .woocommerce-order-received .product-content > .woocommerce > div > table td:first-child,
  .product-content > .wp-block-woocommerce-checkout > div > table td:first-child,
  .product-content > .wp-block-woocommerce-cart > div > table td:first-child,
  .product-content > .container > div > table th:first-child,
  .woocommerce-cart .product-content > .woocommerce > div > table th:first-child,
  .woocommerce-checkout .product-content > .woocommerce > div > table th:first-child,
  .woocommerce-order-received .product-content > .woocommerce > div > table th:first-child,
  .product-content > .wp-block-woocommerce-checkout > div > table th:first-child,
  .product-content > .wp-block-woocommerce-cart > div > table th:first-child {
    white-space: normal;
    width: auto;
  }
}
@media all and (max-width: 767px) {
  .product-content > .container > table, .woocommerce-cart .product-content > .woocommerce > table, .woocommerce-checkout .product-content > .woocommerce > table, .woocommerce-order-received .product-content > .woocommerce > table, .product-content > .wp-block-woocommerce-checkout > table, .product-content > .wp-block-woocommerce-cart > table,
  .product-content > .container > div > table,
  .woocommerce-cart .product-content > .woocommerce > div > table,
  .woocommerce-checkout .product-content > .woocommerce > div > table,
  .woocommerce-order-received .product-content > .woocommerce > div > table,
  .product-content > .wp-block-woocommerce-checkout > div > table,
  .product-content > .wp-block-woocommerce-cart > div > table {
    font-size: 13px;
  }
  .product-content > .container > table td, .woocommerce-cart .product-content > .woocommerce > table td, .woocommerce-checkout .product-content > .woocommerce > table td, .woocommerce-order-received .product-content > .woocommerce > table td, .product-content > .wp-block-woocommerce-checkout > table td, .product-content > .wp-block-woocommerce-cart > table td, .product-content > .container > table th, .woocommerce-cart .product-content > .woocommerce > table th, .woocommerce-checkout .product-content > .woocommerce > table th, .woocommerce-order-received .product-content > .woocommerce > table th, .product-content > .wp-block-woocommerce-checkout > table th, .product-content > .wp-block-woocommerce-cart > table th,
  .product-content > .container > div > table td,
  .woocommerce-cart .product-content > .woocommerce > div > table td,
  .woocommerce-checkout .product-content > .woocommerce > div > table td,
  .woocommerce-order-received .product-content > .woocommerce > div > table td,
  .product-content > .wp-block-woocommerce-checkout > div > table td,
  .product-content > .wp-block-woocommerce-cart > div > table td,
  .product-content > .container > div > table th,
  .woocommerce-cart .product-content > .woocommerce > div > table th,
  .woocommerce-checkout .product-content > .woocommerce > div > table th,
  .woocommerce-order-received .product-content > .woocommerce > div > table th,
  .product-content > .wp-block-woocommerce-checkout > div > table th,
  .product-content > .wp-block-woocommerce-cart > div > table th {
    padding: 8px 12px;
  }
}
.product-content > .container > img, .woocommerce-cart .product-content > .woocommerce > img, .woocommerce-checkout .product-content > .woocommerce > img, .woocommerce-order-received .product-content > .woocommerce > img, .product-content > .wp-block-woocommerce-checkout > img, .product-content > .wp-block-woocommerce-cart > img,
.product-content > .container > figure img,
.woocommerce-cart .product-content > .woocommerce > figure img,
.woocommerce-checkout .product-content > .woocommerce > figure img,
.woocommerce-order-received .product-content > .woocommerce > figure img,
.product-content > .wp-block-woocommerce-checkout > figure img,
.product-content > .wp-block-woocommerce-cart > figure img,
.product-content > .container > .wp-block-image img,
.woocommerce-cart .product-content > .woocommerce > .wp-block-image img,
.woocommerce-checkout .product-content > .woocommerce > .wp-block-image img,
.woocommerce-order-received .product-content > .woocommerce > .wp-block-image img,
.product-content > .wp-block-woocommerce-checkout > .wp-block-image img,
.product-content > .wp-block-woocommerce-cart > .wp-block-image img,
.product-content > .container > p > img,
.woocommerce-cart .product-content > .woocommerce > p > img,
.woocommerce-checkout .product-content > .woocommerce > p > img,
.woocommerce-order-received .product-content > .woocommerce > p > img,
.product-content > .wp-block-woocommerce-checkout > p > img,
.product-content > .wp-block-woocommerce-cart > p > img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-base, 0px);
  margin: 10px 0 20px;
}
.product-content > .container > figure, .woocommerce-cart .product-content > .woocommerce > figure, .woocommerce-checkout .product-content > .woocommerce > figure, .woocommerce-order-received .product-content > .woocommerce > figure, .product-content > .wp-block-woocommerce-checkout > figure, .product-content > .wp-block-woocommerce-cart > figure,
.product-content > .container > .wp-block-image,
.woocommerce-cart .product-content > .woocommerce > .wp-block-image,
.woocommerce-checkout .product-content > .woocommerce > .wp-block-image,
.woocommerce-order-received .product-content > .woocommerce > .wp-block-image,
.product-content > .wp-block-woocommerce-checkout > .wp-block-image,
.product-content > .wp-block-woocommerce-cart > .wp-block-image {
  margin: 0 0 24px;
}
.product-content > .container > a, .woocommerce-cart .product-content > .woocommerce > a, .woocommerce-checkout .product-content > .woocommerce > a, .woocommerce-order-received .product-content > .woocommerce > a, .product-content > .wp-block-woocommerce-checkout > a, .product-content > .wp-block-woocommerce-cart > a,
.product-content > .container > p a,
.woocommerce-cart .product-content > .woocommerce > p a,
.woocommerce-checkout .product-content > .woocommerce > p a,
.woocommerce-order-received .product-content > .woocommerce > p a,
.product-content > .wp-block-woocommerce-checkout > p a,
.product-content > .wp-block-woocommerce-cart > p a,
.product-content > .container > div:not(.acf-block-gb):not([class*=__]) a,
.woocommerce-cart .product-content > .woocommerce > div:not(.acf-block-gb):not([class*=__]) a,
.woocommerce-checkout .product-content > .woocommerce > div:not(.acf-block-gb):not([class*=__]) a,
.woocommerce-order-received .product-content > .woocommerce > div:not(.acf-block-gb):not([class*=__]) a,
.product-content > .wp-block-woocommerce-checkout > div:not(.acf-block-gb):not([class*=__]) a,
.product-content > .wp-block-woocommerce-cart > div:not(.acf-block-gb):not([class*=__]) a,
.product-content > .container > ul a,
.woocommerce-cart .product-content > .woocommerce > ul a,
.woocommerce-checkout .product-content > .woocommerce > ul a,
.woocommerce-order-received .product-content > .woocommerce > ul a,
.product-content > .wp-block-woocommerce-checkout > ul a,
.product-content > .wp-block-woocommerce-cart > ul a,
.product-content > .container > ol a,
.woocommerce-cart .product-content > .woocommerce > ol a,
.woocommerce-checkout .product-content > .woocommerce > ol a,
.woocommerce-order-received .product-content > .woocommerce > ol a,
.product-content > .wp-block-woocommerce-checkout > ol a,
.product-content > .wp-block-woocommerce-cart > ol a {
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
  transition: color var(--transition-fast, 0.15s ease);
}
.product-content > .container > a:hover, .woocommerce-cart .product-content > .woocommerce > a:hover, .woocommerce-checkout .product-content > .woocommerce > a:hover, .woocommerce-order-received .product-content > .woocommerce > a:hover, .product-content > .wp-block-woocommerce-checkout > a:hover, .product-content > .wp-block-woocommerce-cart > a:hover,
.product-content > .container > p a:hover,
.woocommerce-cart .product-content > .woocommerce > p a:hover,
.woocommerce-checkout .product-content > .woocommerce > p a:hover,
.woocommerce-order-received .product-content > .woocommerce > p a:hover,
.product-content > .wp-block-woocommerce-checkout > p a:hover,
.product-content > .wp-block-woocommerce-cart > p a:hover,
.product-content > .container > div:not(.acf-block-gb):not([class*=__]) a:hover,
.woocommerce-cart .product-content > .woocommerce > div:not(.acf-block-gb):not([class*=__]) a:hover,
.woocommerce-checkout .product-content > .woocommerce > div:not(.acf-block-gb):not([class*=__]) a:hover,
.woocommerce-order-received .product-content > .woocommerce > div:not(.acf-block-gb):not([class*=__]) a:hover,
.product-content > .wp-block-woocommerce-checkout > div:not(.acf-block-gb):not([class*=__]) a:hover,
.product-content > .wp-block-woocommerce-cart > div:not(.acf-block-gb):not([class*=__]) a:hover,
.product-content > .container > ul a:hover,
.woocommerce-cart .product-content > .woocommerce > ul a:hover,
.woocommerce-checkout .product-content > .woocommerce > ul a:hover,
.woocommerce-order-received .product-content > .woocommerce > ul a:hover,
.product-content > .wp-block-woocommerce-checkout > ul a:hover,
.product-content > .wp-block-woocommerce-cart > ul a:hover,
.product-content > .container > ol a:hover,
.woocommerce-cart .product-content > .woocommerce > ol a:hover,
.woocommerce-checkout .product-content > .woocommerce > ol a:hover,
.woocommerce-order-received .product-content > .woocommerce > ol a:hover,
.product-content > .wp-block-woocommerce-checkout > ol a:hover,
.product-content > .wp-block-woocommerce-cart > ol a:hover {
  color: var(--brand-primary-dark, #015d13);
  text-decoration: underline;
}
.product-content > .container > p > strong:only-child, .woocommerce-cart .product-content > .woocommerce > p > strong:only-child, .woocommerce-checkout .product-content > .woocommerce > p > strong:only-child, .woocommerce-order-received .product-content > .woocommerce > p > strong:only-child, .product-content > .wp-block-woocommerce-checkout > p > strong:only-child, .product-content > .wp-block-woocommerce-cart > p > strong:only-child,
.product-content > .container > p > b:only-child,
.woocommerce-cart .product-content > .woocommerce > p > b:only-child,
.woocommerce-checkout .product-content > .woocommerce > p > b:only-child,
.woocommerce-order-received .product-content > .woocommerce > p > b:only-child,
.product-content > .wp-block-woocommerce-checkout > p > b:only-child,
.product-content > .wp-block-woocommerce-cart > p > b:only-child {
  display: block;
  font-size: 16px;
  color: var(--color-black, #1C202B);
  margin-bottom: 4px;
}
.product-content > .container > div, .woocommerce-cart .product-content > .woocommerce > div, .woocommerce-checkout .product-content > .woocommerce > div, .woocommerce-order-received .product-content > .woocommerce > div, .product-content > .wp-block-woocommerce-checkout > div, .product-content > .wp-block-woocommerce-cart > div {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin-bottom: 16px;
}
.product-content > .container > div > h4, .woocommerce-cart .product-content > .woocommerce > div > h4, .woocommerce-checkout .product-content > .woocommerce > div > h4, .woocommerce-order-received .product-content > .woocommerce > div > h4, .product-content > .wp-block-woocommerce-checkout > div > h4, .product-content > .wp-block-woocommerce-cart > div > h4 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 20px 0 10px;
}
.product-content > .container > hr, .woocommerce-cart .product-content > .woocommerce > hr, .woocommerce-checkout .product-content > .woocommerce > hr, .woocommerce-order-received .product-content > .woocommerce > hr, .product-content > .wp-block-woocommerce-checkout > hr, .product-content > .wp-block-woocommerce-cart > hr {
  border: none;
  border-top: 1px solid var(--color-border, #dedede);
  margin: 30px 0;
}
.product-content > .container > h2 > s,
.product-content > .container s,
.woocommerce-cart .product-content > .woocommerce s,
.woocommerce-checkout .product-content > .woocommerce s,
.woocommerce-order-received .product-content > .woocommerce s,
.product-content > .wp-block-woocommerce-checkout s,
.product-content > .wp-block-woocommerce-cart s {
  color: #a3a3a3;
}

.single-product .woocommerce-product-gallery {
  display: none !important;
}

.product-dokumenty-in {
  padding: 12px 0 24px;
  font-size: 12px;
  color: var(--color-gray, #707070);
}
.product-dokumenty-in__etykieta {
  font-weight: 600;
  margin-right: 4px;
}
.product-dokumenty-in a {
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
}
.product-dokumenty-in a:hover {
  text-decoration: underline;
}

.woocommerce ul.products li.product.product-card-horizontal,
li.product.product-card-horizontal {
  list-style: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

.product-card-horizontal {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  width: 100%;
}
.product-card-horizontal__link {
  display: grid !important;
  grid-template-columns: 200px 1fr 300px !important;
  grid-template-rows: auto;
  gap: 25px;
  padding: 20px;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  text-decoration: none;
  color: inherit;
  transition: box-shadow var(--transition-base, 0.3s ease), border-color var(--transition-base, 0.3s ease);
  width: 100%;
  align-items: start;
}
.product-card-horizontal__link:hover {
  border-color: var(--brand-primary, #017F1A);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1199px) {
  .product-card-horizontal__link {
    grid-template-columns: 180px 1fr 260px !important;
    gap: 20px;
    padding: 15px;
  }
}
@media (max-width: 991px) {
  .product-card-horizontal__link {
    grid-template-columns: 180px 1fr !important;
    gap: 15px;
  }
}
@media all and (max-width: 767px) {
  .product-card-horizontal__link {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }
}
.product-card-horizontal__image {
  position: relative;
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  min-width: 0;
  height: fit-content;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}
.product-card-horizontal__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 4/3;
  transition: transform var(--transition-base, 0.3s ease);
  margin-bottom: 0;
  vertical-align: middle;
}
.product-card-horizontal__link:hover .product-card-horizontal__image img {
  transform: scale(1.03);
}
@media (max-width: 991px) {
  .product-card-horizontal__image {
    grid-row: 1/3;
  }
}
@media all and (max-width: 767px) {
  .product-card-horizontal__image {
    border-radius: var(--radius-base, 0px) var(--radius-base, 0px) 0 0;
  }
  .product-card-horizontal__image img {
    aspect-ratio: 16/10;
  }
}
.product-card-horizontal__main {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 5px 0;
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
}
@media (max-width: 991px) {
  .product-card-horizontal__main {
    grid-column: 2;
    grid-row: 1;
  }
}
@media all and (max-width: 767px) {
  .product-card-horizontal__main {
    padding: 15px;
    grid-column: auto;
    grid-row: auto;
  }
}
.product-card-horizontal__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
  margin: 0 0 12px;
  line-height: 1.3;
}
@media (max-width: 1199px) {
  .product-card-horizontal__title {
    font-size: 18px;
  }
}
@media all and (max-width: 767px) {
  .product-card-horizontal__title {
    font-size: 18px;
    margin-bottom: 10px;
  }
}
.product-card-horizontal__specs {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.product-card-horizontal__spec {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  color: var(--color-gray, #707070);
  line-height: 1.4;
}
@media all and (max-width: 767px) {
  .product-card-horizontal__spec {
    font-size: 13px;
  }
}
.product-card-horizontal__spec-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-primary, #017F1A);
  margin-top: 1px;
}
.product-card-horizontal__spec-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin-bottom: 0 !important;
}
.product-card-horizontal__spec-icon svg {
  width: 100%;
  height: 100%;
}
.product-card-horizontal__spec-icon--empty {
  visibility: hidden;
}
.product-card-horizontal__spec-text {
  flex: 1;
}
.product-card-horizontal__description {
  font-size: 13px;
  color: var(--color-gray, #707070);
  line-height: 1.5;
  margin-top: 8px;
}
.product-card-horizontal__side {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 5px 0;
  border-left: 1px solid var(--color-border, #dedede);
  padding-left: 25px;
  min-width: 0;
  grid-column: 3;
  grid-row: 1;
  gap: 10px;
}
@media (max-width: 1199px) {
  .product-card-horizontal__side {
    padding-left: 20px;
  }
}
@media (max-width: 991px) {
  .product-card-horizontal__side {
    grid-column: 2;
    grid-row: 2;
    border-left: none;
    padding-left: 0;
    padding-top: 15px;
    border-top: 1px solid var(--color-border, #dedede);
  }
}
@media all and (max-width: 767px) {
  .product-card-horizontal__side {
    padding: 15px;
    padding-top: 0;
    border-top: none;
    gap: 12px;
    grid-column: auto;
    grid-row: auto;
  }
}
.product-card-horizontal__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 36px;
}
.product-card-horizontal__badges:empty {
  min-height: 0;
}
@media all and (max-width: 767px) {
  .product-card-horizontal__badges {
    min-height: 30px;
  }
}
.product-card-horizontal__badge img {
  display: block;
  max-height: 36px;
  width: auto;
}
@media all and (max-width: 767px) {
  .product-card-horizontal__badge img {
    max-height: 30px;
  }
}
.product-card-horizontal__extra-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 32px;
}
.product-card-horizontal__extra-info:empty {
  min-height: 0;
}
.product-card-horizontal__info-item {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12px;
  color: var(--color-gray, #707070);
  line-height: 1.4;
}
.product-card-horizontal__info-icon {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray, #707070);
  margin-top: 1px;
}
.product-card-horizontal__info-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin-bottom: 0 !important;
}
.product-card-horizontal__info-icon svg {
  width: 100%;
  height: 100%;
}
.product-card-horizontal__info-icon--empty {
  visibility: hidden;
}
.product-card-horizontal__info-text {
  flex: 1;
}
.product-card-horizontal__price {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
}
.product-card-horizontal__price:empty {
  min-height: 0;
}
.product-card-horizontal__price-from {
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
}
.product-card-horizontal__price-value {
  font-size: 26px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  line-height: 1;
}
.product-card-horizontal__price-value .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: inherit;
}
.product-card-horizontal__price-value .woocommerce-Price-currencySymbol {
  font-size: 0.7em;
}
@media all and (max-width: 767px) {
  .product-card-horizontal__price-value {
    font-size: 22px;
  }
}
.product-card-horizontal__price-vat {
  font-size: 12px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  line-height: 1.2;
}
.product-card-horizontal__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  background: var(--brand-yellow, #FFC107);
  color: var(--color-black, #1C202B);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-radius: var(--radius-button, 4px);
  text-align: center;
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
  margin-top: auto;
}
.product-card-horizontal__link:hover .product-card-horizontal__button {
  background: rgb(221.2, 165.9, 0);
}
@media all and (max-width: 767px) {
  .product-card-horizontal__button {
    padding: 14px 20px;
    font-size: 12px;
  }
}
.product-card-horizontal__placeholder {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px 10px;
  background: rgba(222, 222, 222, 0.3);
  border: 1px dashed var(--color-gray-light, #dedede);
  border-radius: 4px;
  cursor: help;
}
.product-card-horizontal__placeholder::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 12px;
  background: var(--color-black, #1C202B);
  color: var(--color-white, #ffffff);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 100;
  pointer-events: none;
}
.product-card-horizontal__placeholder::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--color-black, #1C202B);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 100;
}
.product-card-horizontal__placeholder:hover::after, .product-card-horizontal__placeholder:hover::before {
  opacity: 1;
  visibility: visible;
}
.product-card-horizontal__placeholder--description {
  margin-top: 8px;
}
.product-card-horizontal__placeholder--info {
  min-height: 32px;
}
.product-card-horizontal__placeholder--price {
  flex-direction: row;
  padding: 4px 8px;
}
.product-card-horizontal__placeholder-bar {
  height: 12px;
  background: linear-gradient(90deg, var(--color-gray-light, #dedede) 0%, rgb(234.75, 234.75, 234.75) 50%, var(--color-gray-light, #dedede) 100%);
  border-radius: 3px;
  filter: blur(1px);
  opacity: 0.7;
}
.product-card-horizontal__placeholder-bar:nth-child(1) {
  width: 85%;
}
.product-card-horizontal__placeholder-bar:nth-child(2) {
  width: 65%;
}
.product-card-horizontal__placeholder-bar:nth-child(3) {
  width: 75%;
}
.product-card-horizontal__placeholder-bar:nth-child(4) {
  width: 55%;
}
.product-card-horizontal__placeholder-bar--wide {
  width: 100% !important;
}
.product-card-horizontal__placeholder-bar--medium {
  width: 70% !important;
}
.product-card-horizontal__placeholder-bar--short {
  width: 50% !important;
}
.product-card-horizontal__placeholder-bar--price {
  width: 100px !important;
  height: 20px;
}

.product-card-horizontal__attrs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding: 8px 20px 10px;
  border-top: 1px dashed var(--color-border, #dedede);
  font-size: 11px;
  color: var(--color-gray, #707070);
  line-height: 1.4;
}

.product-card-horizontal__attr {
  white-space: nowrap;
}

.product-card-horizontal__attr-label {
  font-weight: 600;
  color: var(--color-black, #1C202B);
}

.woo-archive .products {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}

.stdv-filters {
  position: relative;
}
.stdv-filters__mobile-toggle {
  display: none;
  width: 100%;
  padding: 14px 20px;
  background: var(--color-white, #ffffff);
  border: 2px solid var(--brand-primary, #017F1A);
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  cursor: pointer;
  transition: all 0.3s ease;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.stdv-filters__mobile-toggle:hover {
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
@media all and (max-width: 991px) {
  .stdv-filters__mobile-toggle {
    display: flex;
  }
}
.stdv-filters__mobile-toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.stdv-filters__mobile-toggle-icon svg {
  transition: transform 0.3s ease;
}
.stdv-filters__mobile-toggle-count {
  display: none;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 12px;
  font-weight: 700;
  border-radius: 11px;
  line-height: 22px;
  text-align: center;
}
.stdv-filters__mobile-toggle:hover .stdv-filters__mobile-toggle-count {
  background: var(--color-white, #ffffff);
  color: var(--brand-primary, #017F1A);
}
.stdv-filters__panel {
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
@media all and (max-width: 991px) {
  .stdv-filters__panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 400px;
    z-index: 1100;
    border-radius: 0;
    box-shadow: -4px 0 30px rgba(0, 0, 0, 0.15);
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .stdv-filters.is-open .stdv-filters__panel {
    transform: translateX(0);
  }
}
.stdv-filters__header {
  display: none;
  padding: 20px 24px;
  border-bottom: 1px solid var(--color-border, #dedede);
  align-items: center;
  justify-content: space-between;
  background: var(--color-white, #ffffff);
  position: sticky;
  top: 0;
  z-index: 10;
}
@media all and (max-width: 991px) {
  .stdv-filters__header {
    display: flex;
  }
}
.stdv-filters__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0;
}
.stdv-filters__close {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-background, #f3f3f3);
  border: none;
  border-radius: 50%;
  color: var(--color-gray, #707070);
  cursor: pointer;
  transition: all 0.2s ease;
}
.stdv-filters__close:hover {
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  transform: rotate(90deg);
}
.stdv-filters__active {
  padding: 16px 20px;
  background: rgba(1, 127, 26, 0.04);
  border-bottom: 1px solid var(--color-border, #dedede);
}
@media all and (max-width: 991px) {
  .stdv-filters__active {
    padding: 16px 24px;
  }
}
.stdv-filters__active-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.stdv-filters__clear-all {
  background: none;
  border: none;
  padding: 0;
  font-size: 13px;
  color: var(--brand-primary, #017F1A);
  cursor: pointer;
  text-decoration: underline;
  transition: color 0.2s ease;
}
.stdv-filters__clear-all:hover {
  color: var(--brand-primary-dark, #015d13);
}
.stdv-filters__active-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.stdv-filters__active-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 20px;
  font-size: 13px;
  color: var(--color-black, #1C202B);
  transition: all 0.2s ease;
}
.stdv-filters__active-tag:hover {
  border-color: var(--brand-primary, #017F1A);
}
.stdv-filters__active-tag-remove {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-background, #f3f3f3);
  border: none;
  border-radius: 50%;
  color: var(--color-gray, #707070);
  cursor: pointer;
  padding: 0;
  transition: all 0.2s ease;
}
.stdv-filters__active-tag-remove:hover {
  background: var(--color-error, #C70004);
  color: var(--color-white, #ffffff);
}
.stdv-filters__section {
  border-bottom: 1px solid var(--color-border, #dedede);
}
.stdv-filters__section:last-of-type {
  border-bottom: none;
}
.stdv-filters__section.is-collapsed .stdv-filters__section-content {
  display: none;
}
.stdv-filters__section.is-collapsed .stdv-filters__section-toggle svg {
  transform: rotate(-90deg);
}
.stdv-filters__section-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  background: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
}
.stdv-filters__section-header:hover {
  background: rgba(243, 243, 243, 0.5);
}
@media all and (max-width: 991px) {
  .stdv-filters__section-header {
    padding: 18px 24px;
  }
}
.stdv-filters__section-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.stdv-filters__section-toggle {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray, #707070);
}
.stdv-filters__section-toggle svg {
  transition: transform 0.2s ease;
}
.stdv-filters__section-content {
  padding: 0 20px 20px;
}
@media all and (max-width: 991px) {
  .stdv-filters__section-content {
    padding: 0 24px 24px;
  }
}
.stdv-filters__price-slider {
  padding-top: 10px;
}
.stdv-filters__price-track {
  position: relative;
  height: 6px;
  background: var(--color-background, #f3f3f3);
  border-radius: 3px;
  margin: 0 8px;
}
.stdv-filters__price-range {
  position: absolute;
  top: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--brand-primary, #017F1A), rgb(1.3984375, 177.6015625, 36.359375));
  border-radius: 3px;
  transition: left 0.1s, right 0.1s;
}
.stdv-filters__price-input, .stdv-filters__range-input {
  position: absolute;
  top: -8px;
  width: 100%;
  height: 22px;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: none;
  margin: 0;
}
.stdv-filters__price-input::-webkit-slider-thumb, .stdv-filters__range-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  background: var(--color-white, #ffffff);
  border: 3px solid var(--brand-primary, #017F1A);
  border-radius: 50%;
  cursor: pointer;
  pointer-events: all;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.stdv-filters__price-input::-webkit-slider-thumb:hover, .stdv-filters__range-input::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}
.stdv-filters__price-input::-webkit-slider-thumb:active, .stdv-filters__range-input::-webkit-slider-thumb:active {
  transform: scale(1.1);
  border-color: var(--brand-primary-dark, #015d13);
}
.stdv-filters__price-input::-moz-range-thumb, .stdv-filters__range-input::-moz-range-thumb {
  width: 22px;
  height: 22px;
  background: var(--color-white, #ffffff);
  border: 3px solid var(--brand-primary, #017F1A);
  border-radius: 50%;
  cursor: pointer;
  pointer-events: all;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.stdv-filters__price-input::-moz-range-thumb:hover, .stdv-filters__range-input::-moz-range-thumb:hover {
  transform: scale(1.15);
}
.stdv-filters__price-input::-webkit-slider-runnable-track, .stdv-filters__range-input::-webkit-slider-runnable-track {
  background: transparent;
}
.stdv-filters__price-input::-moz-range-track, .stdv-filters__range-input::-moz-range-track {
  background: transparent;
}
.stdv-filters__price-values {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
}
.stdv-filters__price-value {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}
.stdv-filters__price-number, .stdv-filters__range-number {
  width: 100%;
  padding: 10px 40px 10px 14px;
  border: 1px solid var(--color-border, #dedede);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  text-align: left;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -moz-appearance: textfield;
}
.stdv-filters__price-number::-webkit-outer-spin-button, .stdv-filters__range-number::-webkit-outer-spin-button, .stdv-filters__price-number::-webkit-inner-spin-button, .stdv-filters__range-number::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.stdv-filters__price-number:focus, .stdv-filters__range-number:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
  box-shadow: 0 0 0 3px rgba(1, 127, 26, 0.1);
}
.stdv-filters__price-currency {
  position: absolute;
  right: 14px;
  font-size: 13px;
  color: var(--color-gray, #707070);
  pointer-events: none;
}
.stdv-filters__price-separator {
  color: var(--color-gray-light, #dedede);
  font-size: 14px;
}
.stdv-filters__options {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stdv-filters__option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s ease, opacity 0.2s ease;
}
.stdv-filters__option:hover {
  background: var(--color-background, #f3f3f3);
}
.stdv-filters__option:has(.stdv-filters__checkbox:checked) {
  background: rgba(1, 127, 26, 0.06);
}
.stdv-filters__option.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
.stdv-filters__option.is-disabled .stdv-filters__option-count {
  background: transparent;
}
.stdv-filters__checkbox {
  flex-shrink: 0;
}
.stdv-filters__option-label {
  flex: 1;
  font-size: 14px;
  color: var(--color-black, #1C202B);
}
.stdv-filters__option-count {
  min-width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  color: var(--color-gray, #707070);
  background: var(--color-background, #f3f3f3);
  border-radius: 50%;
}
.stdv-filters__options.has-more .stdv-filters__option.is-hidden {
  display: none;
}
.stdv-filters__options.has-more.is-expanded .stdv-filters__option.is-hidden {
  display: flex;
}
.stdv-filters__show-more {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 8px 12px;
  background: none;
  border: none;
  font-size: 12px;
  color: var(--brand-primary, #017F1A);
  cursor: pointer;
  text-align: left;
  transition: color 0.2s ease;
}
.stdv-filters__show-more:hover {
  color: var(--brand-primary-dark, #015d13);
  text-decoration: underline;
}
.stdv-filters__show-more .stdv-filters__show-less-text {
  display: none;
}
.stdv-filters__show-more[data-expanded=true] .stdv-filters__show-more-text {
  display: none;
}
.stdv-filters__show-more[data-expanded=true] .stdv-filters__show-less-text {
  display: inline;
}
.stdv-filters__range-slider {
  padding-top: 10px;
}
.stdv-filters__empty-attributes {
  padding: 20px;
  text-align: center;
  color: var(--color-gray, #707070);
  font-size: 14px;
}
.stdv-filters__empty-attributes p {
  margin: 0;
}
.stdv-filters__footer {
  display: none;
  padding: 20px 24px;
  background: var(--color-white, #ffffff);
  border-top: 1px solid var(--color-border, #dedede);
  position: sticky;
  bottom: 0;
}
@media all and (max-width: 991px) {
  .stdv-filters__footer {
    display: block;
  }
}
.stdv-filters__apply {
  width: 100%;
  padding: 16px 24px;
  background: var(--brand-primary, #017F1A);
  border: none;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-white, #ffffff);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(1, 127, 26, 0.3);
}
.stdv-filters__apply:hover {
  background: var(--brand-primary-dark, #015d13);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(1, 127, 26, 0.4);
}
.stdv-filters__apply:active {
  transform: translateY(0);
}
.stdv-filters__apply-count {
  opacity: 0.8;
}
.stdv-filters__overlay {
  display: none;
}
@media all and (max-width: 991px) {
  .stdv-filters__overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(28, 32, 43, 0.5);
    z-index: 1099;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    backdrop-filter: blur(4px);
  }
  .stdv-filters.is-open .stdv-filters__overlay {
    opacity: 1;
    visibility: visible;
  }
}

@media all and (max-width: 991px) {
  body.filters-open {
    overflow: hidden;
  }
}

.woo-archive ul.products {
  position: relative;
  transition: opacity 0.3s ease, filter 0.3s ease;
}
.woo-archive ul.products.is-filtering {
  opacity: 0.4;
  filter: blur(2px);
  pointer-events: none;
}
.woo-archive ul.products.is-filtering::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  border: 3px solid var(--color-border, #dedede);
  border-top-color: var(--brand-primary, #017F1A);
  border-radius: 50%;
  animation: stdv-spin 0.8s linear infinite;
}

@keyframes stdv-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.no-products-found {
  width: 100%;
  padding: 60px 20px;
  text-align: center;
  list-style: none;
}
.no-products-found__content {
  max-width: 400px;
  margin: 0 auto;
}
.no-products-found svg {
  color: var(--color-gray-light, #dedede);
  margin-bottom: 20px;
}
.no-products-found p {
  font-size: 16px;
  color: var(--color-gray, #707070);
  margin: 0 0 20px;
}
.no-products-found .stdv-filters__clear-all {
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease;
}
.no-products-found .stdv-filters__clear-all:hover {
  background: var(--brand-primary-dark, #015d13);
}

.woo-archive__sidebar-inner .stdv-filters {
  position: sticky;
  top: 120px;
}
@media all and (max-width: 991px) {
  .woo-archive__sidebar-inner .stdv-filters {
    position: static;
  }
}

html body {
  margin-left: auto;
  margin-right: auto;
}

@keyframes stdv-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.product-configurator {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.85);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: none;
}
.product-configurator.is-open {
  display: block;
}
.product-configurator > .container, .woocommerce-cart .product-configurator > .woocommerce, .woocommerce-checkout .product-configurator > .woocommerce, .woocommerce-order-received .product-configurator > .woocommerce, .product-configurator > .wp-block-woocommerce-checkout, .product-configurator > .wp-block-woocommerce-cart {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}
.product-configurator .configurator-topbar {
  position: sticky;
  top: 0;
  z-index: 10000;
  padding: 10px 16px;
  background: var(--brand-primary, #017F1A);
  color: #fff;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.product-configurator .configurator-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}
.product-configurator .configurator-topbar__name {
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
  min-width: 0;
}
.product-configurator .configurator-topbar__right {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 0 0 auto;
}
.product-configurator .configurator-topbar__price {
  font-size: 15px;
  white-space: nowrap;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.product-configurator .configurator-topbar__label {
  font-weight: 400;
  opacity: 0.85;
}
@media all and (max-width: 767px) {
  .product-configurator .configurator-topbar__label {
    display: none;
  }
}
.product-configurator .configurator-topbar__value {
  font-size: 18px;
  font-weight: 700;
}
.product-configurator .configurator-topbar__close {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--brand-yellow, #FFC107);
  color: var(--color-black, #1C202B);
  border: none;
  border-radius: 4px;
  padding: 8px 18px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all var(--transition-fast, 0.15s ease);
  line-height: 1;
  white-space: nowrap;
}
.product-configurator .configurator-topbar__close__icon {
  display: block;
  flex-shrink: 0;
}
.product-configurator .configurator-topbar__close__short {
  display: none;
}
.product-configurator .configurator-topbar__close__long {
  display: inline;
}
@media (max-width: 767px) {
  .product-configurator .configurator-topbar__close {
    padding: 8px 14px;
  }
  .product-configurator .configurator-topbar__close__short {
    display: inline;
  }
  .product-configurator .configurator-topbar__close__long {
    display: none;
  }
}
.product-configurator .configurator-topbar__close:hover {
  background: rgb(221.2, 165.9, 0);
  transform: translateY(-1px);
}
.product-configurator .configurator-topbar__close:active {
  transform: translateY(0);
}
.product-configurator.is-summary-open .configurator-topbar {
  z-index: 1;
}
.product-configurator .product-configurator__inner {
  width: 100%;
  max-width: 1700px;
  min-height: 100vh;
  margin: 0 auto;
  position: relative;
  background: transparent;
}
.product-configurator .product-configurator__inner .container, .product-configurator .product-configurator__inner .woocommerce-cart .woocommerce, .woocommerce-cart .product-configurator .product-configurator__inner .woocommerce, .product-configurator .product-configurator__inner .woocommerce-checkout .woocommerce, .woocommerce-checkout .product-configurator .product-configurator__inner .woocommerce, .product-configurator .product-configurator__inner .woocommerce-order-received .woocommerce, .woocommerce-order-received .product-configurator .product-configurator__inner .woocommerce, .product-configurator .product-configurator__inner .wp-block-woocommerce-checkout, .product-configurator .product-configurator__inner .wp-block-woocommerce-cart {
  max-width: 100% !important;
  padding: 0 !important;
}

#configurator .row,
.configurator-box-content .row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#configurator [class*=col-],
.configurator-box-content [class*=col-] {
  position: relative;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}
@media (max-width: 991px) {
  #configurator [class*=col-],
  .configurator-box-content [class*=col-] {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}
#configurator .preview,
.configurator-box-content .preview {
  position: sticky !important;
  top: 0 !important;
  align-self: flex-start !important;
  flex: 0 0 42% !important;
  width: 42% !important;
  max-width: 42% !important;
  height: 100vh !important;
  padding: 0 !important;
  z-index: 1 !important;
}
@media (max-width: 991px) {
  #configurator .preview,
  .configurator-box-content .preview {
    display: none !important;
  }
}
#configurator .im-product-title,
.configurator-box-content .im-product-title {
  display: none !important;
}
#configurator .im-product-title,
.configurator-box-content .im-product-title {
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
  background: #fff !important;
}
#configurator .im-product-title .price-sum-box,
.configurator-box-content .im-product-title .price-sum-box {
  display: block !important;
}
#configurator .col-1,
.configurator-box-content .col-1 {
  flex: 0 0 8.333%;
  max-width: 8.333%;
}
#configurator .col-2,
.configurator-box-content .col-2 {
  flex: 0 0 16.667%;
  max-width: 16.667%;
}
#configurator .col-3,
.configurator-box-content .col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
#configurator .col-4,
.configurator-box-content .col-4 {
  flex: 0 0 33.333%;
  max-width: 33.333%;
}
#configurator .col-5,
.configurator-box-content .col-5 {
  flex: 0 0 41.667%;
  max-width: 41.667%;
}
#configurator .col-6,
.configurator-box-content .col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
#configurator .col-7,
.configurator-box-content .col-7 {
  flex: 0 0 58.333%;
  max-width: 58.333%;
}
#configurator .col-8,
.configurator-box-content .col-8 {
  flex: 0 0 66.667%;
  max-width: 66.667%;
}
#configurator .col-9,
.configurator-box-content .col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}
#configurator .col-10,
.configurator-box-content .col-10 {
  flex: 0 0 83.333%;
  max-width: 83.333%;
}
#configurator .col-11,
.configurator-box-content .col-11 {
  flex: 0 0 91.667%;
  max-width: 91.667%;
}
#configurator .col-12:not([class*=col-md-]):not([class*=col-lg-]):not([class*=col-xl-]),
.configurator-box-content .col-12:not([class*=col-md-]):not([class*=col-lg-]):not([class*=col-xl-]) {
  flex: 0 0 100%;
  max-width: 100%;
}
@media (min-width: 768px) {
  #configurator .col-md-3,
  .configurator-box-content .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  #configurator .col-md-4,
  .configurator-box-content .col-md-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }
  #configurator .col-md-6,
  .configurator-box-content .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  #configurator .col-md-8,
  .configurator-box-content .col-md-8 {
    flex: 0 0 66.667%;
    max-width: 66.667%;
  }
  #configurator .col-md-12,
  .configurator-box-content .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  #configurator .col-lg-3,
  .configurator-box-content .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  #configurator .col-lg-4,
  .configurator-box-content .col-lg-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }
  #configurator .col-lg-5,
  .configurator-box-content .col-lg-5 {
    flex: 0 0 41.667%;
    max-width: 41.667%;
  }
  #configurator .col-lg-6,
  .configurator-box-content .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  #configurator .col-lg-7,
  .configurator-box-content .col-lg-7 {
    flex: 0 0 58.333%;
    max-width: 58.333%;
  }
}
@media (min-width: 1200px) {
  #configurator .col-xl-2,
  .configurator-box-content .col-xl-2 {
    flex: 0 0 16.667%;
    max-width: 16.667%;
  }
  #configurator .col-xl-3,
  .configurator-box-content .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  #configurator .col-xl-4,
  .configurator-box-content .col-xl-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }
  #configurator .col-xl-5,
  .configurator-box-content .col-xl-5 {
    flex: 0 0 41.667%;
    max-width: 41.667%;
  }
  #configurator .col-xl-6,
  .configurator-box-content .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  #configurator .col-xl-7,
  .configurator-box-content .col-xl-7 {
    flex: 0 0 58.333%;
    max-width: 58.333%;
  }
}
#configurator .btn,
.configurator-box-content .btn {
  padding: 0.375rem 0.75rem !important;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid transparent;
  box-sizing: border-box !important;
}
#configurator .btn-outline-dark,
.configurator-box-content .btn-outline-dark {
  color: #343a40 !important;
  border-color: #343a40 !important;
  background: transparent !important;
}
#configurator .btn-outline-dark:hover,
.configurator-box-content .btn-outline-dark:hover {
  background: #343a40 !important;
  color: #fff !important;
}
#configurator .btn-success,
.configurator-box-content .btn-success {
  background-color: var(--brand-primary, #017F1A) !important;
  border-color: var(--brand-primary, #017F1A) !important;
  color: #fff !important;
}
#configurator .btn-success:hover,
.configurator-box-content .btn-success:hover {
  background-color: var(--brand-primary-dark, #015d13) !important;
}
#configurator .btn-danger,
.configurator-box-content .btn-danger {
  background-color: #dc3545 !important;
  border-color: #dc3545 !important;
  color: #fff !important;
}
#configurator input[type=text],
#configurator input[type=number],
#configurator input[type=email],
#configurator input[type=tel],
#configurator select,
#configurator textarea,
#configurator .matrix-select,
#configurator .matrix-text,
#configurator .form-control,
.configurator-box-content input[type=text],
.configurator-box-content input[type=number],
.configurator-box-content input[type=email],
.configurator-box-content input[type=tel],
.configurator-box-content select,
.configurator-box-content textarea,
.configurator-box-content .matrix-select,
.configurator-box-content .matrix-text,
.configurator-box-content .form-control {
  padding: 6px 12px !important;
  min-height: 38px;
  border: 1px solid #bbb !important;
  border-radius: 0 !important;
  font-size: 16px;
  background-color: #fff;
  box-sizing: border-box !important;
  width: 100%;
}
#configurator select,
.configurator-box-content select {
  border-radius: 4px !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
}
#configurator .value-box,
.configurator-box-content .value-box {
  position: relative;
  cursor: pointer;
  margin-bottom: 5px;
}
#configurator .value,
.configurator-box-content .value {
  border: 1px solid #bbb !important;
  margin: 1px 0;
  width: 100% !important;
  padding: 0.375rem 0.75rem !important;
  cursor: pointer;
  line-height: 17px;
  box-sizing: border-box !important;
}
#configurator .value img,
.configurator-box-content .value img {
  width: 100% !important;
  height: auto !important;
  display: block;
}
#configurator .value span,
.configurator-box-content .value span {
  display: block;
  font-size: 12px;
}
#configurator .selected,
.configurator-box-content .selected {
  border: none !important;
  outline: 2px solid var(--brand-primary, #017F1A) !important;
}
#configurator .im-disabled,
.configurator-box-content .im-disabled {
  opacity: 0.3;
}
#configurator .step,
.configurator-box-content .step {
  background-color: #fff;
  padding: 15px;
  margin: 20px 0;
}
#configurator .step .content-value,
.configurator-box-content .step .content-value {
  padding: 0 5px;
}
#configurator .step p, #configurator .step .step-description,
.configurator-box-content .step p,
.configurator-box-content .step .step-description {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
#configurator .step .step-description img,
.configurator-box-content .step .step-description img {
  max-width: 100%;
  height: auto;
}
#configurator .step .im-group > .row,
.configurator-box-content .step .im-group > .row {
  margin-top: 38px;
}
#configurator #configurator-box,
.configurator-box-content #configurator-box {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
}
#configurator #configurator-box > [class*=col-]:not(.preview):not(#configurator-body),
.configurator-box-content #configurator-box > [class*=col-]:not(.preview):not(#configurator-body) {
  display: none !important;
}
#configurator #configurator-body,
.configurator-box-content #configurator-body {
  padding: 0 15px;
  flex: 1 1 auto !important;
  margin-left: auto !important;
  position: relative;
  z-index: 2;
  background: #fff;
}
@media (min-width: 992px) and (max-width: 1350px) {
  #configurator #configurator-body,
  .configurator-box-content #configurator-body {
    max-width: 40vw !important;
  }
}
@media (min-width: 1351px) and (max-width: 1500px) {
  #configurator #configurator-body,
  .configurator-box-content #configurator-body {
    max-width: 45vw !important;
  }
}
@media (min-width: 1501px) and (max-width: 1650px) {
  #configurator #configurator-body,
  .configurator-box-content #configurator-body {
    max-width: 49vw !important;
  }
}
@media (min-width: 1651px) {
  #configurator #configurator-body,
  .configurator-box-content #configurator-body {
    max-width: 820px !important;
  }
}
@media (max-width: 991px) {
  #configurator #configurator-body,
  .configurator-box-content #configurator-body {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 6px 96px !important;
  }
}
#configurator #mobile-preview,
.configurator-box-content #mobile-preview {
  display: none !important;
}
@media (max-width: 991px) {
  #configurator #mobile-preview,
  .configurator-box-content #mobile-preview {
    display: flex !important;
    position: fixed;
    bottom: 16px;
    left: 16px;
    right: 16px;
    z-index: 10000;
    justify-content: center;
    align-items: center;
    margin: 0;
    width: auto;
    pointer-events: auto;
  }
  #configurator #mobile-preview > div,
  #configurator #mobile-preview .col-12,
  .configurator-box-content #mobile-preview > div,
  .configurator-box-content #mobile-preview .col-12 {
    flex: 1 1 auto;
    text-align: center;
    background: var(--brand-primary, #017F1A);
    color: #fff;
    font-family: var(--font-primary, "Poppins"), sans-serif;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: background var(--transition-fast, 0.15s ease);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  }
  #configurator #mobile-preview > div i,
  #configurator #mobile-preview .col-12 i,
  .configurator-box-content #mobile-preview > div i,
  .configurator-box-content #mobile-preview .col-12 i {
    margin-right: 8px;
  }
  #configurator #mobile-preview > div:hover, #configurator #mobile-preview > div:active,
  #configurator #mobile-preview .col-12:hover,
  #configurator #mobile-preview .col-12:active,
  .configurator-box-content #mobile-preview > div:hover,
  .configurator-box-content #mobile-preview > div:active,
  .configurator-box-content #mobile-preview .col-12:hover,
  .configurator-box-content #mobile-preview .col-12:active {
    background: var(--brand-primary-dark, #015d13);
  }
}
#configurator .step[data-step-type=matrix] .im-group .row [class*=col-],
.configurator-box-content .step[data-step-type=matrix] .im-group .row [class*=col-] {
  padding: 10px !important;
  background: #f9f9f9;
  margin-bottom: 7px;
}
@media (min-width: 1400px) {
  #configurator .value-box,
  .configurator-box-content .value-box {
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }
}
@media (min-width: 992px) and (max-width: 1399px) {
  #configurator .value-box,
  .configurator-box-content .value-box {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
  }
}
@media (min-width: 992px) {
  #configurator .value-box .value img,
  .configurator-box-content .value-box .value img {
    width: 100% !important;
    max-width: 150px !important;
    height: auto !important;
  }
}
@media (max-width: 991px) {
  #configurator .value-box,
  .configurator-box-content .value-box {
    padding-left: 4px !important;
    padding-right: 4px !important;
    margin-bottom: 6px;
  }
  #configurator .value-box .value,
  #configurator .value-box .btn.value,
  .configurator-box-content .value-box .value,
  .configurator-box-content .value-box .btn.value {
    padding: 0 !important;
    line-height: 0;
  }
  #configurator .value-box .value img,
  .configurator-box-content .value-box .value img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }
}
#configurator .im-popup,
#configurator .im-popup.btn-light,
#configurator .im-popup.btn-dark,
#configurator .im-popup.group-describe-sign,
.configurator-box-content .im-popup,
.configurator-box-content .im-popup.btn-light,
.configurator-box-content .im-popup.btn-dark,
.configurator-box-content .im-popup.group-describe-sign {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}
#configurator .im-popup i,
#configurator .im-popup.btn-light i,
#configurator .im-popup.btn-dark i,
#configurator .im-popup.group-describe-sign i,
.configurator-box-content .im-popup i,
.configurator-box-content .im-popup.btn-light i,
.configurator-box-content .im-popup.btn-dark i,
.configurator-box-content .im-popup.group-describe-sign i {
  color: #fff !important;
}
#configurator .im-popup:hover, #configurator .im-popup:focus,
#configurator .im-popup.btn-light:hover,
#configurator .im-popup.btn-light:focus,
#configurator .im-popup.btn-dark:hover,
#configurator .im-popup.btn-dark:focus,
#configurator .im-popup.group-describe-sign:hover,
#configurator .im-popup.group-describe-sign:focus,
.configurator-box-content .im-popup:hover,
.configurator-box-content .im-popup:focus,
.configurator-box-content .im-popup.btn-light:hover,
.configurator-box-content .im-popup.btn-light:focus,
.configurator-box-content .im-popup.btn-dark:hover,
.configurator-box-content .im-popup.btn-dark:focus,
.configurator-box-content .im-popup.group-describe-sign:hover,
.configurator-box-content .im-popup.group-describe-sign:focus {
  background: #222 !important;
  border-color: #222 !important;
  color: #fff !important;
}
#configurator .btn.btn-dark,
.configurator-box-content .btn.btn-dark {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}
#configurator .btn.btn-dark:hover, #configurator .btn.btn-dark:focus,
.configurator-box-content .btn.btn-dark:hover,
.configurator-box-content .btn.btn-dark:focus {
  background: #222 !important;
  border-color: #222 !important;
  color: #fff !important;
}
#configurator .im-popup.im-zoom,
#configurator .im-popup.im-description,
.configurator-box-content .im-popup.im-zoom,
.configurator-box-content .im-popup.im-description {
  background: #fff !important;
  color: var(--brand-primary, #017F1A) !important;
  border: 1px solid var(--color-border, #dedede) !important;
}
#configurator .im-popup.im-zoom i,
#configurator .im-popup.im-description i,
.configurator-box-content .im-popup.im-zoom i,
.configurator-box-content .im-popup.im-description i {
  color: var(--brand-primary, #017F1A) !important;
}
#configurator .im-popup.im-zoom:hover, #configurator .im-popup.im-zoom:focus,
#configurator .im-popup.im-description:hover,
#configurator .im-popup.im-description:focus,
.configurator-box-content .im-popup.im-zoom:hover,
.configurator-box-content .im-popup.im-zoom:focus,
.configurator-box-content .im-popup.im-description:hover,
.configurator-box-content .im-popup.im-description:focus {
  background: #f0faf2 !important;
  border-color: var(--brand-primary, #017F1A) !important;
  color: var(--brand-primary, #017F1A) !important;
}
#configurator .im-popup.im-zoom:hover i, #configurator .im-popup.im-zoom:focus i,
#configurator .im-popup.im-description:hover i,
#configurator .im-popup.im-description:focus i,
.configurator-box-content .im-popup.im-zoom:hover i,
.configurator-box-content .im-popup.im-zoom:focus i,
.configurator-box-content .im-popup.im-description:hover i,
.configurator-box-content .im-popup.im-description:focus i {
  color: var(--brand-primary, #017F1A) !important;
}
#configurator .price,
#configurator .matrix-price,
.configurator-box-content .price,
.configurator-box-content .matrix-price {
  display: block;
  background-color: var(--brand-primary, #017F1A);
  color: #fff;
  padding: 4px 8px;
  margin-top: 1px;
  border-radius: 0;
  font-size: 13px;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}
@media (max-width: 991px) {
  #configurator .price,
  #configurator .matrix-price,
  .configurator-box-content .price,
  .configurator-box-content .matrix-price {
    font-size: 12px;
    padding: 4px 6px;
  }
  #configurator .price strong,
  #configurator .matrix-price strong,
  .configurator-box-content .price strong,
  .configurator-box-content .matrix-price strong {
    font-size: 14px;
    font-weight: 700;
    margin: 0 2px;
  }
}
#configurator .extra-price,
#configurator .matrix-extra-price,
.configurator-box-content .extra-price,
.configurator-box-content .matrix-extra-price {
  display: block;
  font-size: 13px;
  width: 100%;
  border-radius: 0;
  box-sizing: border-box;
  text-align: center;
}
#configurator #price-next-to-add-to-cart,
.configurator-box-content #price-next-to-add-to-cart {
  font-size: 18px;
}
#configurator .im-product-title,
.configurator-box-content .im-product-title {
  background: #fff;
  z-index: 100;
  padding: 8px 15px;
  border-bottom: 1px solid #eee;
}
#configurator .im-product-title h1,
.configurator-box-content .im-product-title h1 {
  font-size: 16px;
  margin: 0;
  font-weight: 600;
}
#configurator .im-product-title.fixed,
.configurator-box-content .im-product-title.fixed {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
#configurator .price-sum-box,
.configurator-box-content .price-sum-box {
  margin-top: 2px;
  padding: 3px 7px;
}
#configurator .price-sum-box .sum,
.configurator-box-content .price-sum-box .sum {
  font-size: 14px;
}
#configurator .price-sum-box .price-value,
.configurator-box-content .price-sum-box .price-value {
  font-size: 18px;
}
#configurator .price-sum-box .currency,
.configurator-box-content .price-sum-box .currency {
  font-size: 14px;
}
#configurator .preview img.im-background:not(.im-background-mobile),
.configurator-box-content .preview img.im-background:not(.im-background-mobile) {
  max-width: none;
}
#configurator .alert-main,
.configurator-box-content .alert-main {
  font-size: 14px;
  width: 100%;
  word-wrap: break-word;
  padding: 10px;
}
#configurator .add-to-cart-configurator-confirm,
#configurator .add-to-cart-configurator,
.configurator-box-content .add-to-cart-configurator-confirm,
.configurator-box-content .add-to-cart-configurator {
  background-color: var(--brand-yellow, #FFC107) !important;
  border-color: var(--brand-yellow, #FFC107) !important;
  color: var(--color-black, #1C202B) !important;
  padding: 10px 24px !important;
  font-weight: 600;
  cursor: pointer;
  border-radius: 4px;
}
#configurator .add-to-cart-configurator-confirm:hover,
#configurator .add-to-cart-configurator:hover,
.configurator-box-content .add-to-cart-configurator-confirm:hover,
.configurator-box-content .add-to-cart-configurator:hover {
  background-color: rgb(221.2, 165.9, 0) !important;
  border-color: rgb(221.2, 165.9, 0) !important;
}
#configurator #popup-cart,
.configurator-box-content #popup-cart {
  position: fixed;
  inset: 0;
  z-index: 10002;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  background: rgba(12, 20, 14, 0.78);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  overflow-y: auto;
}
#configurator #popup-cart .add-to-cart-configurator-confirm-cancel,
.configurator-box-content #popup-cart .add-to-cart-configurator-confirm-cancel {
  position: absolute;
  top: 20px;
  right: 24px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0 !important;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: #fff !important;
  cursor: pointer;
  transition: background var(--transition-fast, 0.15s ease);
}
#configurator #popup-cart .add-to-cart-configurator-confirm-cancel:hover,
.configurator-box-content #popup-cart .add-to-cart-configurator-confirm-cancel:hover {
  background: rgba(255, 255, 255, 0.24);
}
#configurator #popup-cart .add-to-cart-configurator-confirm-cancel i,
.configurator-box-content #popup-cart .add-to-cart-configurator-confirm-cancel i {
  font-size: 22px !important;
  line-height: 1;
}
#configurator #popup-cart #popup-content-cart,
.configurator-box-content #popup-cart #popup-content-cart {
  width: min(1120px, 96vw) !important;
  max-width: none !important;
  min-width: 0;
  height: auto !important;
  max-height: min(86vh, 860px);
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.45);
  text-align: left;
}
#configurator #popup-cart #popup-content-cart::before,
.configurator-box-content #popup-cart #popup-content-cart::before {
  content: "Podsumowanie konfiguracji";
  order: 1;
  flex: 0 0 auto;
  padding: 18px 32px;
  background: var(--brand-primary, #017F1A);
  color: #fff;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}
#configurator #popup-cart #popup-content-cart .detail-confirm,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm {
  order: 2;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: auto;
  min-width: 0;
  padding: 0 32px 24px;
}
#configurator #popup-cart #popup-content-cart .detail-confirm table,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm table {
  width: 100%;
  margin: 0 !important;
  border-collapse: collapse;
  font-size: 13px;
  font-family: var(--font-primary, "Poppins"), sans-serif;
}
#configurator #popup-cart #popup-content-cart .detail-confirm tr th,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 16px 12px 10px;
  background: #fff;
  border-bottom: 2px solid var(--brand-primary, #017F1A);
  font-size: 11px;
  font-weight: 600;
  color: var(--color-gray, #707070);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  text-align: right;
  white-space: nowrap;
  vertical-align: bottom;
}
#configurator #popup-cart #popup-content-cart .detail-confirm tr th i,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th i {
  display: block;
  margin: 0 0 4px auto;
  font-size: 15px !important;
  color: var(--brand-primary, #017F1A);
}
#configurator #popup-cart #popup-content-cart .detail-confirm tr th span,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th span {
  font-size: 11px !important;
  font-weight: 600 !important;
}
@media (min-width: 992px) {
  #configurator #popup-cart #popup-content-cart .detail-confirm tr th span,
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th span {
    display: inline !important;
  }
}
#configurator #popup-cart #popup-content-cart .detail-confirm tr th[colspan="2"],
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th[colspan="2"] {
  text-align: left;
}
#configurator #popup-cart #popup-content-cart .detail-confirm tr th[colspan="2"]::before,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th[colspan="2"]::before {
  content: "Wybrane opcje";
}
#configurator #popup-cart #popup-content-cart .detail-confirm tr th:last-child:empty,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th:last-child:empty {
  padding: 0;
  width: 0;
}
#configurator #popup-cart #popup-content-cart .detail-confirm td,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm td {
  padding: 11px 12px;
  border-bottom: 1px solid rgba(222, 222, 222, 0.5);
  vertical-align: middle;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: var(--color-gray, #707070);
}
#configurator #popup-cart #popup-content-cart .detail-confirm tr:hover td,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr:hover td {
  background: rgba(1, 127, 26, 0.035);
}
#configurator #popup-cart #popup-content-cart .detail-confirm .detail-step,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm .detail-step {
  width: 32%;
  text-align: left;
  white-space: normal;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
#configurator #popup-cart #popup-content-cart .detail-confirm .detail-step b,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm .detail-step b {
  color: var(--brand-primary, #017F1A);
}
#configurator #popup-cart #popup-content-cart .detail-confirm .detail-value,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm .detail-value {
  text-align: left;
  white-space: normal;
  color: var(--color-black, #1C202B);
}
#configurator #popup-cart #popup-content-cart .detail-confirm .detail-text td,
.configurator-box-content #popup-cart #popup-content-cart .detail-confirm .detail-text td {
  padding-top: 0;
  border-bottom: none;
  text-align: left;
  white-space: normal;
  font-size: 12px;
  font-style: italic;
  color: var(--color-gray, #707070);
}
#configurator #popup-cart #popup-content-cart > div:first-of-type,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type {
  order: 3;
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  padding: 18px 32px !important;
  background: var(--color-background, #f3f3f3);
  border-top: 1px solid var(--color-border, #dedede);
  box-shadow: 0 -8px 16px rgba(0, 0, 0, 0.04);
  text-align: left !important;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type br,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type br {
  display: none;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type form.cart,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type form.cart {
  display: none;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .mb-4,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .mb-4 {
  order: 1;
  flex: 1 1 240px;
  margin: 0 !important;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--color-gray, #707070);
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .mb-4 p,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .mb-4 p {
  margin: 4px 0 0;
  background: none !important;
  color: var(--color-black, #1C202B);
  font-size: 12.5px;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .mb-4 strong,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .mb-4 strong {
  font-weight: 600;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .price-sum-confirm,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .price-sum-confirm {
  order: 2;
  margin: 0 !important;
  flex: 0 0 auto;
  font-size: 13px;
  color: var(--color-gray, #707070);
  white-space: nowrap;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .price-sum-confirm span,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .price-sum-confirm span {
  font-size: 24px !important;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
  margin-left: 4px;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .btn-danger,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .btn-danger {
  order: 3;
  flex: 0 0 auto;
  width: auto !important;
  background: #fff !important;
  border: 1px solid var(--color-border, #dedede) !important;
  color: var(--color-black, #1C202B) !important;
  border-radius: 6px !important;
  padding: 13px 20px !important;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none !important;
  transition: all var(--transition-fast, 0.15s ease);
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .btn-danger:hover,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .btn-danger:hover {
  border-color: var(--color-black, #1C202B) !important;
  background: #fff !important;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .btn-danger i,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .btn-danger i {
  margin-right: 4px;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .add-to-cart-configurator,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .add-to-cart-configurator {
  order: 4;
  flex: 0 0 auto;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  padding: 13px 28px !important;
  background-color: var(--brand-primary, #017F1A) !important;
  border: 1px solid var(--brand-primary, #017F1A) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: none !important;
}
#configurator #popup-cart #popup-content-cart > div:first-of-type .add-to-cart-configurator:hover,
.configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .add-to-cart-configurator:hover {
  background-color: var(--brand-primary-dark, #015d13) !important;
  border-color: var(--brand-primary-dark, #015d13) !important;
}
@media all and (max-width: 991px) {
  #configurator #popup-cart #popup-content-cart,
  .configurator-box-content #popup-cart #popup-content-cart {
    width: 100% !important;
    max-height: 100%;
    border-radius: 8px;
  }
  #configurator #popup-cart #popup-content-cart::before,
  .configurator-box-content #popup-cart #popup-content-cart::before {
    padding: 14px 18px;
  }
  #configurator #popup-cart #popup-content-cart .detail-confirm,
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm {
    padding: 0 14px 14px;
  }
  #configurator #popup-cart #popup-content-cart .detail-confirm table,
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm table {
    font-size: 12px;
  }
  #configurator #popup-cart #popup-content-cart .detail-confirm td, #configurator #popup-cart #popup-content-cart .detail-confirm tr th,
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm td,
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th {
    padding-left: 6px;
    padding-right: 6px;
  }
  #configurator #popup-cart #popup-content-cart .detail-confirm .detail-step,
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm .detail-step {
    width: auto;
  }
  #configurator #popup-cart #popup-content-cart .detail-confirm tr th:nth-child(4),
  #configurator #popup-cart #popup-content-cart .detail-confirm tr th:nth-child(5),
  #configurator #popup-cart #popup-content-cart .detail-confirm .detail-price-multiplier,
  #configurator #popup-cart #popup-content-cart .detail-confirm .detail-matrix-price-modification,
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th:nth-child(4),
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm tr th:nth-child(5),
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm .detail-price-multiplier,
  .configurator-box-content #popup-cart #popup-content-cart .detail-confirm .detail-matrix-price-modification {
    display: none;
  }
  #configurator #popup-cart #popup-content-cart > div:first-of-type,
  .configurator-box-content #popup-cart #popup-content-cart > div:first-of-type {
    padding: 14px 18px !important;
    justify-content: space-between;
  }
  #configurator #popup-cart #popup-content-cart > div:first-of-type .mb-4,
  .configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .mb-4 {
    flex: 1 1 100%;
    order: 1;
    font-size: 12px;
  }
  #configurator #popup-cart #popup-content-cart > div:first-of-type .price-sum-confirm,
  .configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .price-sum-confirm {
    order: 2;
  }
  #configurator #popup-cart #popup-content-cart > div:first-of-type .btn-danger,
  #configurator #popup-cart #popup-content-cart > div:first-of-type .add-to-cart-configurator,
  .configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .btn-danger,
  .configurator-box-content #popup-cart #popup-content-cart > div:first-of-type .add-to-cart-configurator {
    flex: 1 1 auto;
    width: auto !important;
    text-align: center;
  }
}
@media all and (max-width: 767px) {
  #configurator #popup-cart,
  .configurator-box-content #popup-cart {
    padding: 12px;
  }
  #configurator #popup-cart .add-to-cart-configurator-confirm-cancel,
  .configurator-box-content #popup-cart .add-to-cart-configurator-confirm-cancel {
    top: 8px;
    right: 10px;
    width: 36px;
    height: 36px;
  }
  #configurator #popup-cart .add-to-cart-configurator-confirm-cancel i,
  .configurator-box-content #popup-cart .add-to-cart-configurator-confirm-cancel i {
    font-size: 18px !important;
  }
}
#configurator .summary,
.configurator-box-content .summary {
  padding: 10px;
  background-color: #fff;
  box-shadow: 0 0 84px rgba(0, 0, 0, 0.41);
}
#configurator #mobile-preview,
.configurator-box-content #mobile-preview {
  z-index: 1;
  cursor: pointer;
  opacity: 0.8;
}
#configurator #mobile-preview i,
.configurator-box-content #mobile-preview i {
  font-size: 20px;
  color: #000;
}
#configurator #configurator-body,
.configurator-box-content #configurator-body {
  overflow: auto;
}
#configurator .im-loading,
.configurator-box-content .im-loading {
  text-align: center;
  padding: 40px;
}
#configurator .im-loading i,
.configurator-box-content .im-loading i {
  font-size: 40px;
  color: var(--brand-primary, #017F1A);
}
#configurator .p-1,
.configurator-box-content .p-1 {
  padding: 0.25rem !important;
}
#configurator .p-2,
.configurator-box-content .p-2 {
  padding: 0.5rem !important;
}
#configurator .mb-4,
.configurator-box-content .mb-4 {
  margin-bottom: 1.5rem !important;
}
#configurator .mt-2,
.configurator-box-content .mt-2 {
  margin-top: 0.5rem !important;
}
#configurator .text-center,
.configurator-box-content .text-center {
  text-align: center !important;
}
#configurator .text-dark,
.configurator-box-content .text-dark {
  color: #343a40 !important;
}
#configurator .font-weight-bold,
.configurator-box-content .font-weight-bold {
  font-weight: 700 !important;
}
#configurator .float-right,
.configurator-box-content .float-right {
  float: right !important;
}
#configurator .h4,
.configurator-box-content .h4 {
  font-size: 1.5rem !important;
}
#configurator .im-hide,
.configurator-box-content .im-hide {
  display: none !important;
}
#configurator .badge-success,
.configurator-box-content .badge-success {
  background-color: var(--brand-primary, #017F1A);
  color: #fff;
  padding: 4px 8px;
  font-size: 12px;
  border-radius: 4px;
}
#configurator .badge-warning,
.configurator-box-content .badge-warning {
  background-color: #ffc107;
  color: #212529;
  padding: 4px 8px;
  font-size: 12px;
  border-radius: 4px;
}

.configurator-preview-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
}
.configurator-preview-modal.is-open {
  display: flex;
}
.configurator-preview-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  cursor: pointer;
}
.configurator-preview-modal__close {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 2;
  width: 44px;
  height: 44px;
  background: #fff;
  border: none;
  border-radius: 50%;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
  color: #333;
  font-family: var(--font-primary, "Poppins"), sans-serif;
  transition: all var(--transition-fast, 0.15s ease);
}
.configurator-preview-modal__close:hover {
  background: var(--brand-primary, #017F1A);
  color: #fff;
}
.configurator-preview-modal__content {
  position: relative;
  z-index: 1;
  width: min(94vw, 900px);
  max-height: 90vh;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.configurator-preview-modal__content .preview {
  position: relative !important;
  top: auto !important;
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 300px;
  padding: 16px !important;
  display: block !important;
}
.configurator-preview-modal__content .preview img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.configurator-preview-modal__content .preview img.im-background-mobile {
  display: block;
}

#popup {
  display: none !important;
}

.configurator-info-popup {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: none;
  align-items: center;
  justify-content: center;
}
.configurator-info-popup.is-open {
  display: flex;
}
.configurator-info-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  cursor: pointer;
}
.configurator-info-popup__inner {
  position: relative;
  z-index: 1;
  width: min(92vw, 720px);
  max-height: 86vh;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  padding: 56px 28px 28px;
  overflow-y: auto;
}
@media (max-width: 991px) {
  .configurator-info-popup__inner {
    width: 98vw;
    max-height: 92vh;
    padding: 52px 14px 18px;
    border-radius: 6px;
  }
}
.configurator-info-popup__close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-background, #f3f3f3);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 50%;
  font-size: 30px;
  line-height: 1;
  color: var(--color-black, #1C202B);
  cursor: pointer;
  transition: background var(--transition-fast, 0.15s ease), border-color var(--transition-fast, 0.15s ease);
}
.configurator-info-popup__close:hover {
  background: rgb(227.7, 227.7, 227.7);
  border-color: var(--color-gray, #707070);
}
.configurator-info-popup__content {
  font-family: var(--font-primary, "Poppins"), sans-serif;
  color: var(--color-black, #1C202B);
  line-height: 1.5;
  font-size: 14px;
}
.configurator-info-popup__content p {
  margin: 0 0 12px;
}
.configurator-info-popup__content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 12px auto;
  border-radius: 4px;
}
.configurator-info-popup__content h1, .configurator-info-popup__content h2, .configurator-info-popup__content h3, .configurator-info-popup__content h4 {
  font-weight: 700;
  margin: 12px 0 8px;
}
.configurator-info-popup__content ul, .configurator-info-popup__content ol {
  padding-left: 20px;
  margin: 0 0 12px;
}

.stdv-konto {
  display: grid;
  gap: 30px;
  margin: 0 0 40px;
}
@media (min-width: 992px) {
  .stdv-konto--dwie {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}
.stdv-konto__panel {
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  padding: 32px;
}
@media all and (max-width: 767px) {
  .stdv-konto__panel {
    padding: 22px 18px;
  }
}
.stdv-konto__panel--rejestracja {
  border-top: 3px solid var(--brand-primary, #017F1A);
  background: var(--color-background, #f3f3f3);
}
.stdv-konto__tytul {
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--color-black, #1C202B);
}
.stdv-konto__wstep {
  font-size: 14px;
  color: var(--color-gray, #707070);
  margin: 0 0 24px;
  line-height: 1.55;
}
.stdv-konto__link {
  font-size: 13px;
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
}
.stdv-konto__link:hover {
  text-decoration: underline;
}

.stdv-form__wiersz {
  display: grid;
  gap: 0 16px;
}
@media (min-width: 768px) {
  .stdv-form__wiersz {
    grid-template-columns: 1fr 1fr;
  }
}
.stdv-form__pole {
  margin: 0 0 18px;
}
.stdv-form__pole label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 0 0 6px;
}
.stdv-form__pole input[type=text],
.stdv-form__pole input[type=email],
.stdv-form__pole input[type=password] {
  width: 100%;
}
.stdv-form__gwiazdka {
  color: var(--brand-primary, #017F1A);
}
.stdv-form__podpowiedz {
  display: block;
  font-size: 12px;
  color: var(--color-gray, #707070);
  margin: 6px 0 0;
  line-height: 1.5;
}
.stdv-form__komunikat {
  display: none;
  font-size: 12.5px;
  color: #c0392b;
  margin: 6px 0 0;
  line-height: 1.45;
}
.stdv-form__komunikat.widoczny {
  display: block;
}
.stdv-form input.jest-blad {
  border-color: #c0392b !important;
  background-color: rgba(192, 57, 43, 0.04);
}
.stdv-form input.jest-ok {
  border-color: var(--brand-primary, #017F1A) !important;
}
.stdv-form__haslo {
  position: relative;
  display: block;
}
.stdv-form__haslo input {
  padding-right: 46px !important;
}
.stdv-form__podglad {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  opacity: 0.45;
  transition: opacity var(--transition-fast, 0.15s ease);
}
.stdv-form__podglad:hover, .stdv-form__podglad:focus-visible {
  opacity: 0.9;
}
.stdv-form__podglad::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 11px;
  margin: -5.5px 0 0 -9px;
  border: 1.6px solid var(--color-black, #1C202B);
  border-radius: 50% 50% 50% 50%/60% 60% 40% 40%;
}
.stdv-form__podglad::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  margin: -2.5px 0 0 -2.5px;
  background: var(--color-black, #1C202B);
  border-radius: 50%;
  transition: transform var(--transition-fast, 0.15s ease);
}
.stdv-form__podglad.jest-widoczne::after {
  transform: scale(0.1);
}
.stdv-form__sila {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 0;
}
.stdv-form__sila-pasek {
  flex: 1;
  height: 4px;
  background: var(--color-border, #dedede);
  overflow: hidden;
}
.stdv-form__sila-pasek i {
  display: block;
  height: 100%;
  width: 0;
  background: #c0392b;
  transition: width var(--transition-base, 0.3s ease), background-color var(--transition-base, 0.3s ease);
}
.stdv-form__sila-opis {
  font-size: 12px;
  color: var(--color-gray, #707070);
  min-width: 74px;
  text-align: right;
}
.stdv-form [data-sila][data-poziom="1"] .stdv-form__sila-pasek i {
  width: 25%;
  background: #c0392b;
}
.stdv-form [data-sila][data-poziom="2"] .stdv-form__sila-pasek i {
  width: 50%;
  background: #e67e22;
}
.stdv-form [data-sila][data-poziom="3"] .stdv-form__sila-pasek i {
  width: 75%;
  background: #8bbf2a;
}
.stdv-form [data-sila][data-poziom="4"] .stdv-form__sila-pasek i {
  width: 100%;
  background: var(--brand-primary, #017F1A);
}
.stdv-form__checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--color-gray, #707070) !important;
  line-height: 1.5;
  cursor: pointer;
  margin: 0 !important;
}
.stdv-form__checkbox a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
}
.stdv-form__checkbox-kwadrat {
  flex: 0 0 auto;
  margin-top: 1px;
}
.stdv-form__checkbox-tekst {
  flex: 1 1 auto;
}
.stdv-form__dol {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 22px;
}
.stdv-form__pulapka {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.stdv-form button[type=submit] {
  width: 100%;
  justify-content: center;
}

.woocommerce-ResetPassword {
  max-width: 520px;
}
.woocommerce-ResetPassword .form-row input.input-text {
  width: 100%;
}

.section-two-columns {
  margin-top: 40px;
  margin-bottom: 40px;
  padding-block: var(--space-section-y, 60px);
  padding-inline: 0;
}
@media all and (max-width: 767px) {
  .section-two-columns {
    margin-top: 30px;
    margin-bottom: 30px;
    padding-block: var(--space-section-y-sm, 40px);
  }
}
.section-two-columns.nomargin {
  margin-top: 0;
  margin-bottom: 0;
}
.section-two-columns--has-bg {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.section-two-columns--bg-gray {
  background-color: var(--color-background, #f3f3f3);
}
.section-two-columns--bg-brand {
  background-color: var(--brand-primary, #017F1A);
}
.section-two-columns--bg-brand .section-two-columns__heading,
.section-two-columns--bg-brand .section-two-columns__subheading,
.section-two-columns--bg-brand .section-two-columns__text {
  color: var(--color-white, #ffffff);
}
.section-two-columns--bg-brand .cta-button__btn--primary {
  background-color: var(--color-white, #ffffff);
  border-color: var(--color-white, #ffffff);
  color: var(--brand-primary, #017F1A);
}
.section-two-columns--bg-brand .cta-button__btn--primary:hover {
  background-color: #E6E6E6;
  border-color: #E6E6E6;
}
.section-two-columns--bg-brand .cta-button__btn--text {
  color: var(--color-white, #ffffff);
}
.section-two-columns__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
@media all and (max-width: 991px) {
  .section-two-columns__wrapper {
    gap: 30px;
  }
}
@media all and (max-width: 767px) {
  .section-two-columns__wrapper {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
@media (min-width: 768px) {
  .section-two-columns--image-right .section-two-columns__wrapper .section-two-columns__image {
    order: 2;
  }
  .section-two-columns--image-right .section-two-columns__wrapper .section-two-columns__content {
    order: 1;
  }
}
.section-two-columns__image {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.section-two-columns__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-base, 0px);
}
.section-two-columns__image-placeholder {
  width: 100%;
  padding-bottom: 66.67%;
  background-color: #E6E6E6;
  border-radius: var(--radius-base, 0px);
}
@media all and (max-width: 767px) {
  .section-two-columns__content {
    text-align: center;
  }
}
.section-two-columns__subheading {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}
.section-two-columns__heading {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
  line-height: 1.3;
}
@media all and (max-width: 991px) {
  .section-two-columns__heading {
    font-size: 28px;
  }
}
@media all and (max-width: 767px) {
  .section-two-columns__heading {
    font-size: 24px;
    margin-bottom: 15px;
  }
}
.section-two-columns__text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin-bottom: 25px;
}
.section-two-columns__text a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
  transition: color var(--transition-fast, 0.15s ease);
}
.section-two-columns__text a:hover {
  color: var(--brand-primary-dark, #015d13);
}
.section-two-columns__text p {
  margin: 0 0 15px;
}
.section-two-columns__text p:last-child {
  margin-bottom: 0;
}
.section-two-columns__text ul, .section-two-columns__text ol {
  margin: 0 0 15px;
  padding-left: 20px;
}
.section-two-columns__text ul li, .section-two-columns__text ol li {
  margin-bottom: 6px;
}
.section-two-columns__text ul li::marker, .section-two-columns__text ol li::marker {
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .section-two-columns__text {
    font-size: 15px;
    margin-bottom: 20px;
  }
}
.section-two-columns__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 25px;
}
@media all and (max-width: 767px) {
  .section-two-columns__buttons {
    justify-content: center;
    margin-top: 20px;
  }
}
.section-two-columns__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 30px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border-radius: var(--radius-button, 4px);
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.section-two-columns__button:hover {
  background-color: var(--brand-primary-dark, #015d13);
  transform: translateY(-2px);
}
@media all and (max-width: 767px) {
  .section-two-columns__button {
    width: 100%;
    padding: 12px 25px;
  }
}

.section-heading {
  padding: 30px 0 20px;
}
@media all and (max-width: 991px) {
  .section-heading {
    padding: 25px 0 15px;
  }
}
@media all and (max-width: 767px) {
  .section-heading {
    padding: 20px 0 10px;
  }
}
.section-heading.nomargin {
  padding: 0;
}
.section-heading--align-center {
  text-align: center;
}
.section-heading--align-right {
  text-align: right;
}
.section-heading--size-small .section-heading__title {
  font-size: 22px;
}
@media all and (max-width: 767px) {
  .section-heading--size-small .section-heading__title {
    font-size: 20px;
  }
}
.section-heading--size-medium .section-heading__title {
  font-size: 28px;
}
@media all and (max-width: 767px) {
  .section-heading--size-medium .section-heading__title {
    font-size: 24px;
  }
}
.section-heading--size-large .section-heading__title {
  font-size: 36px;
}
@media all and (max-width: 991px) {
  .section-heading--size-large .section-heading__title {
    font-size: 32px;
  }
}
@media all and (max-width: 767px) {
  .section-heading--size-large .section-heading__title {
    font-size: 26px;
  }
}
.section-heading__subheading {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
}
.section-heading__title {
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0;
  line-height: 1.3;
}

.cta-button {
  padding: 30px 0;
}
@media all and (max-width: 767px) {
  .cta-button {
    padding: 20px 0;
  }
}
.cta-button.nomargin {
  padding: 0;
}
.cta-button--align-center {
  text-align: center;
}
.cta-button--align-right {
  text-align: right;
}
.cta-button__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--radius-button, 4px);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.cta-button__btn--xsmall {
  padding: 4px 6px;
  font-size: 11px;
}
.cta-button__btn--small {
  padding: 10px 20px;
  font-size: 13px;
}
.cta-button__btn--medium {
  padding: 14px 28px;
  font-size: 14px;
}
.cta-button__btn--large {
  padding: 18px 36px;
  font-size: 15px;
}
@media all and (max-width: 767px) {
  .cta-button__btn--large {
    padding: 14px 28px;
    font-size: 14px;
  }
}
.cta-button__btn--custom {
  font-size: 14px;
}
.cta-button__btn--primary {
  background-color: var(--brand-primary, #017F1A);
  border-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.cta-button__btn--primary .cta-button__icon {
  filter: brightness(0) invert(1);
}
.cta-button__btn--primary:hover {
  background-color: var(--brand-primary-dark, #015d13);
  border-color: var(--brand-primary-dark, #015d13);
}
.cta-button__btn--primary-outline {
  background-color: transparent;
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
}
.cta-button__btn--primary-outline:hover {
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.cta-button__btn--primary-outline:hover .cta-button__icon {
  filter: brightness(0) invert(1);
}
.cta-button__btn--komfort-dark {
  background-color: var(--color-black, #1C202B);
  border-color: var(--color-black, #1C202B);
  color: var(--color-white, #ffffff);
}
.cta-button__btn--komfort-dark .cta-button__icon {
  filter: brightness(0) invert(1);
}
.cta-button__btn--komfort-dark:hover {
  background-color: rgb(58.1690140845, 66.4788732394, 89.3309859155);
  border-color: rgb(58.1690140845, 66.4788732394, 89.3309859155);
}
.cta-button__btn--komfort-light {
  background-color: transparent;
  border-color: var(--color-black, #1C202B);
  color: var(--color-black, #1C202B);
}
.cta-button__btn--komfort-light:hover {
  background-color: var(--color-black, #1C202B);
  color: var(--color-white, #ffffff);
}
.cta-button__btn--komfort-light:hover .cta-button__icon {
  filter: brightness(0) invert(1);
}
.cta-button__btn--secondary {
  background-color: var(--color-black, #1C202B);
  border-color: var(--color-black, #1C202B);
  color: var(--color-white, #ffffff);
}
.cta-button__btn--secondary .cta-button__icon {
  filter: brightness(0) invert(1);
}
.cta-button__btn--secondary:hover {
  background-color: rgb(58.1690140845, 66.4788732394, 89.3309859155);
  border-color: rgb(58.1690140845, 66.4788732394, 89.3309859155);
}
.cta-button__btn--outline {
  background-color: transparent;
  border-color: var(--color-border, #dedede);
  color: var(--color-gray, #707070);
}
.cta-button__btn--outline:hover {
  border-color: var(--color-black, #1C202B);
  color: var(--color-black, #1C202B);
}
.cta-button__btn--white {
  background-color: var(--color-white, #ffffff);
  border-color: var(--color-white, #ffffff);
  color: var(--brand-primary, #017F1A);
}
.cta-button__btn--white:hover {
  background-color: rgb(242.25, 242.25, 242.25);
  border-color: rgb(242.25, 242.25, 242.25);
}
.cta-button__btn--text {
  background: none;
  border: none;
  padding: 0;
  font-size: 14px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--brand-primary, #017F1A);
  transition: opacity var(--transition-base, 0.3s ease);
}
.cta-button__btn--text:hover {
  opacity: 0.8;
  text-decoration: underline;
}
.cta-button__btn--text-primary {
  color: var(--brand-primary, #017F1A);
}
.cta-button__btn--text-dark {
  color: var(--color-black, #1C202B);
}
.cta-button__btn--text-gray {
  color: var(--color-gray, #707070);
}
.cta-button__btn--text-black {
  color: #000;
}
.cta-button__btn--text-bold {
  font-weight: 700;
}
.cta-button__btn--has-icon .cta-button__icon {
  flex-shrink: 0;
}
.cta-button__text {
  white-space: nowrap;
}
.cta-button__icon {
  width: 18px;
  height: 18px;
}

.product-gallery {
  padding: 40px 0;
}
.product-gallery.nomargin {
  padding: 0;
}
.product-gallery__heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 25px;
}
@media all and (max-width: 767px) {
  .product-gallery__heading {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
.product-gallery__grid {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(var(--cols-desktop-lg, 8), 1fr);
}
@media all and (max-width: 1399px) {
  .product-gallery__grid {
    grid-template-columns: repeat(var(--cols-desktop, 6), 1fr);
  }
}
@media all and (max-width: 1199px) {
  .product-gallery__grid {
    grid-template-columns: repeat(var(--cols-desktop-sm, 4), 1fr);
  }
}
@media all and (max-width: 991px) {
  .product-gallery__grid {
    grid-template-columns: repeat(var(--cols-tablet, 3), 1fr);
  }
}
@media all and (max-width: 767px) {
  .product-gallery__grid {
    grid-template-columns: repeat(var(--cols-mobile, 2), 1fr);
    gap: 10px;
  }
}
.product-gallery__item {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--radius-base, 0px);
  background-color: #E6E6E6;
  aspect-ratio: 4/3;
}
.product-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base, 0.3s ease);
}
.product-gallery__item:hover img {
  transform: scale(1.05);
}
.product-gallery__item:hover .product-gallery__zoom {
  opacity: 1;
}
.product-gallery__zoom {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(1, 127, 26, 0.9);
  color: var(--color-white, #ffffff);
  border-radius: 50%;
  opacity: 0;
  transition: opacity var(--transition-base, 0.3s ease);
  pointer-events: none;
}
.product-gallery__zoom svg {
  width: 24px;
  height: 24px;
}
.product-gallery__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  padding: 40px;
  background-color: var(--color-background, #f3f3f3);
  border-radius: var(--radius-base, 0px);
}

.features-list {
  padding: 30px 0;
}
@media all and (max-width: 767px) {
  .features-list {
    padding: 20px 0;
  }
}
.features-list.nomargin {
  padding: 0;
}
.features-list__heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
}
@media all and (max-width: 767px) {
  .features-list__heading {
    font-size: 20px;
    margin-bottom: 15px;
  }
}
.features-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.features-list--list .features-list__items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.features-list--grid .features-list__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
@media all and (max-width: 575px) {
  .features-list--grid .features-list__items {
    grid-template-columns: 1fr;
  }
}
.features-list--inline .features-list__items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}
.features-list__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.features-list__item--highlight .features-list__text {
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
}
.features-list__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--brand-primary, #017F1A);
}
.features-list__icon svg {
  width: 20px;
  height: 20px;
}
.features-list__icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.features-list--icon-bullet .features-list__bullet {
  width: 8px;
  height: 8px;
  background-color: var(--brand-primary, #017F1A);
  border-radius: 50%;
}
.features-list--icon-number .features-list__number {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 12px;
  font-weight: 700;
  border-radius: 50%;
}
.features-list__text {
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-black, #1C202B);
}
.features-list__text strong {
  font-weight: 600;
}
.features-list__empty {
  color: var(--color-gray, #707070);
  font-style: italic;
}

.specs-table {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .specs-table {
    padding: 30px 0;
  }
}
.specs-table.nomargin {
  padding: 0;
}
.specs-table__heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
}
@media all and (max-width: 767px) {
  .specs-table__heading {
    font-size: 20px;
    margin-bottom: 15px;
  }
}
.specs-table__table {
  width: 100%;
  border-collapse: collapse;
}
.specs-table__row {
  border-bottom: 1px solid var(--color-border, #dedede);
}
.specs-table__row:last-child {
  border-bottom: none;
}
.specs-table--table .specs-table__label {
  width: 40%;
  padding: 12px 15px 12px 0;
  font-size: 14px;
  font-weight: 400;
  color: var(--color-gray, #707070);
  text-align: left;
  vertical-align: top;
}
@media all and (max-width: 767px) {
  .specs-table--table .specs-table__label {
    width: 50%;
    padding: 10px 10px 10px 0;
  }
}
.specs-table--table .specs-table__value {
  padding: 12px 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  vertical-align: top;
}
@media all and (max-width: 767px) {
  .specs-table--table .specs-table__value {
    padding: 10px 0;
    font-size: 14px;
  }
}
.specs-table__cards {
  display: grid;
  gap: 15px;
}
.specs-table--cols-1 .specs-table__cards {
  grid-template-columns: 1fr;
}
.specs-table--cols-2 .specs-table__cards {
  grid-template-columns: repeat(2, 1fr);
}
@media all and (max-width: 575px) {
  .specs-table--cols-2 .specs-table__cards {
    grid-template-columns: 1fr;
  }
}
.specs-table__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  background-color: var(--color-background, #f3f3f3);
  border-radius: var(--radius-base, 0px);
  text-align: center;
}
.specs-table__card-value {
  font-size: 28px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
  margin-bottom: 5px;
}
@media all and (max-width: 767px) {
  .specs-table__card-value {
    font-size: 24px;
  }
}
.specs-table__card-label {
  font-size: 14px;
  color: var(--color-gray, #707070);
}
.specs-table__list {
  margin: 0;
}
.specs-table__list-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.specs-table__list-item:last-child {
  border-bottom: none;
}
@media all and (max-width: 575px) {
  .specs-table__list-item {
    flex-direction: column;
    gap: 4px;
  }
}
.specs-table--list .specs-table__label {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-gray, #707070);
  margin: 0;
}
.specs-table--list .specs-table__value {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 0;
  text-align: right;
}
@media all and (max-width: 575px) {
  .specs-table--list .specs-table__value {
    text-align: left;
  }
}
.specs-table__unit {
  font-size: 0.85em;
  font-weight: 400;
  color: var(--color-gray, #707070);
  margin-left: 2px;
}
.specs-table__empty {
  color: var(--color-gray, #707070);
  font-style: italic;
}

.promo-banner {
  position: relative;
  overflow: hidden;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 40px;
  margin-bottom: 40px;
}
@media all and (max-width: 767px) {
  .promo-banner {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.promo-banner.nomargin {
  margin-top: 0;
  margin-bottom: 0;
}
.single-product .promo-banner {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.promo-banner__link {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  height: 100%;
}
.promo-banner__link:hover .promo-banner__image {
  transform: scale(1.05);
}
.promo-banner__link:hover .promo-banner__button {
  background-color: var(--brand-primary-dark, #015d13);
  transform: translateY(-2px);
}
.promo-banner__link:hover .promo-banner__overlay {
  opacity: 0.7;
}
.promo-banner__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.promo-banner__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}
.promo-banner__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  pointer-events: none;
  transition: opacity 0.4s ease;
  z-index: 1;
}
.promo-banner--overlay-light .promo-banner__overlay {
  background: rgba(0, 0, 0, 0.2);
}
.promo-banner--overlay-medium .promo-banner__overlay {
  background: rgba(0, 0, 0, 0.4);
}
.promo-banner--overlay-strong .promo-banner__overlay {
  background: rgba(0, 0, 0, 0.6);
}
.promo-banner__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  box-sizing: border-box;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .promo-banner__content {
    padding: 20px;
  }
}
.promo-banner__content-inner {
  text-align: center;
  max-width: 800px;
}
.promo-banner--text-left .promo-banner__content {
  justify-content: flex-start;
}
.promo-banner--text-left .promo-banner__content .promo-banner__content-inner {
  text-align: left;
}
.promo-banner--text-right .promo-banner__content {
  justify-content: flex-end;
}
.promo-banner--text-right .promo-banner__content .promo-banner__content-inner {
  text-align: right;
}
.promo-banner--text-bottom-left .promo-banner__content {
  align-items: flex-end;
  justify-content: flex-start;
}
.promo-banner--text-bottom-left .promo-banner__content .promo-banner__content-inner {
  text-align: left;
}
.promo-banner--text-bottom-right .promo-banner__content {
  align-items: flex-end;
  justify-content: flex-end;
}
.promo-banner--text-bottom-right .promo-banner__content .promo-banner__content-inner {
  text-align: right;
}
.promo-banner__subtitle {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 15px;
  opacity: 0.9;
}
@media all and (max-width: 767px) {
  .promo-banner__subtitle {
    font-size: 12px;
    letter-spacing: 1.5px;
  }
}
.promo-banner__title {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 25px;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}
@media all and (max-width: 991px) {
  .promo-banner__title {
    font-size: 36px;
  }
}
@media all and (max-width: 767px) {
  .promo-banner__title {
    font-size: 28px;
    margin-bottom: 20px;
  }
}
.promo-banner__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 40px;
  font-size: 16px;
  font-weight: 600;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border-radius: var(--radius-button, 4px);
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
@media all and (max-width: 767px) {
  .promo-banner__button {
    padding: 14px 30px;
    font-size: 15px;
  }
}
.promo-banner--color-white .promo-banner__subtitle,
.promo-banner--color-white .promo-banner__title {
  color: var(--color-white, #ffffff);
}
.promo-banner--color-dark .promo-banner__subtitle,
.promo-banner--color-dark .promo-banner__title {
  color: var(--color-black, #1C202B);
  text-shadow: none;
}
.promo-banner--color-dark .promo-banner__button {
  background-color: var(--color-black, #1C202B);
}
.promo-banner--height-auto .promo-banner__image-wrapper {
  position: relative;
}
.promo-banner--height-auto .promo-banner__image {
  position: relative;
  height: auto;
}
.promo-banner--height-small .promo-banner__image-wrapper,
.promo-banner--height-small .promo-banner__link {
  height: 300px;
}
@media all and (max-width: 767px) {
  .promo-banner--height-small .promo-banner__image-wrapper,
  .promo-banner--height-small .promo-banner__link {
    height: 250px;
  }
}
.promo-banner--height-medium .promo-banner__image-wrapper,
.promo-banner--height-medium .promo-banner__link {
  height: 450px;
}
@media all and (max-width: 767px) {
  .promo-banner--height-medium .promo-banner__image-wrapper,
  .promo-banner--height-medium .promo-banner__link {
    height: 350px;
  }
}
.promo-banner--height-large .promo-banner__image-wrapper,
.promo-banner--height-large .promo-banner__link {
  height: 600px;
}
@media all and (max-width: 767px) {
  .promo-banner--height-large .promo-banner__image-wrapper,
  .promo-banner--height-large .promo-banner__link {
    height: 450px;
  }
}
.promo-banner--height-fullscreen .promo-banner__image-wrapper,
.promo-banner--height-fullscreen .promo-banner__link {
  height: 100vh;
}
@media all and (max-width: 767px) {
  .promo-banner--height-fullscreen .promo-banner__image-wrapper,
  .promo-banner--height-fullscreen .promo-banner__link {
    height: 80vh;
  }
}
.promo-banner--parallax-vertical .promo-banner__image {
  height: 120%;
  object-position: center top;
}
.promo-banner--parallax-zoom .promo-banner__image {
  transition: transform 0.1s linear;
}
.promo-banner--parallax-fade .promo-banner__image-wrapper {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.promo-banner--parallax-fade .promo-banner__content {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease 0.2s, transform 0.8s ease 0.2s;
}
.promo-banner--parallax-fade.is-visible .promo-banner__image-wrapper {
  opacity: 1;
  transform: translateY(0);
}
.promo-banner--parallax-fade.is-visible .promo-banner__content {
  opacity: 1;
  transform: translateY(0);
}
.promo-banner--parallax-tilt {
  perspective: 1000px;
}
.promo-banner--parallax-tilt .promo-banner__image-wrapper {
  transform-style: preserve-3d;
  transition: transform 0.1s linear;
}
.promo-banner--parallax-tilt .promo-banner__content-inner {
  transform: translateZ(50px);
}
.promo-banner--parallax-reveal .promo-banner__image-wrapper {
  clip-path: inset(100% 0 0 0);
  transition: clip-path 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.promo-banner--parallax-reveal .promo-banner__content {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease 0.5s, transform 0.6s ease 0.5s;
}
.promo-banner--parallax-reveal.is-visible .promo-banner__image-wrapper {
  clip-path: inset(0 0 0 0);
}
.promo-banner--parallax-reveal.is-visible .promo-banner__content {
  opacity: 1;
  transform: translateY(0);
}
.promo-banner__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  padding: 60px 30px;
  background-color: var(--color-background, #f3f3f3);
  border-radius: var(--radius-base, 0px);
}

.info-tabs {
  padding: 40px 0;
}
@media all and (max-width: 991px) {
  .info-tabs {
    padding: 30px 0;
  }
}
@media all and (max-width: 767px) {
  .info-tabs {
    padding: 25px 0;
  }
}
.info-tabs.nomargin {
  padding: 0;
}
.info-tabs--horizontal .info-tabs__navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  border-bottom: 2px solid var(--color-border, #dedede);
  margin-bottom: 25px;
}
@media all and (max-width: 767px) {
  .info-tabs--horizontal .info-tabs__navigation {
    gap: 0;
  }
}
.info-tabs--horizontal .info-tabs__tab {
  padding: 12px 20px;
  margin-bottom: -2px;
  border-bottom: 2px solid transparent;
}
.info-tabs--horizontal .info-tabs__tab--active {
  border-bottom-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .info-tabs--horizontal .info-tabs__tab {
    flex: 1;
    padding: 10px 12px;
    text-align: center;
  }
}
.info-tabs--vertical {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 30px;
  align-items: start;
}
@media all and (max-width: 991px) {
  .info-tabs--vertical {
    grid-template-columns: 200px 1fr;
    gap: 20px;
  }
}
@media all and (max-width: 767px) {
  .info-tabs--vertical {
    display: block;
  }
}
.info-tabs--vertical .info-tabs__navigation {
  display: flex;
  flex-direction: column;
  gap: 5px;
  border-right: 2px solid var(--color-border, #dedede);
  padding-right: 20px;
}
@media all and (max-width: 767px) {
  .info-tabs--vertical .info-tabs__navigation {
    flex-direction: row;
    flex-wrap: wrap;
    border-right: none;
    border-bottom: 2px solid var(--color-border, #dedede);
    padding-right: 0;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
}
.info-tabs--vertical .info-tabs__tab {
  display: flex;
  text-align: left;
  padding: 12px 15px;
  border-left: 3px solid transparent;
  border-radius: 0;
  margin-left: -3px;
}
.info-tabs--vertical .info-tabs__tab--active {
  border-left-color: var(--brand-primary, #017F1A);
  background-color: var(--color-background, #f3f3f3);
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .info-tabs--vertical .info-tabs__tab {
    border-left: none;
    margin-left: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: 10px 15px;
  }
  .info-tabs--vertical .info-tabs__tab--active {
    border-bottom-color: var(--brand-primary, #017F1A);
    background-color: transparent;
  }
}
.info-tabs--vertical .info-tabs__panels {
  min-width: 0;
}
.info-tabs__tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-gray, #707070);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
}
.info-tabs__tab:hover:not(.info-tabs__tab--active) {
  color: var(--color-black, #1C202B);
}
.info-tabs__tab-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.info-tabs__tab-text {
  white-space: nowrap;
}
@media all and (max-width: 575px) {
  .info-tabs__tab-text {
    white-space: normal;
    font-size: 13px;
  }
}
.info-tabs__panel {
  display: none;
}
.info-tabs__panel--active {
  display: block;
  animation: infoTabsFadeIn 0.3s ease;
}
.info-tabs__content {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-black, #1C202B);
}
.info-tabs__content p {
  margin: 0 0 15px;
}
.info-tabs__content p:last-child {
  margin-bottom: 0;
}
.info-tabs__content ul, .info-tabs__content ol {
  margin: 0 0 15px;
  padding-left: 20px;
}
.info-tabs__content li {
  margin-bottom: 8px;
}
.info-tabs__content h3, .info-tabs__content h4 {
  margin: 20px 0 10px;
}
.info-tabs__content h3:first-child, .info-tabs__content h4:first-child {
  margin-top: 0;
}
.info-tabs__content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-base, 0px);
}
.info-tabs__empty {
  color: var(--color-gray, #707070);
  font-style: italic;
  text-align: center;
  padding: 30px;
}

@keyframes infoTabsFadeIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.product-hero {
  padding: 50px 0;
  background-color: var(--color-white, #ffffff);
}
@media all and (max-width: 991px) {
  .product-hero {
    padding: 40px 0;
  }
}
@media all and (max-width: 767px) {
  .product-hero {
    padding: 30px 0;
  }
}
.product-hero.nomargin {
  padding: 0;
}
.product-hero__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  margin: 0 auto;
}
@media all and (max-width: 991px) {
  .product-hero__wrapper {
    gap: 30px;
  }
}
@media all and (max-width: 767px) {
  .product-hero__wrapper {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
@media (min-width: 768px) {
  .product-hero--reversed .product-hero__wrapper .product-hero__image {
    order: 2;
  }
  .product-hero--reversed .product-hero__wrapper .product-hero__content {
    order: 1;
  }
}
.product-hero__image {
  padding: 15px;
  position: relative;
}
.product-hero__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-base, 0px);
}
.product-hero__image-placeholder {
  width: 100%;
  padding-bottom: 75%;
  background-color: #E6E6E6;
  border-radius: var(--radius-base, 0px);
}
.product-hero__badge {
  position: absolute;
  top: 15px;
  left: 15px;
  padding: 8px 15px;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: var(--radius-base, 0px);
  z-index: 1;
}
@media all and (max-width: 767px) {
  .product-hero__content {
    text-align: center;
  }
}
.product-hero__subtitle {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}
.product-hero__title {
  font-size: 38px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
  line-height: 1.2;
}
@media all and (max-width: 991px) {
  .product-hero__title {
    font-size: 32px;
  }
}
@media all and (max-width: 767px) {
  .product-hero__title {
    font-size: 28px;
    margin-bottom: 15px;
  }
}
.product-hero__description {
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin-bottom: 25px;
}
.product-hero__description p {
  margin: 0 0 15px;
}
.product-hero__description p:last-child {
  margin-bottom: 0;
}
.product-hero__price {
  margin-bottom: 25px;
}
.product-hero__price-value {
  font-size: 32px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .product-hero__price-value {
    font-size: 28px;
  }
}
.product-hero__price-note {
  display: block;
  font-size: 14px;
  color: var(--color-gray, #707070);
  margin-top: 5px;
}
.product-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 35px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border-radius: var(--radius-button, 4px);
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.product-hero__cta:hover {
  background-color: var(--brand-primary-dark, #015d13);
  transform: translateY(-2px);
}
@media all and (max-width: 767px) {
  .product-hero__cta {
    width: 100%;
    padding: 14px 30px;
  }
}

.product-colors {
  padding: 40px 0;
}
@media all and (max-width: 991px) {
  .product-colors {
    padding: 30px 0;
  }
}
@media all and (max-width: 767px) {
  .product-colors {
    padding: 25px 0;
  }
}
.product-colors.nomargin {
  padding: 0;
}
.product-colors__heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
}
@media all and (max-width: 767px) {
  .product-colors__heading {
    font-size: 18px;
    margin-bottom: 15px;
  }
}
.product-colors__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.product-colors--grid .product-colors__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 15px;
}
.product-colors__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.product-colors__swatch {
  width: 60px;
  height: 60px;
  border-radius: var(--radius-base, 0px);
  border: 2px solid var(--color-border, #dedede);
  overflow: hidden;
  transition: border-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
  cursor: pointer;
}
.product-colors__swatch:hover {
  border-color: var(--brand-primary, #017F1A);
  transform: scale(1.05);
}
.product-colors__swatch--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-colors__name {
  font-size: 13px;
  color: var(--color-gray, #707070);
  text-align: center;
}
.product-colors__empty {
  color: var(--color-gray, #707070);
  font-style: italic;
}

.product-dimensions {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .product-dimensions {
    padding: 30px 0;
  }
}
.product-dimensions.nomargin {
  padding: 0;
}
.product-dimensions__heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
}
@media all and (max-width: 767px) {
  .product-dimensions__heading {
    font-size: 20px;
    margin-bottom: 15px;
  }
}
.product-dimensions__wrapper {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media all and (max-width: 767px) {
  .product-dimensions__wrapper {
    flex-direction: column;
    gap: 20px;
  }
}
.product-dimensions--stacked .product-dimensions__wrapper {
  flex-direction: column;
  align-items: stretch;
}
.product-dimensions__diagram {
  flex: 0 0 40%;
  max-width: 40%;
}
.product-dimensions__diagram img {
  width: 100%;
  height: auto;
  display: block;
}
@media all and (max-width: 767px) {
  .product-dimensions__diagram {
    flex: none;
    max-width: 100%;
  }
}
.product-dimensions__list {
  flex: 1;
}
.product-dimensions__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.product-dimensions__item:last-child {
  border-bottom: none;
}
.product-dimensions__label {
  font-size: 14px;
  color: var(--color-gray, #707070);
}
.product-dimensions__value {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.product-dimensions__unit {
  font-size: 0.85em;
  font-weight: 400;
  color: var(--color-gray, #707070);
  margin-left: 2px;
}
.product-dimensions__note {
  margin-top: 15px;
  font-size: 13px;
  color: var(--color-gray, #707070);
  font-style: italic;
}

.product-video {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .product-video {
    padding: 30px 0;
  }
}
.product-video.nomargin {
  padding: 0;
}
.product-video__heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
}
@media all and (max-width: 767px) {
  .product-video__heading {
    font-size: 20px;
    margin-bottom: 15px;
  }
}
.product-video__wrapper {
  position: relative;
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  background-color: var(--color-black, #1C202B);
}
.product-video__poster {
  position: relative;
  cursor: pointer;
}
.product-video__poster img {
  width: 100%;
  height: auto;
  display: block;
}
.product-video__poster:hover .product-video__play {
  transform: translate(-50%, -50%) scale(1.1);
}
.product-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--brand-primary, #017F1A);
  transition: transform var(--transition-base, 0.3s ease);
}
.product-video__play svg {
  display: block;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.3));
}
.product-video__iframe {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.product-video__iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.product-video__caption {
  margin-top: 15px;
  font-size: 14px;
  color: var(--color-gray, #707070);
  text-align: center;
}
.product-video__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  padding: 40px;
  background-color: var(--color-background, #f3f3f3);
  border-radius: var(--radius-base, 0px);
}

.related-products {
  padding: 60px 0;
}
.related-products.nomargin {
  padding: 0;
}
@media all and (max-width: 767px) {
  .related-products {
    padding: 40px 0;
  }
}
.related-products__heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 30px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .related-products__heading {
    font-size: 24px;
    margin-bottom: 25px;
  }
}
.related-products__grid {
  display: grid;
  gap: 25px;
}
.related-products--cols-2 .related-products__grid {
  grid-template-columns: repeat(2, 1fr);
}
@media all and (max-width: 767px) {
  .related-products--cols-2 .related-products__grid {
    grid-template-columns: 1fr;
  }
}
.related-products--cols-3 .related-products__grid {
  grid-template-columns: repeat(3, 1fr);
}
@media all and (max-width: 767px) {
  .related-products--cols-3 .related-products__grid {
    grid-template-columns: 1fr;
  }
}
.related-products--cols-4 .related-products__grid {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (max-width: 991px) {
  .related-products--cols-4 .related-products__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .related-products--cols-4 .related-products__grid {
    grid-template-columns: 1fr;
  }
}
.related-products__item {
  display: block;
  text-decoration: none;
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  background-color: var(--color-white, #ffffff);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition: transform var(--transition-base, 0.3s ease), box-shadow var(--transition-base, 0.3s ease);
}
.related-products__item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.related-products__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  background-color: #E6E6E6;
}
.related-products__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base, 0.3s ease);
}
.related-products__image-placeholder {
  width: 100%;
  height: 100%;
  background-color: #E6E6E6;
}
.related-products__item:hover .related-products__image img {
  transform: scale(1.05);
}
.related-products__content {
  padding: 20px;
}
.related-products__subtitle {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 5px;
}
.related-products__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 0;
  line-height: 1.4;
}
.related-products__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  padding: 40px;
}
.related-products--slider .related-products__slider {
  margin: 0 -10px;
}
.related-products--slider .related-products__slider .slick-slide {
  padding: 0 10px;
}
.related-products--slider .related-products__slider .slick-list {
  overflow: hidden;
}
.related-products--slider .related-products__slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 25px;
  padding: 0;
  list-style: none;
}
.related-products--slider .related-products__slider .slick-dots li {
  margin: 0;
}
.related-products--slider .related-products__slider .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: var(--color-gray-light, #dedede);
  font-size: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.related-products--slider .related-products__slider .slick-dots li button:hover {
  background-color: rgb(183.75, 183.75, 183.75);
}
.related-products--slider .related-products__slider .slick-dots li.slick-active button {
  background-color: var(--brand-primary, #017F1A);
  transform: scale(1.2);
}
.related-products__navigation {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}
.related-products__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--color-gray-light, #dedede);
  border-radius: 50%;
  background: transparent;
  color: var(--color-black, #1C202B);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
}
.related-products__arrow:hover {
  border-color: var(--brand-primary, #017F1A);
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.related-products__arrow.slick-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.related-products__arrow.slick-disabled:hover {
  border-color: var(--color-gray-light, #dedede);
  background: transparent;
  color: var(--color-black, #1C202B);
}
.related-products__arrow svg {
  width: 20px;
  height: 20px;
}

.testimonials-slider {
  padding: 60px 0;
  background-color: var(--color-background, #f3f3f3);
}
.testimonials-slider.nomargin {
  padding: 0;
}
@media all and (max-width: 767px) {
  .testimonials-slider {
    padding: 40px 0;
  }
}
.testimonials-slider__heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 30px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .testimonials-slider__heading {
    font-size: 24px;
    margin-bottom: 25px;
  }
}
.testimonials-slider__wrapper {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
}
.testimonials-slider__slider.sd-slider-pending {
  opacity: 0;
}
.testimonials-slider__slider.sd-slider-ready {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.testimonials-slider__slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 25px;
  padding: 0;
  list-style: none;
}
.testimonials-slider__slider .slick-dots li {
  margin: 0;
}
.testimonials-slider__slider .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: var(--color-gray-light, #dedede);
  font-size: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.testimonials-slider__slider .slick-dots li button:hover {
  background-color: rgb(183.75, 183.75, 183.75);
}
.testimonials-slider__slider .slick-dots li.slick-active button {
  background-color: var(--brand-primary, #017F1A);
  transform: scale(1.2);
}
.testimonials-slider__item {
  padding: 0 15px;
}
.testimonials-slider__card {
  background-color: var(--color-white, #ffffff);
  border-radius: var(--radius-base, 0px);
  padding: 30px 40px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
  text-align: center;
}
@media all and (max-width: 767px) {
  .testimonials-slider__card {
    padding: 25px 20px;
  }
}
.testimonials-slider__rating {
  margin-bottom: 15px;
}
.testimonials-slider__star {
  font-size: 20px;
  color: var(--color-border, #dedede);
  margin: 0 2px;
}
.testimonials-slider__star--filled {
  color: #ffc107;
}
.testimonials-slider__content {
  font-size: 17px;
  line-height: 1.8;
  color: var(--color-gray, #707070);
  margin: 0 0 25px;
  font-style: italic;
}
@media all and (max-width: 767px) {
  .testimonials-slider__content {
    font-size: 15px;
    line-height: 1.7;
  }
}
.testimonials-slider__author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.testimonials-slider__avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.testimonials-slider__author-info {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.testimonials-slider__name {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.testimonials-slider__role {
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.testimonials-slider__navigation {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}
.testimonials-slider__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--color-gray-light, #dedede);
  border-radius: 50%;
  background: transparent;
  color: var(--color-black, #1C202B);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
}
.testimonials-slider__arrow:hover {
  border-color: var(--brand-primary, #017F1A);
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.testimonials-slider__arrow.slick-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.testimonials-slider__arrow.slick-disabled:hover {
  border-color: var(--color-gray-light, #dedede);
  background: transparent;
  color: var(--color-black, #1C202B);
}
.testimonials-slider__arrow svg {
  width: 20px;
  height: 20px;
}
.testimonials-slider__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  padding: 40px;
}

.trust-badges {
  padding: 50px 0;
}
@media all and (max-width: 767px) {
  .trust-badges {
    padding: 35px 0;
  }
}
.trust-badges.nomargin {
  padding: 0;
}
.trust-badges--bg-gray {
  background-color: var(--color-background, #f3f3f3);
}
.trust-badges--bg-brand {
  background-color: var(--brand-primary, #017F1A);
}
.trust-badges--bg-brand .trust-badges__heading,
.trust-badges--bg-brand .trust-badges__title,
.trust-badges--bg-brand .trust-badges__description {
  color: var(--color-white, #ffffff);
}
.trust-badges__heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 30px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .trust-badges__heading {
    font-size: 20px;
    margin-bottom: 25px;
  }
}
.trust-badges__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.trust-badges--inline .trust-badges__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 50px;
}
@media all and (max-width: 991px) {
  .trust-badges--inline .trust-badges__grid {
    gap: 25px 30px;
  }
}
@media all and (max-width: 767px) {
  .trust-badges--inline .trust-badges__grid {
    gap: 20px;
  }
}
.trust-badges--inline .trust-badges__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 0 0 auto;
  max-width: 180px;
}
@media all and (max-width: 767px) {
  .trust-badges--inline .trust-badges__item {
    flex: 0 0 calc(50% - 20px);
    max-width: none;
  }
}
.trust-badges--inline .trust-badges__icon {
  margin-bottom: 12px;
}
.trust-badges--inline .trust-badges__icon img {
  width: auto;
  height: 70px;
  max-width: 100px;
  object-fit: contain;
}
.trust-badges--inline .trust-badges__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.trust-badges--inline .trust-badges__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin-bottom: 6px;
  line-height: 1.3;
  white-space: nowrap;
}
.trust-badges--inline .trust-badges__description {
  font-size: 13px;
  color: var(--color-gray, #707070);
  line-height: 1.5;
  text-align: center;
}
.trust-badges--inline .trust-badges__description p {
  margin: 0;
}
.trust-badges--grid .trust-badges__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media all and (max-width: 991px) {
  .trust-badges--grid .trust-badges__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .trust-badges--grid .trust-badges__grid {
    grid-template-columns: 1fr;
  }
}
.trust-badges--grid .trust-badges__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 25px 20px;
  background-color: var(--color-white, #ffffff);
  border-radius: var(--radius-base, 0px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.trust-badges--grid .trust-badges__icon {
  margin-bottom: 15px;
}
.trust-badges--grid .trust-badges__icon img {
  width: 60px;
  height: 60px;
  object-fit: contain;
}
.trust-badges--grid .trust-badges__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin-bottom: 8px;
}
.trust-badges--grid .trust-badges__description {
  font-size: 13px;
  color: var(--color-gray, #707070);
  line-height: 1.5;
}
.trust-badges--grid .trust-badges__description p {
  margin: 0;
}
.trust-badges__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  font-style: italic;
  grid-column: 1/-1;
}

.brands-logos {
  padding: 40px 0;
}
.brands-logos.nomargin {
  padding: 0;
}
@media all and (max-width: 767px) {
  .brands-logos {
    padding: 30px 0;
  }
}
.brands-logos__heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 25px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .brands-logos__heading {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.brands-logos__grid {
  display: grid;
  gap: 20px;
  align-items: center;
  justify-items: center;
}
.brands-logos--cols-4 .brands-logos__grid {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (max-width: 767px) {
  .brands-logos--cols-4 .brands-logos__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.brands-logos--cols-5 .brands-logos__grid {
  grid-template-columns: repeat(5, 1fr);
}
@media all and (max-width: 991px) {
  .brands-logos--cols-5 .brands-logos__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 767px) {
  .brands-logos--cols-5 .brands-logos__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.brands-logos--cols-6 .brands-logos__grid {
  grid-template-columns: repeat(6, 1fr);
}
@media all and (max-width: 991px) {
  .brands-logos--cols-6 .brands-logos__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media all and (max-width: 767px) {
  .brands-logos--cols-6 .brands-logos__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.brands-logos--slider .brands-logos__slider {
  margin: 0 -10px;
}
.brands-logos--slider .brands-logos__slider .slick-slide {
  display: flex;
  align-items: center;
  padding: 0 10px;
  height: auto;
}
.brands-logos--slider .brands-logos__slider .slick-slide > div {
  height: 100%;
  width: 100%;
}
.brands-logos--slider .brands-logos__slider .slick-track {
  display: flex;
  align-items: stretch;
}
.brands-logos--slider .brands-logos__slider .slick-list {
  overflow: hidden;
}
.brands-logos--slider .brands-logos__slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 25px;
  padding: 0;
  list-style: none;
}
.brands-logos--slider .brands-logos__slider .slick-dots li {
  margin: 0;
}
.brands-logos--slider .brands-logos__slider .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: var(--color-gray-light, #dedede);
  font-size: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.brands-logos--slider .brands-logos__slider .slick-dots li button:hover {
  background-color: rgb(183.75, 183.75, 183.75);
}
.brands-logos--slider .brands-logos__slider .slick-dots li.slick-active button {
  background-color: var(--brand-primary, #017F1A);
  transform: scale(1.2);
}
.brands-logos--slider .brands-logos__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  padding: 25px 15px;
  background: var(--color-white, #ffffff);
  border-radius: var(--radius-base, 0px);
}
.brands-logos--slider .brands-logos__item img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 60px;
  object-fit: contain;
}
.brands-logos--slider .brands-logos__name {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 15px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: var(--radius-base, 0px);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  text-align: center;
  opacity: 0;
  transition: opacity var(--transition-base, 0.3s ease);
  pointer-events: none;
}
.brands-logos--slider .brands-logos__item:hover .brands-logos__name {
  opacity: 1;
}
.brands-logos__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 15px;
  text-decoration: none;
  transition: transform var(--transition-base, 0.3s ease);
}
.brands-logos__item img {
  width: 120px;
  height: auto;
  object-fit: contain;
  transition: filter var(--transition-base, 0.3s ease), opacity var(--transition-base, 0.3s ease);
}
@media all and (max-width: 767px) {
  .brands-logos__item img {
    width: 100px;
  }
}
.brands-logos__item:hover {
  transform: scale(1.05);
}
.brands-logos--grid .brands-logos__name {
  display: none;
  margin-top: 10px;
  font-size: 13px;
  color: var(--color-gray, #707070);
  text-align: center;
  transition: color var(--transition-base, 0.3s ease);
}
.brands-logos--grid.brands-logos--with-names .brands-logos__name {
  display: block;
}
.brands-logos--grid .brands-logos__item:hover .brands-logos__name {
  color: var(--brand-primary, #017F1A);
}
.brands-logos--grayscale .brands-logos__item img {
  filter: grayscale(100%);
  opacity: 0.7;
}
.brands-logos--grayscale .brands-logos__item:hover img {
  filter: grayscale(0%);
  opacity: 1;
}
.brands-logos__navigation {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}
.brands-logos__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--color-gray-light, #dedede);
  border-radius: 50%;
  background: transparent;
  color: var(--color-black, #1C202B);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
}
.brands-logos__arrow:hover {
  border-color: var(--brand-primary, #017F1A);
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.brands-logos__arrow.slick-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.brands-logos__arrow.slick-disabled:hover {
  border-color: var(--color-gray-light, #dedede);
  background: transparent;
  color: var(--color-black, #1C202B);
}
.brands-logos__arrow svg {
  width: 20px;
  height: 20px;
}
.brands-logos__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  font-style: italic;
  grid-column: 1/-1;
}

.faq-accordion {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .faq-accordion {
    padding: 30px 0;
  }
}
.faq-accordion.nomargin {
  padding: 0;
}
.faq-accordion__heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 30px;
}
@media all and (max-width: 767px) {
  .faq-accordion__heading {
    font-size: 24px;
    margin-bottom: 25px;
  }
}
.faq-accordion__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.faq-accordion__item {
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  transition: border-color var(--transition-base, 0.3s ease);
}
.faq-accordion__item--open {
  border-color: var(--brand-primary, #017F1A);
}
.faq-accordion__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  width: 100%;
  padding: 18px 20px;
  background-color: var(--color-white, #ffffff);
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
}
.faq-accordion__question:hover {
  background-color: var(--color-background, #f3f3f3);
}
@media all and (max-width: 767px) {
  .faq-accordion__question {
    padding: 15px;
  }
}
.faq-accordion__question-text {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  line-height: 1.4;
}
@media all and (max-width: 767px) {
  .faq-accordion__question-text {
    font-size: 15px;
  }
}
.faq-accordion__item--open .faq-accordion__question-text {
  color: var(--brand-primary, #017F1A);
}
.faq-accordion__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--color-gray, #707070);
  transition: transform var(--transition-base, 0.3s ease), color var(--transition-base, 0.3s ease);
}
.faq-accordion__icon svg {
  display: block;
}
.faq-accordion__item--open .faq-accordion__icon {
  transform: rotate(180deg);
  color: var(--brand-primary, #017F1A);
}
.faq-accordion__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease-out;
}
.faq-accordion__item--open .faq-accordion__answer {
  max-height: 1000px;
  transition: max-height 0.4s ease-in;
}
.faq-accordion__answer-content {
  padding: 0 20px 20px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
}
.faq-accordion__answer-content p {
  margin: 0 0 15px;
}
.faq-accordion__answer-content p:last-child {
  margin-bottom: 0;
}
.faq-accordion__answer-content ul, .faq-accordion__answer-content ol {
  margin: 0 0 15px;
  padding-left: 20px;
}
@media all and (max-width: 767px) {
  .faq-accordion__answer-content {
    padding: 0 15px 15px;
    font-size: 14px;
  }
}
.faq-accordion__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  font-style: italic;
  padding: 30px;
}

.text-with-icon {
  padding: 40px 0;
  display: flex;
  gap: 20px;
}
@media all and (max-width: 767px) {
  .text-with-icon {
    padding: 30px 0;
  }
}
.text-with-icon.nomargin {
  padding: 0;
}
.text-with-icon--horizontal {
  flex-direction: row;
  align-items: flex-start;
}
.text-with-icon--vertical {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.text-with-icon__icon {
  flex-shrink: 0;
}
.text-with-icon__icon img {
  display: block;
}
.text-with-icon--icon-default .text-with-icon__icon img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}
.text-with-icon--icon-large .text-with-icon__icon img {
  width: 70px;
  height: 70px;
  object-fit: contain;
}
.text-with-icon--icon-circle .text-with-icon__icon {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-background, #f3f3f3);
  border-radius: 50%;
}
.text-with-icon--icon-circle .text-with-icon__icon img {
  width: 35px;
  height: 35px;
}
.text-with-icon--icon-brand .text-with-icon__icon {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  border-radius: var(--radius-base, 0px);
}
.text-with-icon--icon-brand .text-with-icon__icon img {
  width: 35px;
  height: 35px;
  filter: brightness(0) invert(1);
}
.text-with-icon__content {
  flex: 1;
}
.text-with-icon__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 0 0 10px;
}
@media all and (max-width: 767px) {
  .text-with-icon__title {
    font-size: 16px;
  }
}
.text-with-icon__description {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
  margin-bottom: 15px;
}
.text-with-icon__description p {
  margin: 0;
}
.text-with-icon__link {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  text-decoration: none;
  transition: color var(--transition-base, 0.3s ease);
}
.text-with-icon__link:hover {
  color: var(--brand-primary-dark, #015d13);
}
.text-with-icon__link::after {
  content: "→";
  margin-left: 5px;
  transition: transform var(--transition-base, 0.3s ease);
}
.text-with-icon__link:hover::after {
  transform: translateX(3px);
}

.numbered-steps {
  padding: 60px 0;
}
@media all and (max-width: 767px) {
  .numbered-steps {
    padding: 40px 0;
  }
}
.numbered-steps.nomargin {
  padding: 0;
}
.numbered-steps__heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 40px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .numbered-steps__heading {
    font-size: 24px;
    margin-bottom: 30px;
  }
}
.numbered-steps__list {
  display: flex;
  gap: 30px;
  counter-reset: steps;
}
.numbered-steps--horizontal .numbered-steps__list {
  flex-direction: row;
  justify-content: center;
}
@media all and (max-width: 767px) {
  .numbered-steps--horizontal .numbered-steps__list {
    flex-direction: column;
  }
}
.numbered-steps--vertical .numbered-steps__list {
  flex-direction: column;
  max-width: 600px;
  margin: 0 auto;
}
.numbered-steps__item {
  display: flex;
  gap: 20px;
  flex: 1;
}
@media all and (max-width: 767px) {
  .numbered-steps__item {
    flex: none;
  }
}
.numbered-steps--horizontal .numbered-steps__item {
  flex-direction: column;
  text-align: center;
  align-items: center;
  position: relative;
}
.numbered-steps--horizontal .numbered-steps__item::after {
  content: "";
  position: absolute;
  top: 25px;
  left: calc(50% + 35px);
  width: calc(100% - 70px);
  height: 2px;
  background-color: var(--color-border, #dedede);
}
@media all and (max-width: 767px) {
  .numbered-steps--horizontal .numbered-steps__item::after {
    display: none;
  }
}
.numbered-steps--horizontal .numbered-steps__item:last-child::after {
  display: none;
}
.numbered-steps--vertical .numbered-steps__item {
  flex-direction: row;
  align-items: flex-start;
}
.numbered-steps__number {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 20px;
  font-weight: 700;
  border-radius: 50%;
  position: relative;
  z-index: 1;
}
.numbered-steps__content {
  flex: 1;
}
.numbered-steps--horizontal .numbered-steps__content {
  max-width: 250px;
}
.numbered-steps__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 0 0 10px;
}
@media all and (max-width: 767px) {
  .numbered-steps__title {
    font-size: 16px;
  }
}
.numbered-steps__description {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
  margin: 0;
}
@media all and (max-width: 767px) {
  .numbered-steps__description {
    font-size: 14px;
  }
}
.numbered-steps__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  font-style: italic;
  padding: 30px;
}

.comparison-table {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .comparison-table {
    padding: 30px 0;
  }
}
.comparison-table.nomargin {
  padding: 0;
}
.comparison-table__heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 30px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .comparison-table__heading {
    font-size: 24px;
    margin-bottom: 25px;
  }
}
.comparison-table__wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.comparison-table__table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  background-color: var(--color-white, #ffffff);
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
}
.comparison-table thead {
  background-color: var(--color-background, #f3f3f3);
}
.comparison-table th, .comparison-table td {
  padding: 15px 0;
  text-align: center;
  border-bottom: 1px solid var(--color-border, #dedede);
}
@media all and (max-width: 767px) {
  .comparison-table th, .comparison-table td {
    padding: 12px 0;
  }
}
.comparison-table__feature-header {
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-gray, #707070);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.comparison-table__product-header {
  min-width: 150px;
}
.comparison-table__product-image {
  width: 60px;
  height: 60px;
  object-fit: contain;
  margin-bottom: 10px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.comparison-table__product-name {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.comparison-table__product-price {
  display: block;
  font-size: 14px;
  color: var(--brand-primary, #017F1A);
  font-weight: 600;
  margin-top: 5px;
}
.comparison-table__feature-name {
  text-align: left;
  font-size: 14px;
  color: var(--color-black, #1C202B);
}
.comparison-table__value {
  font-size: 14px;
  color: var(--color-gray, #707070);
}
.comparison-table__value--yes {
  background-color: rgba(1, 127, 26, 0.1);
}
.comparison-table__value--no {
  background-color: rgba(220, 53, 69, 0.05);
}
.comparison-table__check {
  color: var(--brand-primary, #017F1A);
  font-size: 18px;
  font-weight: bold;
}
.comparison-table__cross {
  color: #dc3545;
  font-size: 18px;
}
.comparison-table tbody tr:hover {
  background-color: rgba(243, 243, 243, 0.5);
}
.comparison-table tbody tr:last-child td {
  border-bottom: none;
}
.comparison-table__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  font-style: italic;
  padding: 40px;
}

.contact-box {
  padding: 50px 0;
}
@media all and (max-width: 767px) {
  .contact-box {
    padding: 35px 0;
  }
}
.contact-box.nomargin {
  padding: 0;
}
.contact-box__inner {
  padding: 30px;
  background-color: var(--color-background, #f3f3f3);
  border-radius: var(--radius-base, 0px);
}
@media all and (max-width: 767px) {
  .contact-box__inner {
    padding: 25px 0;
  }
}
.contact-box--default .contact-box__inner {
  background-color: var(--color-background, #f3f3f3);
}
.contact-box--brand .contact-box__inner {
  background-color: var(--brand-primary, #017F1A);
}
.contact-box--brand .contact-box__inner .contact-box__heading,
.contact-box--brand .contact-box__inner .contact-box__description,
.contact-box--brand .contact-box__inner .contact-box__item {
  color: var(--color-white, #ffffff);
}
.contact-box--brand .contact-box__inner .contact-box__item svg {
  stroke: var(--color-white, #ffffff);
}
.contact-box--brand .contact-box__inner .contact-box__cta {
  background-color: var(--color-white, #ffffff);
  color: var(--brand-primary, #017F1A);
}
.contact-box--brand .contact-box__inner .contact-box__cta:hover {
  background-color: #E6E6E6;
}
.contact-box--bordered .contact-box__inner {
  background-color: var(--color-white, #ffffff);
  border: 2px solid var(--color-border, #dedede);
}
.contact-box__heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 10px;
}
@media all and (max-width: 767px) {
  .contact-box__heading {
    font-size: 20px;
  }
}
.contact-box__description {
  font-size: 15px;
  color: var(--color-gray, #707070);
  margin-bottom: 20px;
}
.contact-box__details {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 25px;
}
.contact-box__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  color: var(--color-black, #1C202B);
  text-decoration: none;
  transition: color var(--transition-base, 0.3s ease);
}
.contact-box__item svg {
  flex-shrink: 0;
  margin-top: 2px;
  stroke: var(--brand-primary, #017F1A);
}
.contact-box__item:hover {
  color: var(--brand-primary, #017F1A);
}
.contact-box a.contact-box__item:hover {
  color: var(--brand-primary, #017F1A);
}
.contact-box__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 30px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border-radius: var(--radius-button, 4px);
  transition: background-color var(--transition-base, 0.3s ease);
}
.contact-box__cta:hover {
  background-color: var(--brand-primary-dark, #015d13);
}
@media all and (max-width: 767px) {
  .contact-box__cta {
    width: 100%;
  }
}

.newsletter-form {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .newsletter-form {
    padding: 30px 0;
  }
}
.newsletter-form.nomargin {
  padding: 0;
}
.newsletter-form__inner {
  padding: 40px;
  background-color: var(--color-background, #f3f3f3);
  border-radius: var(--radius-base, 0px);
  text-align: center;
}
@media all and (max-width: 767px) {
  .newsletter-form__inner {
    padding: 30px 0;
  }
}
.newsletter-form--default .newsletter-form__inner {
  background-color: var(--color-background, #f3f3f3);
}
.newsletter-form--brand .newsletter-form__inner {
  background-color: var(--brand-primary, #017F1A);
}
.newsletter-form--brand .newsletter-form__inner .newsletter-form__heading,
.newsletter-form--brand .newsletter-form__inner .newsletter-form__description,
.newsletter-form--brand .newsletter-form__inner .newsletter-form__consent {
  color: var(--color-white, #ffffff);
}
.newsletter-form--brand .newsletter-form__inner .newsletter-form__button {
  background-color: var(--color-white, #ffffff);
  color: var(--brand-primary, #017F1A);
}
.newsletter-form--brand .newsletter-form__inner .newsletter-form__button:hover {
  background-color: #E6E6E6;
}
.newsletter-form--white .newsletter-form__inner {
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
}
.newsletter-form__heading {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 10px;
}
@media all and (max-width: 767px) {
  .newsletter-form__heading {
    font-size: 22px;
  }
}
.newsletter-form__description {
  font-size: 15px;
  color: var(--color-gray, #707070);
  margin-bottom: 25px;
}
.newsletter-form__form {
  max-width: 500px;
  margin: 0 auto;
}
.newsletter-form__field {
  display: flex;
  gap: 10px;
}
@media all and (max-width: 767px) {
  .newsletter-form__field {
    flex-direction: column;
  }
}
.newsletter-form__input {
  flex: 1;
  padding: 14px 18px;
  font-size: 15px;
  border: 2px solid var(--color-border, #dedede);
  border-radius: var(--radius-button, 4px);
  background-color: var(--color-white, #ffffff);
  transition: border-color var(--transition-base, 0.3s ease);
}
.newsletter-form__input:focus {
  outline: none;
  border-color: var(--brand-primary, #017F1A);
}
.newsletter-form__input::placeholder {
  color: var(--color-gray, #707070);
}
.newsletter-form__button {
  padding: 14px 30px;
  font-size: 15px;
  font-weight: 600;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  border: none;
  border-radius: var(--radius-button, 4px);
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease);
  white-space: nowrap;
}
.newsletter-form__button:hover {
  background-color: var(--brand-primary-dark, #015d13);
}
@media all and (max-width: 767px) {
  .newsletter-form__button {
    width: 100%;
  }
}
.newsletter-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 15px;
  font-size: 13px;
  color: var(--color-gray, #707070);
  text-align: left;
}
.newsletter-form__consent input[type=checkbox] {
  flex-shrink: 0;
  margin-top: 2px;
}
.newsletter-form__consent a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
}

.cta-fullwidth {
  position: relative;
  padding: 80px 0;
  background-size: cover;
  background-position: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .cta-fullwidth {
    max-width: var(--space-container-max-lg, 992px);
  }
}
@media (min-width: 1200px) {
  .cta-fullwidth {
    max-width: var(--space-container-max-xl, 1160px);
  }
}
@media (min-width: 1700px) {
  .cta-fullwidth {
    max-width: var(--space-container-max-big, 1450px);
  }
}
@media all and (max-width: 991px) {
  .cta-fullwidth {
    padding: 60px 0;
  }
}
@media all and (max-width: 767px) {
  .cta-fullwidth {
    padding: 50px 0;
  }
}
.cta-fullwidth.nomargin {
  padding: 0;
}
@media all and (max-width: 767px) {
  .cta-fullwidth {
    padding: 60px 0;
  }
}
.cta-fullwidth__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(28, 32, 43, 0.6);
}
.cta-fullwidth--bg-brand {
  background-color: var(--brand-primary, #017F1A);
}
.cta-fullwidth--bg-brand .cta-fullwidth__heading,
.cta-fullwidth--bg-brand .cta-fullwidth__description {
  color: var(--color-white, #ffffff);
}
.cta-fullwidth--bg-brand .cta-fullwidth__button--primary {
  background-color: var(--color-white, #ffffff);
  color: var(--brand-primary, #017F1A);
}
.cta-fullwidth--bg-brand .cta-fullwidth__button--primary:hover {
  background-color: #E6E6E6;
}
.cta-fullwidth--bg-brand .cta-fullwidth__button--secondary {
  background-color: transparent;
  border: 2px solid var(--color-white, #ffffff);
  color: var(--color-white, #ffffff);
}
.cta-fullwidth--bg-brand .cta-fullwidth__button--secondary:hover {
  background-color: var(--color-white, #ffffff);
  color: var(--brand-primary, #017F1A);
}
.cta-fullwidth--bg-dark {
  background-color: var(--color-black, #1C202B);
}
.cta-fullwidth--bg-dark .cta-fullwidth__heading,
.cta-fullwidth--bg-dark .cta-fullwidth__description {
  color: var(--color-white, #ffffff);
}
.cta-fullwidth--bg-gray {
  background-color: var(--color-background, #f3f3f3);
}
.cta-fullwidth__content {
  position: relative;
  z-index: 1;
}
.cta-fullwidth[style*=background-image] > .container, .woocommerce-cart .cta-fullwidth[style*=background-image] > .woocommerce, .woocommerce-checkout .cta-fullwidth[style*=background-image] > .woocommerce, .woocommerce-order-received .cta-fullwidth[style*=background-image] > .woocommerce, .cta-fullwidth[style*=background-image] > .wp-block-woocommerce-checkout, .cta-fullwidth[style*=background-image] > .wp-block-woocommerce-cart {
  text-align: center;
}
.cta-fullwidth[style*=background-image] .cta-fullwidth__content {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(6px);
  border-radius: 12px;
  padding: 40px 50px;
  display: inline-block;
  text-align: center;
}
@media all and (max-width: 767px) {
  .cta-fullwidth[style*=background-image] .cta-fullwidth__content {
    padding: 30px 25px;
  }
}
.cta-fullwidth[style*=background-image] .cta-fullwidth__content .cta-fullwidth__heading {
  color: var(--color-black, #1C202B);
}
.cta-fullwidth[style*=background-image] .cta-fullwidth__content .cta-fullwidth__description {
  color: var(--color-gray, #707070);
}
.cta-fullwidth--align-center .cta-fullwidth__content {
  text-align: center;
}
.cta-fullwidth--align-left .cta-fullwidth__content {
  text-align: left;
}
.cta-fullwidth__heading {
  font-size: 36px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 15px;
  line-height: 1.3;
}
@media all and (max-width: 991px) {
  .cta-fullwidth__heading {
    font-size: 30px;
  }
}
@media all and (max-width: 767px) {
  .cta-fullwidth__heading {
    font-size: 26px;
  }
}
[style*=background-image] .cta-fullwidth .cta-fullwidth__heading, [style*=background-image] .cta-fullwidth .cta-fullwidth__description {
  color: var(--color-white, #ffffff);
}
.cta-fullwidth__description {
  font-size: 18px;
  color: var(--color-gray, #707070);
  margin-bottom: 30px;
  max-width: 700px;
}
@media all and (max-width: 767px) {
  .cta-fullwidth__description {
    font-size: 16px;
    margin-bottom: 25px;
  }
}
.cta-fullwidth--align-center .cta-fullwidth__description {
  margin-left: auto;
  margin-right: auto;
}
.cta-fullwidth__buttons {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}
.cta-fullwidth--align-center .cta-fullwidth__buttons {
  justify-content: center;
}
.cta-fullwidth__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 35px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--radius-button, 4px);
  transition: all var(--transition-base, 0.3s ease);
}
@media all and (max-width: 767px) {
  .cta-fullwidth__button {
    padding: 14px 28px;
    font-size: 15px;
  }
}
.cta-fullwidth__button--primary {
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.cta-fullwidth__button--primary:hover {
  background-color: var(--brand-primary-dark, #015d13);
  transform: translateY(-2px);
}
.cta-fullwidth__button--secondary {
  background-color: transparent;
  border: 2px solid var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
}
.cta-fullwidth__button--secondary:hover {
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
[style*=background-image] .cta-fullwidth .cta-fullwidth__button--primary {
  background-color: var(--color-white, #ffffff);
  color: var(--brand-primary, #017F1A);
}
[style*=background-image] .cta-fullwidth .cta-fullwidth__button--primary:hover {
  background-color: #E6E6E6;
}
[style*=background-image] .cta-fullwidth .cta-fullwidth__button--secondary {
  border-color: var(--color-white, #ffffff);
  color: var(--color-white, #ffffff);
}
[style*=background-image] .cta-fullwidth .cta-fullwidth__button--secondary:hover {
  background-color: var(--color-white, #ffffff);
  color: var(--color-black, #1C202B);
}

/* AUTO START */
/* AUTO END */
.checkerboard.nomargin .checkerboard__row {
  padding: 0;
}
.checkerboard__row {
  padding: 60px 0;
}
@media all and (max-width: 767px) {
  .checkerboard__row {
    padding: 40px 0;
  }
}
.checkerboard__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}
@media all and (max-width: 991px) {
  .checkerboard__wrapper {
    gap: 30px;
  }
}
@media all and (max-width: 767px) {
  .checkerboard__wrapper {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
.checkerboard__row--image-left .checkerboard__wrapper .checkerboard__image {
  order: 1;
}
.checkerboard__row--image-left .checkerboard__wrapper .checkerboard__content {
  order: 2;
}
@media all and (max-width: 767px) {
  .checkerboard__row--image-left .checkerboard__wrapper .checkerboard__image {
    order: 2;
  }
  .checkerboard__row--image-left .checkerboard__wrapper .checkerboard__content {
    order: 1;
  }
}
.checkerboard__row--image-right .checkerboard__wrapper .checkerboard__image {
  order: 2;
}
.checkerboard__row--image-right .checkerboard__wrapper .checkerboard__content {
  order: 1;
}
@media all and (max-width: 767px) {
  .checkerboard__row--image-right .checkerboard__wrapper .checkerboard__image {
    order: 2;
  }
  .checkerboard__row--image-right .checkerboard__wrapper .checkerboard__content {
    order: 1;
  }
}
.checkerboard__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-base, 0px);
}
@media all and (max-width: 767px) {
  .checkerboard__content {
    text-align: center;
  }
}
.checkerboard__title {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 15px;
  line-height: 1.3;
}
@media all and (max-width: 991px) {
  .checkerboard__title {
    font-size: 28px;
  }
}
@media all and (max-width: 767px) {
  .checkerboard__title {
    font-size: 24px;
  }
}
.checkerboard__subtitle {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 0 0 15px;
  line-height: 1.4;
}
@media all and (max-width: 767px) {
  .checkerboard__subtitle {
    font-size: 18px;
  }
}
.checkerboard__text {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin-bottom: 20px;
  text-align: justify;
}
.checkerboard__text p {
  margin: 0 0 15px;
}
.checkerboard__text p:last-child {
  margin-bottom: 0;
}
.checkerboard__text ul, .checkerboard__text ol {
  margin: 0 0 15px;
  padding-left: 20px;
}
@media all and (max-width: 767px) {
  .checkerboard__text {
    text-align: left;
    font-size: 14px;
  }
}
.checkerboard__highlight {
  font-size: 15px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
  line-height: 1.5;
}
@media all and (max-width: 767px) {
  .checkerboard__highlight {
    font-size: 14px;
  }
}
.checkerboard__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background-color: #f5c518;
  color: var(--color-black, #1C202B) !important;
  border: none;
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.checkerboard__button:hover {
  background-color: rgb(218.731120332, 173.2804979253, 9.468879668);
  color: var(--color-black, #1C202B) !important;
  transform: translateY(-2px);
}
@media all and (max-width: 767px) {
  .checkerboard__button {
    width: 100%;
    padding: 12px 24px;
  }
}
.checkerboard__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  font-style: italic;
  padding: 40px 0;
}

/* AUTO START */
/* AUTO END */
:root {
  --topbar-height: 50px;
  --header-height: 80px;
  --mega-nav-height: 48px;
  --topbar-height-mobile: 44px;
  --header-height-mobile: 64px;
  --mega-nav-height-mobile: 48px;
}

.fullwidth-slider {
  position: relative;
  margin: 40px 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-container-x, 15px);
  padding-right: var(--space-container-x, 15px);
}
@media (min-width: 992px) {
  .fullwidth-slider {
    max-width: var(--space-container-max-lg, 992px);
  }
}
@media (min-width: 1200px) {
  .fullwidth-slider {
    max-width: var(--space-container-max-xl, 1160px);
  }
}
@media (min-width: 1700px) {
  .fullwidth-slider {
    max-width: var(--space-container-max-big, 1450px);
    padding-left: var(--space-container-x, 15px);
    padding-right: var(--space-container-x, 15px);
  }
}
@media all and (max-width: 767px) {
  .fullwidth-slider {
    margin: 30px 0;
  }
}
.fullwidth-slider.nomargin {
  margin: 0 auto;
}
.fullwidth-slider__slider.sd-slider-pending {
  opacity: 0;
  aspect-ratio: var(--slider-proporcje, 21/9);
  overflow: hidden;
}
@media (max-width: 767px) {
  .fullwidth-slider__slider.sd-slider-pending {
    aspect-ratio: var(--slider-proporcje-mobile, var(--slider-proporcje, 21/9));
  }
}
.fullwidth-slider__slider.sd-slider-pending .fullwidth-slider__slide {
  position: absolute;
  inset: 0;
  width: 100%;
}
.fullwidth-slider__slider.sd-slider-pending .fullwidth-slider__picture {
  position: absolute;
  inset: 0;
}
.fullwidth-slider__slider.sd-slider-pending .fullwidth-slider__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fullwidth-slider__slider.sd-slider-pending {
  position: relative;
}
.fullwidth-slider__slider.sd-slider-ready {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.fullwidth-slider__slider .slick-dots {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  margin: 0;
  list-style: none;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0;
  transition: all 500ms;
}
.fullwidth-slider__slider .slick-dots:hover {
  background-color: var(--color-white, #ffffff);
}
@media all and (max-width: 767px) {
  .fullwidth-slider__slider .slick-dots {
    bottom: 20px;
    padding: 10px 15px;
  }
}
.fullwidth-slider__slider .slick-dots li {
  margin: 0;
  line-height: 0;
}
.fullwidth-slider__slider .slick-dots li button {
  width: 14px;
  height: 14px;
  padding: 0;
  border: 2px solid var(--brand-primary, #017F1A);
  border-radius: 50%;
  background-color: transparent;
  font-size: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.fullwidth-slider__slider .slick-dots li button:hover {
  background-color: rgba(1, 127, 26, 0.4);
}
.fullwidth-slider__slider .slick-dots li.slick-active button {
  background-color: var(--brand-primary, #017F1A);
  transform: scale(1.1);
}
.fullwidth-slider__slide {
  outline: none;
}
.fullwidth-slider__link {
  display: block;
}
.fullwidth-slider__link:hover {
  opacity: 0.95;
}
.fullwidth-slider__picture {
  display: block;
  width: 100%;
}
.fullwidth-slider__image {
  width: 100%;
  height: auto;
  display: block;
}
.fullwidth-slider--auto-height .fullwidth-slider__slider .slick-track {
  display: flex !important;
  align-items: stretch;
}
.fullwidth-slider--auto-height .fullwidth-slider__slider .slick-slide {
  height: var(--auto-slider-height) !important;
  float: none !important;
}
.fullwidth-slider--auto-height .fullwidth-slider__slider .slick-slide > div {
  height: 100%;
}
.fullwidth-slider--auto-height .fullwidth-slider__slide {
  height: 100%;
}
.fullwidth-slider--auto-height .fullwidth-slider__link {
  height: 100%;
}
.fullwidth-slider--auto-height .fullwidth-slider__image {
  height: var(--auto-slider-height);
  object-fit: cover;
}
.fullwidth-slider--fixed-height .fullwidth-slider__image {
  height: var(--slider-height-desktop, 600px);
  object-fit: cover;
}
@media all and (max-width: 767px) {
  .fullwidth-slider--fixed-height .fullwidth-slider__image {
    height: var(--slider-height-mobile, var(--slider-height-desktop, 400px));
  }
}
@media all and (max-width: 767px) {
  .fullwidth-slider--fixed-height-mobile .fullwidth-slider__image {
    height: var(--slider-height-mobile, 400px);
    object-fit: cover;
  }
}
.fullwidth-slider__navigation {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  pointer-events: none;
  z-index: 10;
}
@media all and (max-width: 767px) {
  .fullwidth-slider__navigation {
    padding: 0 10px;
  }
}
.fullwidth-slider__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 2px solid var(--color-white, #ffffff);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.3);
  color: var(--color-white, #ffffff);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
  pointer-events: auto;
}
@media all and (max-width: 767px) {
  .fullwidth-slider__arrow {
    width: 40px;
    height: 40px;
  }
}
.fullwidth-slider__arrow:hover {
  background-color: var(--brand-primary, #017F1A);
  border-color: var(--brand-primary, #017F1A);
}
.fullwidth-slider__arrow.slick-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.fullwidth-slider__arrow.slick-disabled:hover {
  background: rgba(0, 0, 0, 0.3);
  border-color: var(--color-white, #ffffff);
}
.fullwidth-slider__arrow svg {
  width: 24px;
  height: 24px;
}
@media all and (max-width: 767px) {
  .fullwidth-slider__arrow svg {
    width: 20px;
    height: 20px;
  }
}
.fullwidth-slider__empty {
  text-align: center;
  color: var(--color-gray, #707070);
  font-style: italic;
  padding: 60px 20px;
  background-color: var(--color-background, #f3f3f3);
}
.single-product .fullwidth-slider--fixed-height .fullwidth-slider__image {
  height: var(--slider-height-desktop, 500px);
}
@media all and (max-width: 767px) {
  .single-product .fullwidth-slider--fixed-height .fullwidth-slider__image {
    height: var(--slider-height-mobile, var(--slider-height-desktop, 280px));
  }
}

/* AUTO START */
/* AUTO END */
.image-grid-buttons {
  padding: 50px 0;
}
@media all and (max-width: 767px) {
  .image-grid-buttons {
    padding: 30px 0;
  }
}
.image-grid-buttons.nomargin {
  padding: 0;
}
.image-grid-buttons__grid {
  --cols-xs: 1;
  --cols-sm: 1;
  --cols-md: 2;
  --cols-lg: 2;
  --cols-xl: 2;
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(var(--cols-xl), 1fr);
}
@media (max-width: 1400px) {
  .image-grid-buttons__grid {
    grid-template-columns: repeat(var(--cols-lg), 1fr);
  }
}
@media (max-width: 1199px) {
  .image-grid-buttons__grid {
    grid-template-columns: repeat(var(--cols-md), 1fr);
  }
}
@media (max-width: 991px) {
  .image-grid-buttons__grid {
    grid-template-columns: repeat(var(--cols-sm), 1fr);
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .image-grid-buttons__grid {
    grid-template-columns: repeat(var(--cols-xs), 1fr);
    gap: 15px;
  }
}
.image-grid-buttons__item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-base, 0px);
  background-color: var(--color-white, #ffffff);
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.image-grid-buttons__item:hover {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.22);
  transform: translateY(-5px);
}
.image-grid-buttons__item:hover .image-grid-buttons__image-wrap img {
  transform: scale(1.05);
}
.image-grid-buttons__item:hover .image-grid-buttons__title {
  transform: translate(-35px, -5px);
}
.image-grid-buttons__item:hover .image-grid-buttons__button {
  background-color: var(--color-black, #1C202B);
  transform: translateY(-3px);
}
.image-grid-buttons__item:hover .image-grid-buttons__button svg {
  transform: translateX(5px);
}
.image-grid-buttons__image-wrap {
  position: relative;
  height: 280px;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .image-grid-buttons__image-wrap {
    height: 220px;
  }
}
.image-grid-buttons__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.image-grid-buttons__title {
  position: absolute;
  bottom: 70px;
  right: 0;
  transform: translateX(-30px);
  background-color: #FFCC26;
  color: var(--color-black, #1C202B);
  font-size: 16px;
  font-weight: 700;
  padding: 12px 20px;
  max-width: 80%;
  transition: transform 0.3s ease;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .image-grid-buttons__title {
    font-size: 14px;
    padding: 10px 15px;
    bottom: 60px;
  }
}
.image-grid-buttons__button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: absolute;
  bottom: 15px;
  right: 15px;
  background-color: #2E2E2E;
  color: var(--color-white, #ffffff);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: var(--radius-button, 4px);
  transition: all 0.3s ease;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .image-grid-buttons__button {
    font-size: 12px;
    padding: 10px 15px;
  }
}
.image-grid-buttons__button span {
  transition: transform 0.3s ease;
}
.image-grid-buttons__button svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

.swatch-grid {
  padding: 50px 0;
}
@media all and (max-width: 767px) {
  .swatch-grid {
    padding: 30px 0;
  }
}
.swatch-grid.nomargin {
  padding: 0;
}
.swatch-grid__header {
  text-align: center;
  margin-bottom: 30px;
}
@media all and (max-width: 767px) {
  .swatch-grid__header {
    margin-bottom: 20px;
  }
}
.swatch-grid__subheading {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--brand-primary, #017F1A);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
}
.swatch-grid__heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0;
  line-height: 1.3;
}
@media all and (max-width: 767px) {
  .swatch-grid__heading {
    font-size: 24px;
  }
}
.swatch-grid__grid {
  --cols-xs: 1;
  --cols-sm: 2;
  --cols-md: 3;
  --cols-lg: 4;
  --cols-xl: 5;
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(var(--cols-xl), 1fr);
}
@media (max-width: 1400px) {
  .swatch-grid__grid {
    grid-template-columns: repeat(var(--cols-lg), 1fr);
  }
}
@media (max-width: 1199px) {
  .swatch-grid__grid {
    grid-template-columns: repeat(var(--cols-md), 1fr);
  }
}
@media (max-width: 991px) {
  .swatch-grid__grid {
    grid-template-columns: repeat(var(--cols-sm), 1fr);
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .swatch-grid__grid {
    grid-template-columns: repeat(var(--cols-xs), 1fr);
    gap: 15px;
  }
}
.swatch-grid__item {
  text-align: center;
}
.swatch-grid__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.swatch-grid__link:hover {
  color: inherit;
}
.swatch-grid__link:hover .swatch-grid__overlay {
  opacity: 1;
}
.swatch-grid__link:hover .swatch-grid__image-wrap img {
  transform: scale(1.05);
}
.swatch-grid__image-wrap {
  position: relative;
  overflow: hidden;
  background-color: var(--color-background, #f3f3f3);
}
.swatch-grid__image-wrap img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}
.swatch-grid__placeholder {
  width: 100%;
  height: 100%;
  background-color: var(--color-gray-light, #dedede);
}
.swatch-grid__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(1, 127, 26, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--transition-base, 0.3s ease);
}
.swatch-grid__overlay-text {
  color: var(--color-white, #ffffff);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 20px;
  border: 2px solid var(--color-white, #ffffff);
}
.swatch-grid__title {
  margin-top: 12px;
  font-size: 15px;
  font-weight: 400;
  color: var(--color-black, #1C202B);
  transition: color var(--transition-base, 0.3s ease);
}
@media all and (max-width: 767px) {
  .swatch-grid__title {
    font-size: 14px;
    margin-top: 10px;
  }
}
.swatch-grid__link:hover .swatch-grid__title {
  color: var(--brand-primary, #017F1A);
}

/* AUTO START */
/* AUTO END */
.promocje {
  padding: 50px 0;
}
@media all and (max-width: 767px) {
  .promocje {
    padding: 30px 0;
  }
}
.promocje.nomargin {
  padding: 0;
}
.promocje__wrapper {
  position: relative;
}
.promocje__grid {
  --cols-xs: 1;
  --cols-sm: 2;
  --cols-md: 3;
  --cols-lg: 4;
  --cols-xl: 4;
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(var(--cols-xl), 1fr);
}
@media (max-width: 1400px) {
  .promocje__grid {
    grid-template-columns: repeat(var(--cols-lg), 1fr);
  }
}
@media (max-width: 1199px) {
  .promocje__grid {
    grid-template-columns: repeat(var(--cols-md), 1fr);
  }
}
@media (max-width: 991px) {
  .promocje__grid {
    grid-template-columns: repeat(var(--cols-sm), 1fr);
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .promocje__grid {
    grid-template-columns: repeat(var(--cols-xs), 1fr);
    gap: 15px;
  }
}
.promocje__slider.sd-slider-pending {
  opacity: 0;
}
.promocje__slider.sd-slider-ready {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.promocje__slider .slick-list {
  margin: 0 -12px;
}
.promocje__slider .slick-slide {
  padding: 0 12px;
}
.promocje__slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 25px;
  padding: 0;
  list-style: none;
}
.promocje__slider .slick-dots li {
  margin: 0;
}
.promocje__slider .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: var(--color-gray-light, #dedede);
  font-size: 0;
  cursor: pointer;
  transition: background-color var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.promocje__slider .slick-dots li button:hover {
  background-color: rgb(183.75, 183.75, 183.75);
}
.promocje__slider .slick-dots li.slick-active button {
  background-color: var(--brand-primary, #017F1A);
  transform: scale(1.2);
}
.promocje__item {
  height: 100%;
}
.promocje__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--color-white, #ffffff);
  border-radius: var(--radius-base, 0px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: all 0.3s ease;
}
.promocje__card:hover {
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.15);
  transform: translateY(-3px);
}
.promocje__card:hover .promocje__image {
  transform: scale(1.05);
}
.promocje__image-link {
  display: block;
}
.promocje__image-wrap {
  position: relative;
  height: 200px;
  overflow: hidden;
  background-color: var(--color-background, #f3f3f3);
}
@media all and (max-width: 767px) {
  .promocje__image-wrap {
    height: 180px;
  }
}
.promocje__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.promocje__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px;
}
@media all and (max-width: 767px) {
  .promocje__content {
    padding: 15px;
  }
}
.promocje__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 10px;
  line-height: 1.3;
}
@media all and (max-width: 767px) {
  .promocje__title {
    font-size: 16px;
  }
}
.promocje__description {
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
  margin-bottom: 15px;
  flex: 1;
}
.promocje__description p {
  margin: 0 0 10px;
}
.promocje__description p:last-child {
  margin-bottom: 0;
}
@media all and (max-width: 767px) {
  .promocje__description {
    font-size: 13px;
  }
}
.promocje__price {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.promocje__price-regular {
  font-size: 14px;
  color: var(--color-gray, #707070);
  text-decoration: line-through;
}
.promocje__price-promo {
  font-size: 20px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .promocje__price-promo {
    font-size: 18px;
  }
}
.promocje__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  background-color: #2E2E2E;
  color: var(--color-white, #ffffff);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-button, 4px);
  transition: all 0.3s ease;
  margin-top: auto;
}
.promocje__button:hover {
  background-color: var(--color-black, #1C202B);
}
.promocje__button:hover svg {
  transform: translateX(4px);
}
.promocje__button svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}
@media all and (max-width: 767px) {
  .promocje__button {
    font-size: 12px;
    padding: 10px 15px;
  }
}
.promocje__navigation {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}
.promocje__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--color-gray-light, #dedede);
  border-radius: 50%;
  background: transparent;
  color: var(--color-black, #1C202B);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
}
.promocje__arrow:hover {
  border-color: var(--brand-primary, #017F1A);
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.promocje__arrow.slick-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.promocje__arrow.slick-disabled:hover {
  border-color: var(--color-gray-light, #dedede);
  background: transparent;
  color: var(--color-black, #1C202B);
}
.promocje__arrow svg {
  width: 20px;
  height: 20px;
}

/* AUTO START */
/* AUTO END */
.info-links {
  padding: 40px 15px;
  margin: 30px 0;
}
@media all and (max-width: 767px) {
  .info-links {
    padding: 25px 15px;
    margin: 20px 0;
  }
}
.info-links.nomargin {
  padding: 0;
  margin: 0;
}
.info-links--bg-default {
  background-color: #fef9e6;
}
.info-links--bg-default .info-links__link {
  color: var(--color-black, #1C202B);
  border-color: rgba(28, 32, 43, 0.12);
}
.info-links--bg-default .info-links__link::before {
  background-color: var(--brand-primary, #017F1A);
}
.info-links--bg-default .info-links__link:hover {
  color: var(--color-white, #ffffff);
  border-color: var(--brand-primary, #017F1A);
}
.info-links--bg-default .info-links__icon {
  color: var(--brand-primary, #017F1A);
}
.info-links--bg-default .info-links__link:hover .info-links__icon {
  color: var(--color-white, #ffffff);
}
.info-links--bg-green {
  background-color: var(--brand-primary, #017F1A);
}
.info-links--bg-green .info-links__link {
  color: var(--color-white, #ffffff);
  border-color: rgba(255, 255, 255, 0.3);
}
.info-links--bg-green .info-links__link::before {
  background-color: rgba(255, 255, 255, 0.15);
}
.info-links--bg-green .info-links__link:hover {
  border-color: rgba(255, 255, 255, 0.5);
}
.info-links--bg-green .info-links__icon {
  color: var(--color-white, #ffffff);
}
.info-links--bg-gray {
  background-color: var(--color-background, #f3f3f3);
}
.info-links--bg-gray .info-links__link {
  color: var(--color-black, #1C202B);
  border-color: rgba(28, 32, 43, 0.1);
}
.info-links--bg-gray .info-links__link::before {
  background-color: var(--brand-primary, #017F1A);
}
.info-links--bg-gray .info-links__link:hover {
  color: var(--color-white, #ffffff);
  border-color: var(--brand-primary, #017F1A);
}
.info-links--bg-gray .info-links__icon {
  color: var(--brand-primary, #017F1A);
}
.info-links--bg-gray .info-links__link:hover .info-links__icon {
  color: var(--color-white, #ffffff);
}
.info-links--bg-white {
  background-color: var(--color-white, #ffffff);
}
.info-links--bg-white .info-links__link {
  color: var(--color-black, #1C202B);
  border-color: rgba(28, 32, 43, 0.1);
}
.info-links--bg-white .info-links__link::before {
  background-color: var(--brand-primary, #017F1A);
}
.info-links--bg-white .info-links__link:hover {
  color: var(--color-white, #ffffff);
  border-color: var(--brand-primary, #017F1A);
}
.info-links--bg-white .info-links__icon {
  color: var(--brand-primary, #017F1A);
}
.info-links--bg-white .info-links__link:hover .info-links__icon {
  color: var(--color-white, #ffffff);
}
.info-links--bg-transparent {
  background-color: transparent;
}
.info-links--bg-transparent .info-links__link {
  color: var(--color-black, #1C202B);
  border-color: rgba(28, 32, 43, 0.15);
}
.info-links--bg-transparent .info-links__link::before {
  background-color: var(--brand-primary, #017F1A);
}
.info-links--bg-transparent .info-links__link:hover {
  color: var(--color-white, #ffffff);
  border-color: var(--brand-primary, #017F1A);
}
.info-links--bg-transparent .info-links__icon {
  color: var(--brand-primary, #017F1A);
}
.info-links--bg-transparent .info-links__link:hover .info-links__icon {
  color: var(--color-white, #ffffff);
}
.info-links .info-links__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (min-width: 992px) {
  .info-links .info-links__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 767px) {
  .info-links .info-links__list {
    gap: 10px;
  }
}
.info-links .info-links__item {
  margin: 0;
}
.info-links .info-links__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1px solid;
  border-radius: 6px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  z-index: 1;
  height: 100%;
}
.info-links .info-links__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  z-index: -1;
  transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.info-links .info-links__link:hover::before {
  width: 100%;
}
@media all and (max-width: 767px) {
  .info-links .info-links__link {
    padding: 10px 12px;
    gap: 8px;
    font-size: 13px;
  }
}
.info-links .info-links__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: color 0.3s ease, transform 0.3s ease;
}
.info-links .info-links__icon svg {
  display: block;
  width: 18px;
  height: 18px;
}
@media all and (max-width: 767px) {
  .info-links .info-links__icon svg {
    width: 16px;
    height: 16px;
  }
}
.info-links__link:hover .info-links .info-links__icon {
  transform: translateX(3px);
}
.info-links .info-links__text {
  flex: 1;
  position: relative;
  z-index: 1;
  line-height: 1.3;
}
.info-links--icon-none .info-links__link {
  justify-content: center;
  text-align: center;
}
.info-links .acf-placeholder {
  text-align: center;
  color: rgba(28, 32, 43, 0.5);
  font-style: italic;
  padding: 30px;
}

.media-content {
  padding: 60px 0;
  margin-bottom: 40px;
  background-color: var(--color-background, #f3f3f3);
}
.media-content.nomargin {
  padding: 0;
  margin-bottom: 0;
}
.media-content--bg-default {
  background-color: var(--color-white, #ffffff);
}
.media-content--bg-gray {
  background-color: var(--color-background, #f3f3f3);
}
.media-content__wrapper {
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 50px;
  align-items: start;
  padding: 0 15px;
}
@media all and (max-width: 991px) {
  .media-content__wrapper {
    gap: 30px;
  }
}
@media all and (max-width: 767px) {
  .media-content__wrapper {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
.media-content--no-image .media-content__wrapper {
  grid-template-columns: 1fr;
}
.media-content--image-right .media-content__wrapper {
  grid-template-columns: 1fr 45%;
}
@media (min-width: 768px) {
  .media-content--image-right .media-content__wrapper .media-content__image {
    order: 2;
  }
  .media-content--image-right .media-content__wrapper .media-content__content {
    order: 1;
  }
}
@media all and (max-width: 767px) {
  .media-content--image-right .media-content__wrapper {
    grid-template-columns: 1fr;
  }
  .media-content--image-right .media-content__wrapper .media-content__image {
    order: 1;
  }
  .media-content--image-right .media-content__wrapper .media-content__content {
    order: 2;
  }
}
.media-content__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-base, 0px);
}
.media-content__image-placeholder {
  width: 100%;
  padding-bottom: 66.67%;
  background-color: #E6E6E6;
  border-radius: var(--radius-base, 0px);
}
@media all and (max-width: 767px) {
  .media-content__content {
    text-align: center;
  }
}
.media-content__text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
}
.media-content__text a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
  transition: color var(--transition-fast, 0.15s ease);
}
.media-content__text a:hover {
  color: var(--brand-primary-dark, #015d13);
}
.media-content__text h1, .media-content__text h2, .media-content__text h3, .media-content__text h4, .media-content__text h5, .media-content__text h6 {
  color: var(--color-black, #1C202B);
  margin-top: 0;
  margin-bottom: 20px;
  font-weight: 700;
  line-height: 1.3;
}
.media-content__text h2 {
  font-size: 32px;
}
@media all and (max-width: 991px) {
  .media-content__text h2 {
    font-size: 28px;
  }
}
@media all and (max-width: 767px) {
  .media-content__text h2 {
    font-size: 24px;
  }
}
.media-content__text h3 {
  font-size: 26px;
}
@media all and (max-width: 991px) {
  .media-content__text h3 {
    font-size: 22px;
  }
}
@media all and (max-width: 767px) {
  .media-content__text h3 {
    font-size: 20px;
  }
}
.media-content__text p {
  margin: 0 0 15px;
}
.media-content__text p:last-child {
  margin-bottom: 0;
}
.media-content__text ul, .media-content__text ol {
  margin: 0 0 15px;
  padding-left: 20px;
}
.media-content__text ul li, .media-content__text ol li {
  margin-bottom: 6px;
}
.media-content__text ul li::marker, .media-content__text ol li::marker {
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .media-content__text {
    font-size: 15px;
  }
}
.media-content__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 25px;
}
@media all and (max-width: 767px) {
  .media-content__links {
    justify-content: center;
    margin-top: 20px;
  }
}
.media-content__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--radius-button, 4px);
  transition: all var(--transition-base, 0.3s ease);
  border: 2px solid transparent;
  cursor: pointer;
}
.media-content__btn--primary {
  background-color: var(--brand-primary, #017F1A);
  border-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.media-content__btn--primary:hover {
  background-color: var(--brand-primary-dark, #015d13);
  border-color: var(--brand-primary-dark, #015d13);
  transform: translateY(-2px);
}
.media-content__btn--secondary {
  background-color: var(--color-black, #1C202B);
  border-color: var(--color-black, #1C202B);
  color: var(--color-white, #ffffff);
}
.media-content__btn--secondary:hover {
  background-color: rgb(58.1690140845, 66.4788732394, 89.3309859155);
  border-color: rgb(58.1690140845, 66.4788732394, 89.3309859155);
  transform: translateY(-2px);
}
.media-content__btn--outline {
  background-color: transparent;
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
}
.media-content__btn--outline:hover {
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  transform: translateY(-2px);
}
.media-content__btn--outline-dark {
  background-color: transparent;
  border-color: var(--color-black, #1C202B);
  color: var(--color-black, #1C202B);
}
.media-content__btn--outline-dark:hover {
  background-color: var(--color-black, #1C202B);
  color: var(--color-white, #ffffff);
  transform: translateY(-2px);
}
@media all and (max-width: 767px) {
  .media-content__btn {
    width: 100%;
    padding: 14px 20px;
  }
}
@media all and (max-width: 767px) {
  .media-content {
    padding: 40px 0;
  }
}

.features-gallery {
  padding: 60px 0;
  margin-bottom: 40px;
  background-color: var(--color-background, #f3f3f3);
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.features-gallery.nomargin {
  padding: 0;
  margin-bottom: 0;
}
.features-gallery--bg-white {
  background-color: var(--color-white, #ffffff);
  width: auto;
  left: auto;
  margin-left: 0;
  margin-right: 0;
}
.features-gallery--gallery-right .features-gallery__wrapper {
  grid-template-columns: 1fr 55%;
}
@media (min-width: 768px) {
  .features-gallery--gallery-right .features-gallery__wrapper .features-gallery__images {
    order: 2;
  }
  .features-gallery--gallery-right .features-gallery__wrapper .features-gallery__content {
    order: 1;
  }
}
@media all and (max-width: 767px) {
  .features-gallery--gallery-right .features-gallery__wrapper {
    grid-template-columns: 1fr;
  }
  .features-gallery--gallery-right .features-gallery__wrapper .features-gallery__images {
    order: 1;
  }
  .features-gallery--gallery-right .features-gallery__wrapper .features-gallery__content {
    order: 2;
  }
}
.features-gallery__wrapper {
  display: grid;
  grid-template-columns: 55% 1fr;
  gap: 50px;
  align-items: start;
  max-width: var(--space-container-max-big, 1450px);
  margin: 0 auto;
  padding: 0 15px;
}
@media all and (max-width: 991px) {
  .features-gallery__wrapper {
    gap: 30px;
  }
}
@media all and (max-width: 767px) {
  .features-gallery__wrapper {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.features-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
@media all and (max-width: 991px) {
  .features-gallery__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.features-gallery__item {
  position: relative;
}
.features-gallery__link {
  display: block;
  text-decoration: none;
  cursor: zoom-in;
}
.features-gallery__img-wrapper {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--radius-base, 0px);
  background-color: var(--color-white, #ffffff);
}
.features-gallery__img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.features-gallery__link:hover .features-gallery__img-wrapper img {
  transform: scale(1.05);
}
.features-gallery__number {
  position: absolute;
  bottom: 10px;
  left: 10px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 14px;
  font-weight: 700;
  border-radius: 4px;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .features-gallery__number {
    width: 28px;
    height: 28px;
    font-size: 13px;
  }
}
@media all and (max-width: 767px) {
  .features-gallery__content {
    text-align: left;
  }
}
.features-gallery__heading {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
  line-height: 1.3;
}
@media all and (max-width: 991px) {
  .features-gallery__heading {
    font-size: 28px;
  }
}
@media all and (max-width: 767px) {
  .features-gallery__heading {
    font-size: 24px;
  }
}
.features-gallery__text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin-bottom: 25px;
}
.features-gallery__text h3, .features-gallery__text h4 {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 15px;
}
@media all and (max-width: 767px) {
  .features-gallery__text h3, .features-gallery__text h4 {
    font-size: 18px;
  }
}
.features-gallery__text p {
  margin: 0 0 15px;
}
.features-gallery__text p:last-child {
  margin-bottom: 0;
}
.features-gallery__text ul {
  list-style: none;
  margin: 0 0 15px;
  padding: 0;
}
.features-gallery__text ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
}
.features-gallery__text ul li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--brand-primary, #017F1A);
  font-weight: 700;
}
.features-gallery__text ul li:last-child {
  margin-bottom: 0;
}
@media all and (max-width: 767px) {
  .features-gallery__text {
    font-size: 15px;
  }
}
.features-gallery__list-heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 25px 0 15px;
}
@media all and (max-width: 767px) {
  .features-gallery__list-heading {
    font-size: 20px;
  }
}
.features-gallery__list {
  list-style: none;
  margin: 0 0 25px;
  padding: 0;
}
.features-gallery__list-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.features-gallery__list-item:last-child {
  margin-bottom: 0;
}
.features-gallery__list-number {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 13px;
  font-weight: 700;
  border-radius: 50%;
}
.features-gallery__list-dot {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  background-color: var(--brand-primary, #017F1A);
  border-radius: 50%;
  margin-top: 7px;
  margin-left: 9px;
  margin-right: 9px;
}
.features-gallery__list-text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-black, #1C202B);
  padding-top: 3px;
}
.features-gallery__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 25px;
}
@media all and (max-width: 767px) {
  .features-gallery__links {
    margin-top: 20px;
  }
}
.features-gallery__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--radius-button, 4px);
  transition: all var(--transition-base, 0.3s ease);
  border: 2px solid transparent;
  cursor: pointer;
}
.features-gallery__btn--primary {
  background-color: var(--brand-primary, #017F1A);
  border-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.features-gallery__btn--primary:hover {
  background-color: var(--brand-primary-dark, #015d13);
  border-color: var(--brand-primary-dark, #015d13);
  transform: translateY(-2px);
}
.features-gallery__btn--secondary {
  background-color: var(--color-black, #1C202B);
  border-color: var(--color-black, #1C202B);
  color: var(--color-white, #ffffff);
}
.features-gallery__btn--secondary:hover {
  background-color: rgb(58.1690140845, 66.4788732394, 89.3309859155);
  border-color: rgb(58.1690140845, 66.4788732394, 89.3309859155);
  transform: translateY(-2px);
}
.features-gallery__btn--outline {
  background-color: transparent;
  border-color: var(--brand-primary, #017F1A);
  color: var(--brand-primary, #017F1A);
}
.features-gallery__btn--outline:hover {
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  transform: translateY(-2px);
}
.features-gallery__btn--outline-dark {
  background-color: transparent;
  border-color: var(--color-black, #1C202B);
  color: var(--color-black, #1C202B);
}
.features-gallery__btn--outline-dark:hover {
  background-color: var(--color-black, #1C202B);
  color: var(--color-white, #ffffff);
  transform: translateY(-2px);
}
@media all and (max-width: 767px) {
  .features-gallery__btn {
    width: 100%;
    padding: 14px 20px;
  }
}
@media all and (max-width: 767px) {
  .features-gallery {
    padding: 40px 0;
  }
}

.mounting-methods {
  padding: 60px 0;
  margin-bottom: 40px;
  background-color: var(--color-background, #f3f3f3);
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.mounting-methods.nomargin {
  padding: 0;
  margin-bottom: 0;
}
.mounting-methods--bg-white {
  background-color: var(--color-white, #ffffff);
  width: auto;
  left: auto;
  margin-left: 0;
  margin-right: 0;
}
.mounting-methods__wrapper {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-container-x, 15px);
  padding-right: var(--space-container-x, 15px);
}
@media (min-width: 992px) {
  .mounting-methods__wrapper {
    max-width: var(--space-container-max-lg, 992px);
  }
}
@media (min-width: 1200px) {
  .mounting-methods__wrapper {
    max-width: var(--space-container-max-xl, 1160px);
  }
}
@media (min-width: 1700px) {
  .mounting-methods__wrapper {
    max-width: var(--space-container-max-big, 1450px);
    padding-left: var(--space-container-x, 15px);
    padding-right: var(--space-container-x, 15px);
  }
}
.mounting-methods__content {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
}
.mounting-methods__content h1, .mounting-methods__content h2, .mounting-methods__content h3, .mounting-methods__content h4, .mounting-methods__content h5, .mounting-methods__content h6 {
  color: var(--color-black, #1C202B);
  margin-top: 0;
  margin-bottom: 15px;
  font-weight: 700;
  line-height: 1.3;
}
.mounting-methods__content h2 {
  font-size: 32px;
}
@media all and (max-width: 991px) {
  .mounting-methods__content h2 {
    font-size: 28px;
  }
}
@media all and (max-width: 767px) {
  .mounting-methods__content h2 {
    font-size: 24px;
  }
}
.mounting-methods__content h3 {
  font-size: 26px;
}
@media all and (max-width: 991px) {
  .mounting-methods__content h3 {
    font-size: 22px;
  }
}
@media all and (max-width: 767px) {
  .mounting-methods__content h3 {
    font-size: 20px;
  }
}
.mounting-methods__content p {
  margin: 0 0 15px;
}
.mounting-methods__content p:last-child {
  margin-bottom: 0;
}
@media all and (max-width: 767px) {
  .mounting-methods__content {
    font-size: 15px;
  }
}
.mounting-methods__gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 30px;
}
@media all and (max-width: 991px) {
  .mounting-methods__gallery {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
  }
}
@media all and (max-width: 767px) {
  .mounting-methods__gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}
.mounting-methods__item {
  position: relative;
}
.mounting-methods__link {
  display: block;
  text-decoration: none;
  cursor: zoom-in;
}
.mounting-methods__img-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-base, 0px);
  background-color: var(--color-white, #ffffff);
}
.mounting-methods__img-wrapper img {
  width: 100%;
  height: auto;
  max-height: 200px;
  object-fit: contain;
  display: block;
  transition: transform 0.3s ease;
}
@media all and (max-width: 767px) {
  .mounting-methods__img-wrapper img {
    max-height: 150px;
  }
}
.mounting-methods__link:hover .mounting-methods__img-wrapper img {
  transform: scale(1.05);
}
.mounting-methods__number {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 14px;
  font-weight: 700;
  border-radius: 4px;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .mounting-methods__number {
    width: 26px;
    height: 26px;
    font-size: 12px;
    bottom: 8px;
    right: 8px;
  }
}
.mounting-methods__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media all and (max-width: 767px) {
  .mounting-methods__links {
    gap: 10px;
  }
}
@media all and (max-width: 767px) {
  .mounting-methods {
    padding: 40px 0;
  }
}

.video-gallery {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 60px 0;
  background-color: var(--color-background, #f3f3f3);
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
@media all and (max-width: 767px) {
  .video-gallery {
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 40px 0;
  }
}
.video-gallery.nomargin {
  margin-top: 0;
  margin-bottom: 0;
}
.video-gallery--bg-white {
  background-color: var(--color-white, #ffffff);
}
.video-gallery__wrapper {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-container-x, 15px);
  padding-right: var(--space-container-x, 15px);
}
@media (min-width: 992px) {
  .video-gallery__wrapper {
    max-width: var(--space-container-max-lg, 992px);
  }
}
@media (min-width: 1200px) {
  .video-gallery__wrapper {
    max-width: var(--space-container-max-xl, 1160px);
  }
}
@media (min-width: 1700px) {
  .video-gallery__wrapper {
    max-width: var(--space-container-max-big, 1450px);
    padding-left: var(--space-container-x, 15px);
    padding-right: var(--space-container-x, 15px);
  }
}
.video-gallery__heading {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 30px;
  line-height: 1.3;
}
@media all and (max-width: 991px) {
  .video-gallery__heading {
    font-size: 28px;
    margin-bottom: 25px;
  }
}
@media all and (max-width: 767px) {
  .video-gallery__heading {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
.video-gallery__grid {
  display: grid;
  grid-template-columns: repeat(var(--vg-cols-desktop-lg, 3), 1fr);
  gap: 25px;
}
@media (max-width: 1400px) {
  .video-gallery__grid {
    grid-template-columns: repeat(var(--vg-cols-desktop-md, 2), 1fr);
  }
}
@media (max-width: 1199px) {
  .video-gallery__grid {
    grid-template-columns: repeat(var(--vg-cols-desktop-sm, 2), 1fr);
  }
}
@media (max-width: 991px) {
  .video-gallery__grid {
    grid-template-columns: repeat(var(--vg-cols-tablet, 1), 1fr);
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .video-gallery__grid {
    grid-template-columns: repeat(var(--vg-cols-mobile, 1), 1fr);
    gap: 15px;
  }
}
.video-gallery__grid.slick-initialized {
  display: block;
}
.slick-initialized .video-gallery__item {
  padding: 0 10px;
}
.video-gallery__video {
  position: relative;
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  background-color: var(--color-black, #1C202B);
}
.video-gallery__video iframe {
  width: 100%;
  aspect-ratio: 16/9;
  display: block;
  border: none;
}
.video-gallery__title {
  margin: 12px 0 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  text-align: center;
}
@media all and (max-width: 767px) {
  .video-gallery__title {
    font-size: 14px;
    margin-top: 10px;
  }
}
.video-gallery .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-100%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background-color: var(--color-white, #ffffff);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
  font-size: 0;
}
.video-gallery .slick-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--color-black, #1C202B);
  border-bottom: 2px solid var(--color-black, #1C202B);
}
.video-gallery .slick-arrow:hover {
  background-color: var(--brand-primary, #017F1A);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.video-gallery .slick-arrow:hover::before {
  border-color: var(--color-white, #ffffff);
}
.video-gallery .slick-arrow.slick-disabled {
  opacity: 0.3;
  cursor: default;
}
.video-gallery .slick-arrow.slick-disabled:hover {
  background-color: var(--color-white, #ffffff);
}
.video-gallery .slick-arrow.slick-disabled:hover::before {
  border-color: var(--color-black, #1C202B);
}
@media all and (max-width: 767px) {
  .video-gallery .slick-arrow {
    width: 36px;
    height: 36px;
  }
  .video-gallery .slick-arrow::before {
    width: 8px;
    height: 8px;
  }
}
.video-gallery .slick-prev {
  left: -15px;
}
.video-gallery .slick-prev::before {
  transform: translate(-40%, -50%) rotate(135deg);
}
@media all and (max-width: 767px) {
  .video-gallery .slick-prev {
    left: -5px;
  }
}
.video-gallery .slick-next {
  right: -15px;
}
.video-gallery .slick-next::before {
  transform: translate(-60%, -50%) rotate(-45deg);
}
@media all and (max-width: 767px) {
  .video-gallery .slick-next {
    right: -5px;
  }
}
.video-gallery .slick-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
.video-gallery .slick-dots li {
  margin: 0;
}
.video-gallery .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: var(--color-gray-light, #dedede);
  font-size: 0;
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
}
.video-gallery .slick-dots li button:hover {
  background-color: var(--brand-primary, #017F1A);
}
.video-gallery .slick-dots li.slick-active button {
  background-color: var(--brand-primary, #017F1A);
  transform: scale(1.2);
}
@media all and (max-width: 767px) {
  .video-gallery {
    padding: 40px 0;
  }
}

.download-columns {
  padding: 60px 0;
  background: var(--color-background, #f3f3f3);
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 40px;
}
.download-columns:first-child {
  margin-top: -40px;
}
@media all and (max-width: 767px) {
  .download-columns {
    padding: 40px 0;
  }
}
.download-columns__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .download-columns__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .download-columns__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.download-columns__column {
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
@media all and (max-width: 767px) {
  .download-columns__column {
    padding: 20px;
  }
}
.download-columns__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.download-columns__header-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  color: var(--brand-primary, #017F1A);
}
.download-columns__header-icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}
.download-columns__header-icon-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.download-columns__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  line-height: 1.3;
}
.download-columns__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.download-columns__item {
  margin: 0;
  padding: 0;
}
.download-columns__item:last-child .download-columns__link {
  border-bottom: none;
}
.download-columns__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px;
  border-radius: 6px;
  color: var(--color-black, #1C202B);
  text-decoration: none;
  transition: color 0.2s ease;
}
.download-columns__link:hover {
  color: var(--brand-primary, #017F1A);
  background: var(--color-background, #f3f3f3);
}
.download-columns__link:hover .download-columns__link-icon {
  color: var(--brand-primary-dark, #015d13);
}
.download-columns__link:hover .download-columns__link-chevron {
  color: var(--brand-primary, #017F1A);
  transform: translateX(3px);
}
.download-columns__link-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--brand-primary, #017F1A);
  transition: color 0.2s ease;
}
.download-columns__link-icon svg {
  width: 16px;
  height: 16px;
}
.download-columns__link-icon-img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.download-columns__link-text {
  flex: 1;
  font-size: 14px;
  line-height: 1.4;
}
.download-columns__link-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--color-gray, #707070);
  transition: color 0.2s ease, transform 0.2s ease;
}
.download-columns__link-chevron svg {
  width: 16px;
  height: 16px;
}

.download-columns .acf-placeholder {
  padding: 40px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.dual-banners {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .dual-banners {
    padding: 20px 0;
  }
}
.dual-banners__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--banner-gap, 24px);
}
@media all and (max-width: 767px) {
  .dual-banners__grid {
    grid-template-columns: 1fr;
  }
}
.dual-banners__item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}
.dual-banners__link {
  display: block;
  height: 100%;
}
.dual-banners__link:hover .dual-banners__img {
  transform: scale(1.03);
}
.dual-banners__picture {
  display: block;
  width: 100%;
  height: 100%;
}
.dual-banners__img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.dual-banners .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.fullwidth-image {
  margin-top: 40px;
  margin-bottom: 40px;
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
@media all and (max-width: 767px) {
  .fullwidth-image {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.fullwidth-image.nomargin {
  margin-top: 0;
  margin-bottom: 0;
}
.fullwidth-image--contained {
  width: auto;
  position: static;
  left: auto;
  margin-left: 0;
  margin-right: 0;
}
.fullwidth-image--contained .fullwidth-image__img {
  border-radius: var(--radius-base, 0px);
}
.fullwidth-image__figure {
  margin: 0;
  position: relative;
}
.fullwidth-image__img {
  display: block;
  width: 100%;
  height: auto;
  max-height: var(--max-height, none);
  object-fit: cover;
}
.fullwidth-image__lightbox-link {
  display: block;
  position: relative;
  cursor: zoom-in;
}
.fullwidth-image__lightbox-link:hover .fullwidth-image__zoom-icon {
  opacity: 1;
}
.fullwidth-image__zoom-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  color: var(--brand-primary, #017F1A);
  opacity: 0;
  transition: opacity 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.fullwidth-image__zoom-icon svg {
  width: 24px;
  height: 24px;
}
@media all and (max-width: 767px) {
  .fullwidth-image__zoom-icon {
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
  }
  .fullwidth-image__zoom-icon svg {
    width: 20px;
    height: 20px;
  }
}
.fullwidth-image__caption {
  margin: 12px auto 0;
  padding: 0 15px;
  max-width: var(--space-container-max-lg, 992px);
  font-size: 14px;
  color: var(--color-gray, #707070);
  text-align: center;
}

.fullwidth-image .acf-placeholder {
  padding: 80px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  color: var(--color-gray, #707070);
  max-width: var(--space-container-max-lg, 992px);
  margin: 0 auto;
}

.two-images {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media all and (max-width: 767px) {
  .two-images {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.two-images.nomargin {
  margin-top: 0;
  margin-bottom: 0;
}
.two-images__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--images-gap, 24px);
}
@media all and (max-width: 767px) {
  .two-images__grid {
    grid-template-columns: 1fr;
  }
}
.two-images__item {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}
.two-images__lightbox-link {
  display: block;
  cursor: zoom-in;
}
.two-images__link {
  display: block;
  text-decoration: none;
}
.two-images__caption a {
  color: var(--color-gray, #707070);
  text-decoration: none;
  transition: color var(--transition-base, 0.3s ease);
}
.two-images__caption a:hover {
  color: var(--brand-primary, #017F1A);
}
.two-images__img-wrapper {
  position: relative;
  overflow: hidden;
}
.two-images__img {
  display: block;
  width: 100%;
  transition: opacity 0.3s ease;
}
.two-images__img--normal {
  position: relative;
  z-index: 1;
}
.two-images__img--hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  object-fit: cover;
}
.two-images__item--has-hover:hover .two-images__img--normal {
  opacity: 0;
}
.two-images__item--has-hover:hover .two-images__img--hover {
  opacity: 1;
}
.two-images__caption {
  margin: 12px 0 0;
  padding: 0;
  font-size: 14px;
  color: var(--color-gray, #707070);
  text-align: center;
}
.two-images--lightbox .two-images__img-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(28, 32, 43, 0);
  transition: background 0.3s ease;
  pointer-events: none;
  z-index: 3;
}
.two-images--lightbox .two-images__item:hover .two-images__img-wrapper::after {
  background: rgba(28, 32, 43, 0.1);
}

.two-images .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.multi-column-text {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .multi-column-text {
    padding: 30px 0;
  }
}
.multi-column-text__grid {
  display: grid;
  gap: var(--columns-gap, 40px);
}
.multi-column-text--cols-1 .multi-column-text__grid {
  grid-template-columns: 1fr;
}
.multi-column-text--cols-2 .multi-column-text__grid {
  grid-template-columns: repeat(2, 1fr);
}
@media all and (max-width: 767px) {
  .multi-column-text--cols-2 .multi-column-text__grid {
    grid-template-columns: 1fr;
  }
}
.multi-column-text--cols-3 .multi-column-text__grid {
  grid-template-columns: repeat(3, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .multi-column-text--cols-3 .multi-column-text__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .multi-column-text--cols-3 .multi-column-text__grid {
    grid-template-columns: 1fr;
  }
}
.multi-column-text__column > *:first-child {
  margin-top: 0;
}
.multi-column-text__column > *:last-child {
  margin-bottom: 0;
}
.multi-column-text__column h2, .multi-column-text__column h3, .multi-column-text__column h4 {
  margin-bottom: 16px;
  color: var(--color-black, #1C202B);
}
.multi-column-text__column p {
  margin-bottom: 16px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
}
.multi-column-text__column ul, .multi-column-text__column ol {
  margin-bottom: 16px;
  padding-left: 20px;
}
.multi-column-text__column ul li, .multi-column-text__column ol li {
  margin-bottom: 8px;
  line-height: 1.6;
}
.multi-column-text__column a {
  color: var(--brand-primary, #017F1A);
}
.multi-column-text__column a:hover {
  text-decoration: underline;
}

.multi-column-text .acf-placeholder {
  padding: 40px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.featured-posts {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .featured-posts {
    padding: 30px 0;
  }
}
.featured-posts__grid {
  display: grid;
  gap: 24px;
}
.featured-posts--cols-2 .featured-posts__grid {
  grid-template-columns: repeat(2, 1fr);
}
@media all and (max-width: 767px) {
  .featured-posts--cols-2 .featured-posts__grid {
    grid-template-columns: 1fr;
  }
}
.featured-posts--cols-3 .featured-posts__grid {
  grid-template-columns: repeat(3, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .featured-posts--cols-3 .featured-posts__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .featured-posts--cols-3 .featured-posts__grid {
    grid-template-columns: 1fr;
  }
}
.featured-posts--cols-4 .featured-posts__grid {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .featured-posts--cols-4 .featured-posts__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .featured-posts--cols-4 .featured-posts__grid {
    grid-template-columns: 1fr;
  }
}
.featured-posts__item {
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.featured-posts__item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
}
.featured-posts__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.featured-posts__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.featured-posts__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.featured-posts__item:hover .featured-posts__image img {
  transform: scale(1.05);
}
.featured-posts__content {
  padding: 20px;
}
.featured-posts__date {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  color: var(--color-gray, #707070);
}
.featured-posts__title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-black, #1C202B);
  transition: color 0.3s ease;
}
.featured-posts__item:hover .featured-posts__title {
  color: var(--brand-primary, #017F1A);
}
.featured-posts__excerpt {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
}
.featured-posts__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--brand-primary, #017F1A);
}
.featured-posts__more svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}
.featured-posts__item:hover .featured-posts__more svg {
  transform: translateX(4px);
}

.featured-posts .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.stats-counter {
  padding: 60px 0;
}
@media all and (max-width: 767px) {
  .stats-counter {
    padding: 40px 0;
  }
}
.stats-counter__grid {
  display: grid;
  gap: 40px;
}
.stats-counter--cols-2 .stats-counter__grid {
  grid-template-columns: repeat(2, 1fr);
}
@media all and (max-width: 767px) {
  .stats-counter--cols-2 .stats-counter__grid {
    grid-template-columns: 1fr;
  }
}
.stats-counter--cols-3 .stats-counter__grid {
  grid-template-columns: repeat(3, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .stats-counter--cols-3 .stats-counter__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .stats-counter--cols-3 .stats-counter__grid {
    grid-template-columns: 1fr;
  }
}
.stats-counter--cols-4 .stats-counter__grid {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .stats-counter--cols-4 .stats-counter__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .stats-counter--cols-4 .stats-counter__grid {
    grid-template-columns: 1fr;
  }
}
.stats-counter__item {
  text-align: center;
  padding: 20px;
}
.stats-counter__icon {
  margin-bottom: 16px;
}
.stats-counter__icon img {
  display: inline-block;
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.stats-counter__number {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  margin-bottom: 12px;
}
.stats-counter__prefix, .stats-counter__suffix {
  font-size: 32px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .stats-counter__prefix, .stats-counter__suffix {
    font-size: 24px;
  }
}
.stats-counter__value {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  color: var(--brand-primary, #017F1A);
}
@media all and (max-width: 767px) {
  .stats-counter__value {
    font-size: 36px;
  }
}
.stats-counter__description {
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-gray, #707070);
  max-width: 200px;
  margin: 0 auto;
}
.stats-counter--has-background {
  background: var(--color-background-alt, #f9f9f9);
  border-radius: 8px;
}
.stats-counter__value[data-animate] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.stats-counter__value.is-animated {
  opacity: 1;
  transform: translateY(0);
}

.stats-counter .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.team-grid {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .team-grid {
    padding: 30px 0;
  }
}
.team-grid__grid {
  display: grid;
  gap: 30px;
}
.team-grid--cols-2 .team-grid__grid {
  grid-template-columns: repeat(2, 1fr);
}
@media all and (max-width: 767px) {
  .team-grid--cols-2 .team-grid__grid {
    grid-template-columns: 1fr;
  }
}
.team-grid--cols-3 .team-grid__grid {
  grid-template-columns: repeat(3, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .team-grid--cols-3 .team-grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .team-grid--cols-3 .team-grid__grid {
    grid-template-columns: 1fr;
  }
}
.team-grid--cols-4 .team-grid__grid {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .team-grid--cols-4 .team-grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .team-grid--cols-4 .team-grid__grid {
    grid-template-columns: 1fr;
  }
}
.team-grid__item {
  text-align: center;
}
.team-grid__photo {
  position: relative;
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 8px;
}
.team-grid__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.team-grid__item:hover .team-grid__photo img {
  transform: scale(1.05);
}
.team-grid__content {
  padding: 0 10px;
}
.team-grid__name {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.team-grid__position {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--brand-primary, #017F1A);
  font-weight: 500;
}
.team-grid__description {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
}
.team-grid__social {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.team-grid__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--color-background-alt, #f9f9f9);
  color: var(--color-gray, #707070);
  transition: background 0.3s ease, color 0.3s ease;
}
.team-grid__social-link svg {
  width: 18px;
  height: 18px;
}
.team-grid__social-link:hover {
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
}
.team-grid--style-card .team-grid__item {
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease;
}
.team-grid--style-card .team-grid__item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
.team-grid--style-card .team-grid__photo {
  margin-bottom: 0;
  border-radius: 0;
}
.team-grid--style-card .team-grid__content {
  padding: 20px;
}
.team-grid--style-rounded .team-grid__photo {
  width: 160px;
  height: 160px;
  margin: 0 auto 20px;
  border-radius: 50%;
}
.team-grid--style-rounded .team-grid__photo img {
  aspect-ratio: auto;
  height: 100%;
}

.team-grid .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.pricing-table {
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .pricing-table {
    padding: 30px 0;
  }
}
.pricing-table__grid {
  display: grid;
  gap: 24px;
  align-items: start;
}
.pricing-table--cols-2 .pricing-table__grid {
  grid-template-columns: repeat(2, 1fr);
}
@media all and (max-width: 767px) {
  .pricing-table--cols-2 .pricing-table__grid {
    grid-template-columns: 1fr;
  }
}
.pricing-table--cols-3 .pricing-table__grid {
  grid-template-columns: repeat(3, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .pricing-table--cols-3 .pricing-table__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .pricing-table--cols-3 .pricing-table__grid {
    grid-template-columns: 1fr;
  }
}
.pricing-table--cols-4 .pricing-table__grid {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (min-width: 768px) and (max-width: 991px) {
  .pricing-table--cols-4 .pricing-table__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .pricing-table--cols-4 .pricing-table__grid {
    grid-template-columns: 1fr;
  }
}
.pricing-table__item {
  position: relative;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--color-border, #dedede);
  border-radius: 12px;
  padding: 32px 24px;
  text-align: center;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.pricing-table__item:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.pricing-table__item--highlighted {
  border-color: var(--brand-primary, #017F1A);
  box-shadow: 0 4px 16px rgba(1, 127, 26, 0.15);
  transform: scale(1.02);
}
@media all and (max-width: 767px) {
  .pricing-table__item--highlighted {
    transform: none;
  }
}
.pricing-table__item--highlighted:hover {
  transform: scale(1.04);
}
@media all and (max-width: 767px) {
  .pricing-table__item--highlighted:hover {
    transform: none;
  }
}
.pricing-table__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 16px;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 20px;
  white-space: nowrap;
}
.pricing-table__name {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
}
.pricing-table__price-wrapper {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-border, #dedede);
}
.pricing-table__price {
  display: block;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  color: var(--brand-primary, #017F1A);
  margin-bottom: 4px;
}
@media all and (max-width: 767px) {
  .pricing-table__price {
    font-size: 36px;
  }
}
.pricing-table__period {
  display: block;
  font-size: 14px;
  color: var(--color-gray, #707070);
}
.pricing-table__features {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  text-align: left;
}
.pricing-table__feature {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(222, 222, 222, 0.5);
}
.pricing-table__feature:last-child {
  border-bottom: none;
}
.pricing-table__feature-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(1, 127, 26, 0.1);
  border-radius: 50%;
  color: var(--brand-primary, #017F1A);
  margin-top: 2px;
}
.pricing-table__feature-icon svg {
  width: 12px;
  height: 12px;
}
.pricing-table__feature-text {
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-gray, #707070);
}
.pricing-table__button {
  display: inline-block;
  width: 100%;
  padding: 14px 24px;
  background: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.3s ease;
}
.pricing-table__button:hover {
  background: var(--brand-primary-dark, #015d13);
}
.pricing-table__item--highlighted .pricing-table__button {
  background: var(--brand-primary, #017F1A);
}
.pricing-table__item--highlighted .pricing-table__button:hover {
  background: var(--brand-primary-dark, #015d13);
}

.pricing-table .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.product-features {
  margin-top: 40px;
  margin-bottom: 40px;
  padding-block: var(--space-section-y, 60px);
  padding-inline: 0;
  background-color: var(--color-white, #ffffff);
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
@media all and (max-width: 767px) {
  .product-features {
    margin-top: 30px;
    margin-bottom: 30px;
    padding-block: var(--space-section-y-sm, 40px);
  }
}
.product-features.nomargin {
  margin-top: 0;
  margin-bottom: 0;
}
.product-features--bg-gray {
  background-color: var(--color-background, #f3f3f3);
}
.product-features__wrapper {
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 50px;
  align-items: start;
}
@media all and (max-width: 991px) {
  .product-features__wrapper {
    gap: 30px;
  }
}
@media all and (max-width: 767px) {
  .product-features__wrapper {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.product-features--image-right .product-features__wrapper {
  grid-template-columns: 1fr 45%;
}
@media (min-width: 768px) {
  .product-features--image-right .product-features__wrapper .product-features__image {
    order: 2;
  }
  .product-features--image-right .product-features__wrapper .product-features__content {
    order: 1;
  }
}
@media all and (max-width: 767px) {
  .product-features--image-right .product-features__wrapper {
    grid-template-columns: 1fr;
  }
  .product-features--image-right .product-features__wrapper .product-features__image {
    order: 1;
  }
  .product-features--image-right .product-features__wrapper .product-features__content {
    order: 2;
  }
}
.product-features__image {
  position: relative;
}
.product-features__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-base, 0px);
}
.product-features__image-placeholder {
  width: 100%;
  padding-bottom: 75%;
  background-color: #E6E6E6;
  border-radius: var(--radius-base, 0px);
}
.product-features__image-wrapper {
  position: relative;
}
.product-features__gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media all and (max-width: 767px) {
  .product-features__gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
}
.product-features__gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-base, 0px);
}
.product-features__gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
  display: block;
}
.product-features__gallery-item a {
  display: block;
}
.product-features__gallery-number {
  position: absolute;
  bottom: 6px;
  left: 6px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 13px;
  font-weight: 700;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
@media all and (max-width: 767px) {
  .product-features__gallery-number {
    width: 20px;
    height: 20px;
    font-size: 11px;
    bottom: 4px;
    left: 4px;
  }
}
.product-features--hide-numbers-image .product-features__gallery-number {
  display: none;
}
.product-features__image-markers {
  position: absolute;
  bottom: 15px;
  left: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: calc(100% - 30px);
}
@media all and (max-width: 767px) {
  .product-features__image-markers {
    bottom: 10px;
    left: 10px;
    gap: 6px;
  }
}
.product-features__image-marker {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 14px;
  font-weight: 700;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
@media all and (max-width: 767px) {
  .product-features__image-marker {
    width: 24px;
    height: 24px;
    font-size: 12px;
  }
}
.product-features--hide-numbers-image .product-features__image-markers {
  display: none;
}
.product-features__lightbox-link {
  display: block;
  position: relative;
  cursor: zoom-in;
}
.product-features__lightbox-link:hover .product-features__zoom-icon {
  opacity: 1;
}
.product-features__zoom-icon {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  color: var(--brand-primary, #017F1A);
  opacity: 0;
  transition: opacity var(--transition-base, 0.3s ease);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.product-features__zoom-icon svg {
  width: 22px;
  height: 22px;
}
@media all and (max-width: 767px) {
  .product-features__content {
    text-align: left;
  }
}
.product-features__title {
  font-size: 26px;
  font-weight: 700;
  color: var(--brand-primary, #017F1A);
  margin: 0 0 25px;
  line-height: 1.3;
}
@media all and (max-width: 991px) {
  .product-features__title {
    font-size: 24px;
  }
}
@media all and (max-width: 767px) {
  .product-features__title {
    font-size: 22px;
    margin-bottom: 20px;
  }
}
.product-features__section {
  margin-bottom: 25px;
}
.product-features__section:last-child {
  margin-bottom: 0;
}
@media all and (max-width: 767px) {
  .product-features__section {
    margin-bottom: 20px;
  }
}
.product-features__section-title {
  font-size: 23px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 12px;
  text-transform: none;
}
@media all and (max-width: 767px) {
  .product-features__section-title {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
.product-features__char-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.product-features__char-item {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-gray, #707070);
}
.product-features__char-item:last-child {
  margin-bottom: 0;
}
.product-features__char-dash {
  flex-shrink: 0;
  color: var(--color-gray, #707070);
}
.product-features__char-text {
  flex: 1;
}
.product-features__elements-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.product-features__element {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.product-features__element-number {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-primary, #017F1A);
  color: var(--color-white, #ffffff);
  font-size: 13px;
  font-weight: 700;
  border-radius: 50%;
  margin-top: 2px;
}
.product-features__element-dot {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  background-color: var(--brand-primary, #017F1A);
  border-radius: 50%;
  margin-top: 7px;
  margin-left: 7px;
  margin-right: 7px;
}
.product-features__element-content {
  flex: 1;
  font-size: 14px;
  line-height: 1.5;
}
.product-features__element-title {
  color: var(--color-black, #1C202B);
  margin-right: 4px;
}
.product-features__element-desc {
  color: var(--color-gray, #707070);
}
.product-features__text {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
}
.product-features__text p {
  margin: 0 0 12px;
}
.product-features__text p:last-child {
  margin-bottom: 0;
}
.product-features__text a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
}
.product-features__text a:hover {
  color: var(--brand-primary-dark, #015d13);
}
.product-features__text ul, .product-features__text ol {
  margin: 8px 0;
  padding-left: 20px;
}
.product-features__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
@media all and (max-width: 767px) {
  .product-features__buttons {
    margin-top: 25px;
    flex-direction: column;
  }
}
@media all and (max-width: 767px) {
  .product-features__buttons .cta-button__btn {
    width: 100%;
    text-align: center;
  }
}

.product-features .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  color: var(--color-gray, #707070);
}

.cards-grid {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media all and (max-width: 767px) {
  .cards-grid {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.cards-grid.nomargin {
  margin-top: 0;
  margin-bottom: 0;
}
.cards-grid__heading {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
  line-height: 1.3;
}
@media all and (max-width: 991px) {
  .cards-grid__heading {
    font-size: 24px;
  }
}
@media all and (max-width: 767px) {
  .cards-grid__heading {
    font-size: 22px;
  }
}
.cards-grid__heading-wrapper {
  position: relative;
  padding-bottom: 18px;
  margin-bottom: 25px;
}
.cards-grid__heading-wrapper::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-border, #dedede);
}
.cards-grid__heading-wrapper .cards-grid__heading {
  display: inline-block;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}
.cards-grid__heading-wrapper .cards-grid__heading::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--brand-primary, #017F1A);
}
.cards-grid__description-intro {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
  margin-bottom: 25px;
}
@media all and (max-width: 767px) {
  .cards-grid__description-intro {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
.cards-grid__grid {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1199px) {
  .cards-grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .cards-grid__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.cards-grid__card {
  display: flex;
  flex-direction: column;
  background: var(--color-white, #ffffff);
  border-radius: var(--radius-base, 0px);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: box-shadow var(--transition-base, 0.3s ease), transform var(--transition-base, 0.3s ease);
}
.cards-grid__card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}
.cards-grid__image {
  position: relative;
  overflow: hidden;
}
.cards-grid__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform var(--transition-base, 0.3s ease);
}
.cards-grid__card:hover .cards-grid__image img {
  transform: scale(1.03);
}
.cards-grid__image--brak {
  aspect-ratio: 4/3;
  background: var(--color-background, #f3f3f3);
}
.cards-grid__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 20px;
}
@media all and (max-width: 767px) {
  .cards-grid__content {
    padding: 15px;
  }
}
.cards-grid__content:empty {
  display: none;
}
.cards-grid__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-black, #1C202B);
  margin: 0 0 10px;
  line-height: 1.3;
}
@media all and (max-width: 767px) {
  .cards-grid__title {
    font-size: 16px;
  }
}
.cards-grid__description {
  flex: 1;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
  margin-bottom: 15px;
}
.cards-grid__description p {
  margin: 0 0 10px;
}
.cards-grid__description p:last-child {
  margin-bottom: 0;
}
.cards-grid__description ul, .cards-grid__description ol {
  margin: 0 0 10px;
  padding-left: 20px;
}
.cards-grid__link-wrapper {
  margin-top: auto;
  padding-top: 10px;
}
.cards-grid--slider .container, .cards-grid--slider .woocommerce-cart .woocommerce, .woocommerce-cart .cards-grid--slider .woocommerce, .cards-grid--slider .woocommerce-checkout .woocommerce, .woocommerce-checkout .cards-grid--slider .woocommerce, .cards-grid--slider .woocommerce-order-received .woocommerce, .woocommerce-order-received .cards-grid--slider .woocommerce, .cards-grid--slider .wp-block-woocommerce-checkout, .cards-grid--slider .wp-block-woocommerce-cart {
  position: relative;
}
.cards-grid--slider .cards-grid__grid {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1199px) {
  .cards-grid--slider .cards-grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .cards-grid--slider .cards-grid__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.cards-grid--slider .cards-grid__grid .cards-grid__card:nth-child(n+4) {
  display: none;
}
@media (max-width: 1199px) {
  .cards-grid--slider .cards-grid__grid .cards-grid__card:nth-child(n+3) {
    display: none;
  }
}
@media all and (max-width: 767px) {
  .cards-grid--slider .cards-grid__grid .cards-grid__card:nth-child(n+2) {
    display: none;
  }
}
.cards-grid--slider .cards-grid__grid.slick-initialized {
  display: block;
}
.cards-grid--slider .cards-grid__grid.slick-initialized .cards-grid__card {
  display: flex;
}
.cards-grid--slider .cards-grid__card {
  margin: 0 10px;
}
.cards-grid--slider .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-100%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background-color: var(--color-white, #ffffff);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
  font-size: 0;
}
.cards-grid--slider .slick-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--color-black, #1C202B);
  border-bottom: 2px solid var(--color-black, #1C202B);
}
.cards-grid--slider .slick-arrow:hover {
  background-color: var(--brand-primary, #017F1A);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.cards-grid--slider .slick-arrow:hover::before {
  border-color: var(--color-white, #ffffff);
}
.cards-grid--slider .slick-arrow.slick-disabled {
  opacity: 0.3;
  cursor: default;
}
.cards-grid--slider .slick-arrow.slick-disabled:hover {
  background-color: var(--color-white, #ffffff);
}
.cards-grid--slider .slick-arrow.slick-disabled:hover::before {
  border-color: var(--color-black, #1C202B);
}
@media all and (max-width: 767px) {
  .cards-grid--slider .slick-arrow {
    width: 36px;
    height: 36px;
  }
  .cards-grid--slider .slick-arrow::before {
    width: 8px;
    height: 8px;
  }
}
.cards-grid--slider .slick-prev {
  left: -15px;
}
.cards-grid--slider .slick-prev::before {
  transform: translate(-40%, -50%) rotate(135deg);
}
@media all and (max-width: 767px) {
  .cards-grid--slider .slick-prev {
    left: -5px;
  }
}
.cards-grid--slider .slick-next {
  right: -15px;
}
.cards-grid--slider .slick-next::before {
  transform: translate(-60%, -50%) rotate(-45deg);
}
@media all and (max-width: 767px) {
  .cards-grid--slider .slick-next {
    right: -5px;
  }
}
.cards-grid--slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}
.cards-grid--slider .slick-dots li {
  margin: 0;
}
.cards-grid--slider .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: var(--color-gray-light, #dedede);
  font-size: 0;
  cursor: pointer;
  transition: all var(--transition-base, 0.3s ease);
}
.cards-grid--slider .slick-dots li button:hover {
  background-color: var(--brand-primary, #017F1A);
}
.cards-grid--slider .slick-dots li.slick-active button {
  background-color: var(--brand-primary, #017F1A);
  transform: scale(1.2);
}
.cards-grid--slider .slick-list {
  margin: 0 -10px;
  padding: 5px 0;
}
.cards-grid--slider .slick-track {
  display: flex !important;
  align-items: stretch;
}
.cards-grid--slider .slick-track .slick-slide {
  height: inherit !important;
  float: none !important;
  display: flex !important;
}
.cards-grid--slider .slick-track .slick-slide > div {
  display: flex;
  width: 100%;
}
.cards-grid--slider .slick-track .slick-slide .cards-grid__card {
  width: 100%;
  display: flex !important;
  flex-direction: column;
}
.cards-grid--slider .slick-track .slick-slide .cards-grid__content {
  display: flex !important;
  flex-direction: column;
  flex: 1 0 auto;
}

.cards-grid .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  color: var(--color-gray, #707070);
}

.buttons-list {
  padding: 20px 0;
}
@media all and (max-width: 767px) {
  .buttons-list {
    padding: 15px 0;
  }
}
.buttons-list.nomargin {
  padding: 0;
}
.buttons-list__wrapper {
  display: flex;
  flex-wrap: wrap;
}
.buttons-list--align-center .buttons-list__wrapper {
  justify-content: center;
}
.buttons-list--align-right .buttons-list__wrapper {
  justify-content: flex-end;
}
.buttons-list--gap-small .buttons-list__wrapper {
  gap: 8px;
}
.buttons-list--gap-medium .buttons-list__wrapper {
  gap: 12px;
}
.buttons-list--gap-large .buttons-list__wrapper {
  gap: 16px;
}

.buttons-list .acf-placeholder {
  padding: 30px;
  text-align: center;
  background: var(--color-background-alt, #f9f9f9);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  color: var(--color-gray, #707070);
}

.product-accessories {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 40px 0;
}
@media all and (max-width: 767px) {
  .product-accessories {
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 30px 0;
  }
}
.product-accessories__heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin: 0 0 20px;
}
@media all and (max-width: 767px) {
  .product-accessories__heading {
    font-size: 18px;
    margin-bottom: 15px;
  }
}
.product-accessories__wrapper {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: start;
}
@media all and (max-width: 991px) {
  .product-accessories__wrapper {
    gap: 30px;
  }
}
@media all and (max-width: 767px) {
  .product-accessories__wrapper {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
@media (min-width: 768px) {
  .product-accessories__wrapper--text-left .product-accessories__content {
    order: 1;
  }
  .product-accessories__wrapper--text-left .product-accessories__grid {
    order: 2;
  }
}
.product-accessories__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media all and (max-width: 991px) {
  .product-accessories__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}
@media all and (max-width: 767px) {
  .product-accessories__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.product-accessories__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  transition: transform var(--transition-base, 0.3s ease);
}
.product-accessories__item:hover {
  transform: scale(1.03);
}
.product-accessories__item:hover img {
  border-color: var(--brand-primary, #017F1A);
}
.product-accessories__item img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid var(--color-border, #dedede);
  border-radius: var(--radius-base, 0px);
  display: block;
  transition: border-color var(--transition-base, 0.3s ease);
}
.product-accessories__caption {
  font-size: 13px;
  color: var(--color-gray, #707070);
  text-align: center;
  margin-top: 8px;
  line-height: 1.4;
}
.product-accessories__content {
  padding-top: 8px;
}
@media all and (max-width: 767px) {
  .product-accessories__content {
    padding-top: 0;
  }
}
.product-accessories__text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin-bottom: 25px;
}
.product-accessories__text p {
  margin: 0 0 15px;
}
.product-accessories__text p:last-child {
  margin-bottom: 0;
}
@media all and (max-width: 767px) {
  .product-accessories__text {
    font-size: 15px;
    margin-bottom: 20px;
  }
}
.product-accessories__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media all and (max-width: 767px) {
  .product-accessories__buttons {
    justify-content: center;
  }
}

.image-grid-hover {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media all and (max-width: 767px) {
  .image-grid-hover {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.image-grid-hover.nomargin {
  margin-top: 0;
  margin-bottom: 0;
}
.image-grid-hover__heading {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-black, #1C202B);
  margin-bottom: 24px;
}
@media all and (max-width: 767px) {
  .image-grid-hover__heading {
    font-size: 20px;
    margin-bottom: 16px;
  }
}
.image-grid-hover__grid {
  display: grid;
  grid-template-columns: repeat(var(--igh-columns, 4), 1fr);
  gap: var(--igh-gap, 24px);
}
@media all and (max-width: 991px) {
  .image-grid-hover__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .image-grid-hover__grid {
    gap: 16px;
  }
}
.image-grid-hover__item {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--color-black, #1C202B);
}
.image-grid-hover a.image-grid-hover__item {
  cursor: pointer;
}
.image-grid-hover a.image-grid-hover__item:hover .image-grid-hover__caption {
  color: var(--brand-primary, #017F1A);
}
.image-grid-hover__img-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 4/3;
  background-color: var(--color-background, #f3f3f3);
}
.image-grid-hover__img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
  transition: opacity 0.4s ease;
}
.image-grid-hover__img--normal {
  z-index: 1;
}
.image-grid-hover__img--hover {
  z-index: 2;
  opacity: 0;
}
.image-grid-hover__item--has-hover:hover .image-grid-hover__img--normal {
  opacity: 0;
}
.image-grid-hover__item--has-hover:hover .image-grid-hover__img--hover {
  opacity: 1;
}
.image-grid-hover__caption {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  color: var(--color-gray, #707070);
  text-align: center;
  transition: color var(--transition-base, 0.3s ease);
}
.image-grid-hover .acf-placeholder {
  padding: 60px;
  text-align: center;
  background: var(--color-background, #f3f3f3);
  border: 2px dashed var(--color-border, #dedede);
  border-radius: 8px;
  color: var(--color-gray, #707070);
}

.elastic-text {
  padding: 10px 0;
}
.elastic-text__wrapper {
  display: flex;
  gap: 30px;
}
.elastic-text__col {
  flex: 1;
  min-width: 0;
}
.elastic-text__col p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
  margin-bottom: 14px;
}
.elastic-text__col p:last-child {
  margin-bottom: 0;
}
.elastic-text__col p strong {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
.elastic-text__col h2, .elastic-text__col h3, .elastic-text__col h4, .elastic-text__col h5 {
  color: var(--color-black, #1C202B);
  margin: 20px 0 10px;
}
.elastic-text__col h2 {
  font-size: 22px;
  font-weight: 700;
}
.elastic-text__col h3 {
  font-size: 18px;
  font-weight: 600;
}
.elastic-text__col h4 {
  font-size: 16px;
  font-weight: 600;
}
.elastic-text__col ul, .elastic-text__col ol {
  margin-bottom: 14px;
  padding-left: 20px;
}
.elastic-text__col ul li, .elastic-text__col ol li {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
  margin-bottom: 6px;
}
.elastic-text__col a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
}
.elastic-text__col a:hover {
  color: var(--brand-primary-dark, #015d13);
}
.elastic-text__col table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
  font-size: 14px;
}
.elastic-text__col table th {
  background-color: var(--brand-primary, #017F1A);
  color: #fff;
  font-weight: 600;
  padding: 8px 12px;
  text-align: left;
  border: 1px solid rgb(0.80078125, 101.69921875, 20.8203125);
}
.elastic-text__col table td {
  padding: 8px 12px;
  border: 1px solid var(--color-border, #dedede);
  color: var(--color-gray, #707070);
}
.elastic-text__col table tr:nth-child(even) {
  background-color: #fafafa;
}
.elastic-text__col img {
  max-width: 100%;
  height: auto;
}
.elastic-text__col pre {
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background: #f5f5f5;
  padding: 14px 18px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-black, #1C202B);
  margin-bottom: 14px;
  overflow-x: auto;
}
.elastic-text--cols-1 .elastic-text__wrapper {
  display: block;
}
@media all and (max-width: 991px) {
  .elastic-text__wrapper {
    flex-direction: column;
    gap: 20px;
  }
}

.elastic-media-text {
  padding: 10px 0;
}
.elastic-media-text__wrapper {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}
.elastic-media-text--image-right .elastic-media-text__wrapper {
  flex-direction: row-reverse;
}
.elastic-media-text__image {
  flex-shrink: 0;
}
.elastic-media-text__content {
  flex: 1;
  min-width: 0;
}
.elastic-media-text__link {
  display: block;
  text-decoration: none;
}
.elastic-media-text__img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-base, 0px);
}
.elastic-media-text__img-wrap img {
  display: block;
  width: 100%;
  height: auto;
}
.elastic-media-text__img-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity var(--transition-base, 0.3s ease);
}
.elastic-media-text--has-hover .elastic-media-text__link:hover .elastic-media-text__img-hover {
  opacity: 1;
}
.elastic-media-text__caption {
  display: block;
  font-size: 13px;
  color: var(--color-gray, #707070);
  text-align: center;
  margin-top: 8px;
}
.elastic-media-text__text {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray, #707070);
}
.elastic-media-text__text p {
  margin-bottom: 14px;
}
.elastic-media-text__text p:last-child {
  margin-bottom: 0;
}
.elastic-media-text__text strong {
  color: var(--color-black, #1C202B);
  font-weight: 600;
}
.elastic-media-text__text h2, .elastic-media-text__text h3, .elastic-media-text__text h4 {
  color: var(--color-black, #1C202B);
  margin: 16px 0 8px;
}
.elastic-media-text__text h2 {
  font-size: 20px;
  font-weight: 700;
}
.elastic-media-text__text h3 {
  font-size: 17px;
  font-weight: 600;
}
.elastic-media-text__text a {
  color: var(--brand-primary, #017F1A);
  text-decoration: underline;
}
.elastic-media-text__text a:hover {
  color: var(--brand-primary-dark, #015d13);
}
.elastic-media-text__text ul, .elastic-media-text__text ol {
  padding-left: 20px;
  margin-bottom: 14px;
}
.elastic-media-text__text ul li, .elastic-media-text__text ol li {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-gray, #707070);
  margin-bottom: 6px;
}
.elastic-media-text__text table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-bottom: 14px;
}
.elastic-media-text__text table th {
  background: var(--brand-primary, #017F1A);
  color: #fff;
  padding: 8px 12px;
  text-align: left;
  border: 1px solid rgb(0.80078125, 101.69921875, 20.8203125);
}
.elastic-media-text__text table td {
  padding: 8px 12px;
  border: 1px solid var(--color-border, #dedede);
  color: var(--color-gray, #707070);
}
.elastic-media-text__text table tr:nth-child(even) {
  background: #fafafa;
}
.elastic-media-text__text img {
  max-width: 100%;
  height: auto;
}
@media all and (max-width: 991px) {
  .elastic-media-text__wrapper {
    flex-direction: column;
  }
  .elastic-media-text--image-right .elastic-media-text__wrapper {
    flex-direction: column;
  }
  .elastic-media-text__image {
    flex: 0 0 100% !important;
    width: 100%;
  }
}

.elastic-image {
  padding: 10px 0;
}
.elastic-image__wrapper {
  display: flex;
  gap: 20px;
}
.elastic-image--full .elastic-image__wrapper {
  display: block;
}
.elastic-image--half .elastic-image__col {
  flex: 1;
  min-width: 0;
}
.elastic-image__link {
  display: block;
  text-decoration: none;
}
.elastic-image__img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-base, 0px);
}
.elastic-image__img-wrap img {
  display: block;
  width: 100%;
  height: auto;
}
.elastic-image__img-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity var(--transition-base, 0.3s ease);
}
.elastic-image__link:hover .elastic-image__img-hover {
  opacity: 1;
}
.elastic-image__caption {
  display: block;
  font-size: 13px;
  color: var(--color-gray, #707070);
  text-align: center;
  margin-top: 8px;
}
@media all and (max-width: 991px) {
  .elastic-image--half .elastic-image__wrapper {
    flex-direction: column;
  }
}

.elastic-gallery {
  padding: 10px 0;
}
.elastic-gallery__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.elastic-gallery--cols-3 .elastic-gallery__item {
  flex: 0 0 calc(33.333% - 11px);
}
.elastic-gallery--cols-4 .elastic-gallery__item {
  flex: 0 0 calc(25% - 12px);
}
.elastic-gallery--cols-7 .elastic-gallery__item {
  flex: 0 0 calc(14.285% - 14px);
}
.elastic-gallery--cols-flex .elastic-gallery__item--w3 {
  flex: 0 0 calc(25% - 12px);
}
.elastic-gallery--cols-flex .elastic-gallery__item--w4 {
  flex: 0 0 calc(33.333% - 11px);
}
.elastic-gallery--cols-flex .elastic-gallery__item--w6 {
  flex: 0 0 calc(50% - 8px);
}
.elastic-gallery--cols-flex .elastic-gallery__item--w8 {
  flex: 0 0 calc(66.666% - 6px);
}
.elastic-gallery--cols-flex .elastic-gallery__item--w12 {
  flex: 0 0 100%;
}
.elastic-gallery__link {
  display: block;
  text-decoration: none;
}
.elastic-gallery__img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-base, 0px);
}
.elastic-gallery__img-wrap img {
  display: block;
  width: 100%;
  height: auto;
}
.elastic-gallery__img-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity var(--transition-base, 0.3s ease);
}
.elastic-gallery__link:hover .elastic-gallery__img-hover {
  opacity: 1;
}
.elastic-gallery__caption {
  display: block;
  font-size: 13px;
  color: var(--color-gray, #707070);
  text-align: center;
  margin-top: 6px;
  padding-bottom: 4px;
}
@media all and (max-width: 991px) {
  .elastic-gallery--cols-7 .elastic-gallery__item {
    flex: 0 0 calc(33.333% - 11px);
  }
  .elastic-gallery--cols-4 .elastic-gallery__item {
    flex: 0 0 calc(50% - 8px);
  }
  .elastic-gallery--cols-3 .elastic-gallery__item {
    flex: 0 0 calc(50% - 8px);
  }
}
@media all and (max-width: 767px) {
  .elastic-gallery--cols-7 .elastic-gallery__item, .elastic-gallery--cols-4 .elastic-gallery__item, .elastic-gallery--cols-3 .elastic-gallery__item, .elastic-gallery--cols-flex .elastic-gallery__item {
    flex: 0 0 calc(50% - 8px);
  }
}

.elastic-divider--line {
  padding: 15px 0;
}
.elastic-divider__line {
  border: none;
  border-top: 1px solid var(--color-border, #dedede);
  margin: 0;
}
.acf-block-gb.features-gallery,
.acf-block-gb.video-gallery,
.acf-block-gb.related-products,
.acf-block-gb.testimonials-slider,
.acf-block-gb.comparison-table,
.acf-block-gb.product-accessories,
.acf-block-gb.mounting-methods,
.acf-block-gb.product-gallery {
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}
