.custom-logo-link img {
  display: block;
  width: 180px;
  height: auto;
}

.wp-content-page {
  min-height: 58vh;
}

.blog-archive,
.blog-single {
  min-height: 62vh;
}

.blog-archive-hero {
  padding: clamp(44px, 7vw, 92px) clamp(18px, 5vw, 76px) clamp(30px, 4vw, 54px);
  border-bottom: 1px solid rgba(72, 68, 61, 0.14);
}

.blog-archive-hero h1,
.blog-single-header h1 {
  max-width: 1100px;
  color: var(--forest);
  font-size: clamp(3rem, 6.3vw, 7rem);
  line-height: 0.92;
  text-transform: uppercase;
}

.blog-archive-description {
  max-width: 760px;
  margin-top: 18px;
  color: rgba(72, 68, 61, 0.8);
  font-size: 1.15rem;
}

.blog-archive-description > :last-child {
  margin-bottom: 0;
}

.blog-archive-section {
  padding: clamp(38px, 5.6vw, 72px) clamp(18px, 5vw, 76px);
}

.blog-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.blog-archive-card {
  display: flex;
  min-width: 0;
  min-height: 620px;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(72, 68, 61, 0.14);
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.72);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms var(--ease-out);
}

.blog-archive-card:hover,
.blog-archive-card:focus-within {
  border-color: rgba(66, 77, 59, 0.3);
  box-shadow: 0 18px 48px rgba(66, 77, 59, 0.12);
  transform: translateY(-3px);
}

.blog-archive-card__image {
  display: block;
  height: 310px;
  overflow: hidden;
  background: var(--meadow);
}

.blog-archive-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 260ms ease;
}

.blog-archive-card:hover .blog-archive-card__image img {
  transform: scale(1.025);
}

.blog-archive-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.blog-archive-card__category {
  margin: 0 0 14px;
  color: rgba(66, 77, 59, 0.7);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
}

.blog-archive-card h2 {
  margin: 0 0 18px;
  color: var(--forest);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1;
  text-transform: uppercase;
}

.blog-archive-card h2 a,
.blog-archive-card__more {
  color: inherit;
  text-decoration: none;
}

.blog-archive-card__summary {
  margin: 0 0 22px;
  color: rgba(72, 68, 61, 0.8);
}

.blog-archive-card__more {
  align-self: flex-start;
  margin-top: auto;
  color: var(--forest);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--leaf);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.blog-pagination {
  margin-top: 36px;
}

.blog-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.blog-pagination .page-numbers {
  display: inline-grid;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 14px;
  place-items: center;
  border: 1px solid rgba(66, 77, 59, 0.2);
  border-radius: 999px;
  background: rgba(255, 253, 244, 0.72);
  color: var(--forest);
  font-weight: 700;
  text-decoration: none;
}

.blog-pagination .page-numbers.current,
.blog-pagination a.page-numbers:hover,
.blog-pagination a.page-numbers:focus-visible {
  border-color: var(--forest);
  background: var(--forest);
  color: var(--meadow);
}

.blog-single {
  padding: clamp(30px, 5vw, 64px) clamp(18px, 5vw, 76px) clamp(56px, 8vw, 110px);
}

.blog-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 1120px;
  margin: 0 auto 30px;
  color: rgba(72, 68, 61, 0.68);
  font-size: 0.92rem;
}

.blog-breadcrumbs a {
  color: var(--forest);
  font-weight: 700;
  text-decoration: none;
}

.blog-single-article {
  max-width: 1120px;
  margin: 0 auto;
}

.blog-single-header {
  max-width: 980px;
  margin-bottom: 32px;
}

.blog-single-header .eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--forest);
  text-decoration: none;
}

.blog-single-featured {
  max-height: 680px;
  margin: 0 0 clamp(34px, 5vw, 64px);
  overflow: hidden;
  border-radius: 8px;
}

.blog-single-featured img {
  display: block;
  width: 100%;
  max-height: 680px;
  object-fit: cover;
}

.blog-entry-content {
  max-width: 820px;
  margin: 0 auto;
  color: var(--soil);
  font-size: 1.12rem;
  line-height: 1.72;
}

.blog-entry-content h2,
.blog-entry-content h3 {
  color: var(--forest);
  text-transform: none;
}

.blog-entry-content h2 {
  margin: 2.5em 0 0.7em;
  font-size: clamp(2rem, 3.8vw, 3.5rem);
  line-height: 1;
}

.blog-entry-content h3 {
  margin: 2em 0 0.65em;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.08;
}

.blog-entry-content p,
.blog-entry-content ul,
.blog-entry-content ol,
.blog-entry-content table,
.blog-entry-content blockquote {
  margin: 0 0 1.35em;
}

.blog-entry-content a {
  color: var(--forest);
  font-weight: 700;
  text-decoration-color: var(--leaf);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.blog-entry-content li + li {
  margin-top: 0.45em;
}

.blog-entry-content blockquote {
  padding: clamp(22px, 4vw, 36px);
  border: 0;
  border-left: 5px solid var(--leaf);
  border-radius: 0 8px 8px 0;
  background: rgba(226, 226, 203, 0.72);
  color: var(--forest);
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  font-weight: 700;
  line-height: 1.25;
}

.blog-entry-content blockquote > :last-child {
  margin-bottom: 0;
}

.blog-entry-content table {
  display: table;
  width: 100%;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(72, 68, 61, 0.18);
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.72);
  font-size: 0.96rem;
}

.blog-entry-content th,
.blog-entry-content td {
  padding: 14px 16px;
  border-right: 1px solid rgba(72, 68, 61, 0.12);
  border-bottom: 1px solid rgba(72, 68, 61, 0.12);
  text-align: left;
  vertical-align: top;
}

.blog-entry-content th {
  background: var(--forest);
  color: var(--meadow);
}

.blog-entry-content tr:last-child td {
  border-bottom: 0;
}

.blog-entry-content th:last-child,
.blog-entry-content td:last-child {
  border-right: 0;
}

.woocommerce-page-shell {
  min-height: 60vh;
}

.compact-page-hero {
  padding-bottom: clamp(22px, 4vw, 42px);
}

.compact-page-hero h1 {
  max-width: 980px;
}

.wp-page-section {
  padding-top: clamp(24px, 4vw, 48px);
}

.nav-links {
  min-width: 0;
}

.nav-links .primary-menu,
.nav-links ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 3vw, 36px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-links li {
  margin: 0;
  padding: 0;
  line-height: 1;
}

.nav-links a {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.mobile-menu .mobile-menu-list,
.mobile-menu nav ul {
  display: grid;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile-menu nav li {
  margin: 0;
  padding: 0;
}

.mobile-menu nav li:last-child a {
  border-bottom: 0;
}

.home-products.woocommerce ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  max-width: 620px;
  margin-top: 22px;
}

.footer-legal a {
  color: rgba(226, 226, 203, 0.78);
  font-size: 0.98rem;
  font-weight: 700;
  text-decoration: none;
}

.footer-legal a:hover,
.footer-legal a:focus-visible {
  color: var(--leaf);
}

.footer-copyright {
  margin-top: 12px !important;
  color: rgba(226, 226, 203, 0.62) !important;
  font-size: 0.96rem;
  font-weight: 700;
}

.cookie-banner {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 80;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  width: min(720px, calc(100vw - 36px));
  padding: 18px;
  border: 1px solid rgba(226, 226, 203, 0.2);
  border-radius: 8px;
  background: var(--forest);
  color: var(--meadow);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner p {
  margin: 0;
}

.cookie-banner div {
  display: flex;
  gap: 10px;
  align-items: center;
}

.cookie-banner a,
.cookie-banner button {
  min-height: 44px;
  border-radius: 999px;
  font: inherit;
  font-weight: 700;
  white-space: nowrap;
}

.cookie-banner a {
  display: inline-grid;
  place-items: center;
  padding: 0 16px;
  border: 1px solid rgba(226, 226, 203, 0.28);
  color: var(--meadow);
  text-decoration: none;
}

.cookie-banner button {
  border: 0;
  background: var(--leaf);
  color: var(--forest);
  cursor: pointer;
  padding: 0 20px;
}

.not-found-page {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
  gap: clamp(26px, 4vw, 58px);
  align-items: center;
  min-height: 70vh;
  padding: clamp(42px, 7vw, 96px) clamp(18px, 5vw, 76px);
}

.not-found-page h1 {
  max-width: 900px;
  font-size: clamp(3rem, 6vw, 6.8rem);
  line-height: 0.92;
}

.not-found-page p:not(.eyebrow) {
  max-width: 620px;
  color: rgba(72, 68, 61, 0.82);
}

.not-found-page figure {
  height: clamp(360px, 58svh, 620px);
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.not-found-page img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.woocommerce-section {
  background: var(--meadow-soft);
}

.woocommerce-section .woocommerce {
  max-width: none;
  width: 100%;
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  justify-content: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
}

.woocommerce ul.products li.product {
  position: relative;
  display: flex;
  flex-direction: column;
  width: auto !important;
  max-width: none;
  min-height: 470px;
  margin: 0 !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(72, 68, 61, 0.12);
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.72);
  transition: transform 220ms var(--ease-out), box-shadow 220ms ease, border-color 220ms ease;
}

.woocommerce ul.products li.product:hover {
  border-color: rgba(66, 77, 59, 0.28);
  box-shadow: 0 18px 48px rgba(66, 77, 59, 0.12);
  transform: translateY(-3px);
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  height: 280px;
  aspect-ratio: auto;
  object-fit: cover;
  background: rgba(255, 253, 244, 0.58);
  margin: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
  color: var(--forest);
  font-family: inherit;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  min-height: 4.05em;
  overflow: hidden;
  padding: 16px 18px 4px;
  font-size: 1.05rem;
  line-height: 1.08;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.woocommerce ul.products li.product .price {
  display: block;
  min-height: 1.35em;
  padding: 0 18px 12px;
  color: var(--forest);
  font-size: 1.04rem;
  font-weight: 700;
}

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  min-width: 0;
  min-height: 0;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--leaf);
  color: var(--forest);
  font-weight: 700;
  line-height: 1;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 22px;
  color: rgba(72, 68, 61, 0.72);
}

.zs-category-filter {
  clear: both;
  width: 100%;
  margin: 0 0 28px;
}

.zs-category-filter__label {
  margin: 0 0 10px;
  color: rgba(72, 68, 61, 0.72);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}

.zs-category-filter__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.zs-category-filter__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 16px;
  border: 1px solid rgba(66, 77, 59, 0.22);
  border-radius: 999px;
  background: rgba(255, 253, 244, 0.72);
  color: var(--forest);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.zs-category-filter__links a:hover,
.zs-category-filter__links a:focus-visible,
.zs-category-filter__links a.is-active {
  border-color: var(--forest);
  background: var(--forest);
  color: var(--meadow);
}

.zs-category-filter__links a:hover,
.zs-category-filter__links a:focus-visible {
  transform: translateY(-1px);
}

.catalog-ordering .woocommerce-ordering {
  float: none;
  margin: 0;
}

.woocommerce .woocommerce-ordering select {
  min-height: 44px;
  border: 1px solid rgba(72, 68, 61, 0.16);
  border-radius: 999px;
  background: rgba(255, 253, 244, 0.72);
  color: var(--soil);
  font: inherit;
  padding: 0 16px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button {
  border-radius: 999px;
  background: var(--forest);
  color: var(--meadow);
  font-family: inherit;
  font-weight: 700;
  transition: background 220ms var(--ease-out), color 220ms var(--ease-out), transform 220ms var(--ease-out);
}

.woocommerce ul.products li.product .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  width: fit-content;
  max-width: calc(100% - 36px);
  min-width: 150px;
  min-height: 46px;
  margin: auto 18px 18px;
  padding: 10px 18px;
  font-size: 0.96rem;
  line-height: 1;
  text-align: center;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover {
  background: var(--leaf);
  color: var(--forest);
  transform: translateY(-2px);
}

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(260px, 520px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 38px);
  align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float: none;
  width: auto;
}

.woocommerce div.product div.images {
  max-width: 520px;
}

.woocommerce div.product div.images img {
  border-radius: 8px;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: auto;
}

.woocommerce div.product div.images .flex-control-thumbs img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.woocommerce div.product .summary {
  padding: clamp(18px, 2.4vw, 30px);
  border-radius: 8px;
  background: var(--meadow);
  box-shadow: 0 18px 44px rgba(66, 77, 59, 0.08);
}

.woocommerce div.product .product_title {
  margin: 0 0 14px;
  font-size: clamp(1.75rem, 2.6vw, 3rem);
  line-height: 0.96;
}

.woocommerce div.product p.price {
  color: var(--forest);
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 700;
  margin: 0 0 14px;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: rgba(72, 68, 61, 0.82);
  font-size: clamp(0.98rem, 1.1vw, 1.08rem);
  line-height: 1.45;
}

.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 18px 0;
}

.woocommerce div.product form.cart.variations_form {
  display: block;
}

.woocommerce div.product form.cart table.variations {
  width: 100%;
  margin: 20px 0 16px;
  border: 0;
  border-collapse: separate;
  border-spacing: 0 10px;
}

.woocommerce div.product form.cart table.variations tr {
  display: grid;
  grid-template-columns: minmax(120px, 170px) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 1.2;
}

.woocommerce div.product form.cart table.variations label {
  color: var(--forest);
  font-weight: 700;
}

.woocommerce div.product form.cart table.variations select {
  width: 100%;
  min-height: 44px;
  padding: 0 44px 0 16px;
  border: 1px solid rgba(72, 68, 61, 0.22);
  border-radius: 999px;
  background-color: rgba(255, 253, 244, 0.72);
  color: var(--forest);
  font: inherit;
  font-weight: 700;
}

.woocommerce div.product form.cart .reset_variations {
  display: inline-block;
  margin-top: 8px;
  color: rgba(72, 68, 61, 0.72);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce div.product .single_variation_wrap {
  display: grid;
  gap: 12px;
}

.woocommerce div.product .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.woocommerce div.product .woocommerce-variation-add-to-cart .zs-shipping-info {
  margin-top: 0;
}

.zs-shipping-info {
  flex-basis: 100%;
  margin: 2px 0 0;
  color: rgba(72, 68, 61, 0.76);
  font-size: 0.9rem;
  line-height: 1.35;
}

.zs-shipping-info strong {
  color: var(--forest);
}

.woocommerce .quantity .qty {
  min-height: 42px;
  width: 74px;
  border: 1px solid rgba(72, 68, 61, 0.18);
  border-radius: 999px;
  background: rgba(255, 253, 244, 0.7);
  color: var(--forest);
  font: inherit;
  text-align: center;
}

.woocommerce div.product .product_meta {
  color: rgba(72, 68, 61, 0.68);
  font-size: 0.95rem;
  line-height: 1.4;
}

body.woocommerce-shop .catalog-hero,
body.page-template-page-produkty .catalog-hero,
body.page-template-page-produkty-php .catalog-hero {
  align-items: center;
  padding-top: clamp(26px, 4vw, 48px);
  padding-bottom: clamp(22px, 3vw, 34px);
}

body.woocommerce-shop .catalog-hero h1,
body.page-template-page-produkty .catalog-hero h1,
body.page-template-page-produkty-php .catalog-hero h1 {
  font-size: clamp(2.7rem, 5vw, 5.4rem);
}

body.woocommerce-shop .catalog-promo,
body.page-template-page-produkty .catalog-promo,
body.page-template-page-produkty-php .catalog-promo {
  padding: clamp(18px, 2.4vw, 26px);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top-color: var(--leaf);
  border-radius: 8px;
  background: var(--meadow);
  color: var(--soil);
  box-shadow: 0 14px 36px rgba(66, 77, 59, 0.08);
}

.woocommerce-error {
  border-top-color: #b96b4d;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--forest);
}

.woocommerce-error::before {
  color: #b96b4d;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  order: 2;
  margin-left: auto;
}

.woocommerce-cart table.cart,
.woocommerce-checkout form.checkout {
  overflow: hidden;
  border-radius: 8px;
  background: var(--meadow);
  box-shadow: 0 18px 44px rgba(66, 77, 59, 0.08);
}

.woocommerce table.shop_table {
  border: 1px solid rgba(72, 68, 61, 0.13);
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.58);
}

.woocommerce table.shop_table th {
  color: var(--forest);
  font-weight: 700;
  text-transform: uppercase;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  border-top-color: rgba(72, 68, 61, 0.12);
  padding: 16px;
}

.woocommerce-cart table.cart img {
  width: 84px;
  border-radius: 8px;
}

.woocommerce-cart table.cart .product-name a,
.woocommerce table.shop_table a {
  color: var(--forest);
  font-weight: 700;
  text-decoration: none;
}

.woocommerce a.remove {
  display: inline-grid;
  place-items: center;
  color: var(--forest) !important;
  background: rgba(66, 77, 59, 0.08);
}

.woocommerce a.remove:hover {
  background: #b96b4d;
  color: var(--meadow) !important;
}

.woocommerce-cart table.cart td.actions {
  padding: 18px;
}

.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  gap: 10px;
}

.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  min-height: 48px;
  border: 1px solid rgba(72, 68, 61, 0.16);
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.72);
  color: var(--soil);
  font: inherit;
  padding: 10px 13px;
}

.zs-paczkomat-field {
  margin: 24px 0;
  padding: 18px;
  border: 1px solid rgba(72, 68, 61, 0.13);
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.58);
}

.zs-paczkomat-field h3 {
  margin: 0 0 6px;
  color: var(--forest);
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1;
}

.zs-paczkomat-field p:not(.form-row) {
  margin: 0 0 14px;
  color: rgba(72, 68, 61, 0.78);
  line-height: 1.35;
}

.zs-paczkomat-field .form-row {
  margin: 0;
}

.woocommerce-cart .cart-collaterals {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  width: min(100%, 520px);
  padding: clamp(22px, 3vw, 34px);
  border-radius: 8px;
  background: var(--forest);
  color: var(--meadow);
}

.woocommerce-cart .cart_totals h2 {
  color: var(--meadow);
  font-size: clamp(2rem, 3vw, 3.4rem);
  line-height: 0.95;
  text-transform: uppercase;
}

.woocommerce-cart .cart_totals table.shop_table {
  background: transparent;
  color: var(--meadow);
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  color: var(--meadow);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  background: var(--leaf);
  color: var(--forest);
  text-align: center;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--meadow);
  color: var(--forest);
}

.woocommerce .cart-empty {
  display: grid;
  min-height: 240px;
  place-items: center;
  margin: 0 0 18px;
  border: 1px solid rgba(72, 68, 61, 0.12);
  border-radius: 8px;
  background: var(--meadow);
  color: var(--forest);
  font-size: clamp(1.5rem, 3vw, 2.8rem);
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}

.zs-empty-state {
  display: grid;
  gap: 10px;
  min-height: 260px;
  place-items: center;
  padding: clamp(26px, 5vw, 64px);
  border: 1px solid rgba(72, 68, 61, 0.12);
  border-radius: 8px;
  background: var(--meadow);
  color: var(--soil);
  text-align: center;
  box-shadow: 0 18px 44px rgba(66, 77, 59, 0.08);
}

.zs-empty-state h2 {
  max-width: 780px;
  color: var(--forest);
  font-size: clamp(2rem, 4vw, 4.8rem);
  line-height: 0.94;
  text-transform: uppercase;
}

.zs-empty-state p:not(.eyebrow) {
  max-width: 620px;
  color: rgba(72, 68, 61, 0.78);
}

.woocommerce .return-to-shop {
  text-align: center;
}

.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.48fr);
  gap: clamp(22px, 4vw, 48px);
  padding: clamp(22px, 3vw, 34px);
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  float: none;
  width: auto;
}

.woocommerce-checkout #customer_details {
  grid-column: 1;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
  margin: 0;
  align-self: start;
  color: var(--forest);
  font-size: clamp(1.8rem, 2.8vw, 3rem);
  line-height: 0.98;
  text-transform: uppercase;
}

.woocommerce-checkout #order_review {
  padding: 20px;
  border-radius: 8px;
  background: var(--meadow-soft);
}

.woocommerce form .form-row {
  margin: 0 0 15px;
}

.woocommerce form .form-row label {
  color: var(--forest);
  font-weight: 700;
}

.woocommerce form .form-row .required {
  color: #b96b4d;
}

.woocommerce-checkout-payment {
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.72) !important;
}

.woocommerce-checkout-payment ul.payment_methods {
  border-bottom-color: rgba(72, 68, 61, 0.12) !important;
}

.woocommerce-checkout-payment .place-order {
  padding: 18px !important;
}

.woocommerce #payment #place_order {
  width: 100%;
  min-height: 56px;
  background: var(--forest);
  color: var(--meadow);
}

.woocommerce #payment #place_order:hover {
  background: var(--leaf);
  color: var(--forest);
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout {
  width: 100% !important;
  max-width: none !important;
  color: var(--soil);
}

.wc-block-cart,
.wc-block-checkout {
  display: grid !important;
  grid-template-columns: minmax(640px, 1fr) minmax(460px, 560px);
  gap: clamp(22px, 4vw, 48px);
  align-items: start;
  margin-inline: auto;
}

.wc-block-cart__main,
.wc-block-checkout__main {
  grid-column: 1;
  width: 100% !important;
  padding: 0;
}

.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
  grid-column: 2;
  width: 100% !important;
  max-width: 560px;
  position: sticky;
  top: 96px;
  align-self: start;
  justify-self: end;
  padding: clamp(20px, 2.4vw, 30px);
  border: 1px solid rgba(72, 68, 61, 0.13);
  border-radius: 8px;
  background: rgba(226, 226, 203, 0.56);
  box-shadow: 0 18px 44px rgba(66, 77, 59, 0.08);
}

.wc-block-components-sidebar-layout .wc-block-components-main {
  width: 100% !important;
  padding-right: clamp(18px, 3vw, 42px);
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar {
  width: 100% !important;
  max-width: 560px;
}

.wc-block-components-sidebar-layout {
  width: 100% !important;
  max-width: none !important;
}

.wc-block-checkout .wc-block-components-address-form,
.wc-block-checkout .wc-block-checkout__contact-fields,
.wc-block-checkout .wc-block-checkout__shipping-fields {
  width: 100%;
  max-width: none;
}

.wc-block-cart-items,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-checkout__payment-method,
.wc-block-checkout__terms,
.wc-block-checkout__add-note {
  border-color: rgba(72, 68, 61, 0.14) !important;
}

.wc-block-cart-items__header,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary-item {
  border-color: rgba(72, 68, 61, 0.14) !important;
}

.wc-block-cart-items__row,
.wc-block-components-order-summary-item {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.7);
}

.wc-block-cart-item__wrap,
.wc-block-components-order-summary-item__description {
  color: var(--soil);
}

.wc-block-cart-item__product a,
.wc-block-components-order-summary-item__description a,
.wc-block-components-product-name {
  color: var(--forest);
  font-weight: 700;
  line-height: 1.08;
  text-decoration: none;
}

.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description,
.wc-block-components-product-details {
  color: rgba(72, 68, 61, 0.74);
  font-size: 0.95rem;
}

.wc-block-components-quantity-selector {
  min-height: 42px;
  border-color: rgba(72, 68, 61, 0.18);
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.72);
}

.wc-block-components-quantity-selector__button {
  color: var(--forest);
  font-weight: 700;
}

.wc-block-cart-item__remove-link,
.wc-block-components-button.is-link {
  color: var(--forest);
  font-weight: 700;
  text-decoration: none;
}

.wc-block-components-totals-wrapper {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--forest);
  font-weight: 700;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: clamp(1.45rem, 2vw, 2.2rem);
  line-height: 1;
}

.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link) {
  min-height: 54px;
  border-radius: 999px !important;
  background: var(--forest) !important;
  color: var(--meadow) !important;
  font-family: inherit;
  font-weight: 700;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-button:not(.is-link):hover {
  background: var(--leaf) !important;
  color: var(--forest) !important;
  transform: translateY(-1px);
}

.wc-block-components-checkout-step {
  margin-bottom: 22px;
  padding: clamp(18px, 2vw, 26px);
  border: 1px solid rgba(72, 68, 61, 0.12);
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.58);
}

.wc-block-components-checkout-step__heading {
  margin-bottom: 16px;
}

.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-components-sidebar-layout .wc-block-components-sidebar .wc-block-components-panel__button {
  color: var(--forest);
  font-family: inherit;
  font-weight: 700;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-select__container,
.wc-block-components-address-form__address_2-toggle,
.wc-block-components-textarea {
  min-height: 52px;
  border-color: rgba(72, 68, 61, 0.18) !important;
  border-radius: 8px !important;
  background: rgba(255, 253, 244, 0.72) !important;
  color: var(--soil) !important;
  font-family: inherit;
  box-shadow: none !important;
}

.wc-block-components-text-input label,
.wc-block-components-select .wc-block-components-select__label,
.wc-block-components-checkbox .wc-block-components-checkbox__label {
  color: rgba(72, 68, 61, 0.86);
  font-family: inherit;
  font-weight: 700;
}

.wc-block-components-radio-control,
.wc-block-components-radio-control__option,
.wc-block-components-shipping-rates-control__package {
  border-color: rgba(72, 68, 61, 0.14) !important;
}

.wc-block-components-shipping-rates-control__package {
  padding: 14px;
  border-radius: 8px;
  background: rgba(255, 253, 244, 0.48);
}

.wc-block-components-address-form__ziolowy-szept-paczkomat {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(66, 77, 59, 0.22);
  border-radius: 8px;
  background: rgba(226, 226, 203, 0.72);
}

.wc-block-components-address-form__ziolowy-szept-paczkomat input {
  background: var(--meadow) !important;
}

.wc-block-checkout__actions_row {
  border-top: 1px solid rgba(72, 68, 61, 0.14);
  padding-top: 18px;
}

.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
  width: 100%;
}

.woocommerce-order {
  padding: clamp(22px, 4vw, 48px);
  border-radius: 8px;
  background: var(--meadow);
  box-shadow: 0 18px 44px rgba(66, 77, 59, 0.08);
}

.woocommerce-order .woocommerce-thankyou-order-received {
  color: var(--forest);
  font-size: clamp(1.7rem, 3vw, 3rem);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.woocommerce-MyAccount-navigation ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  margin: 0 0 24px;
  list-style: none;
}

.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 14px;
  border: 1px solid rgba(72, 68, 61, 0.12);
  border-radius: 999px;
  background: var(--meadow);
  color: var(--forest);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover {
  background: var(--forest);
  color: var(--meadow);
}

.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  padding: clamp(24px, 4vw, 48px);
  border-radius: 8px;
  background: var(--meadow);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  border-radius: 999px;
  background: rgba(66, 77, 59, 0.1);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--forest);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--forest);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--meadow);
}

@media (max-width: 980px) {
  .blog-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-products.woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  .cookie-banner {
    grid-template-columns: 1fr;
  }

  .not-found-page {
    grid-template-columns: 1fr;
  }

  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 1;
  }

  .woocommerce-MyAccount-navigation ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wc-block-components-sidebar-layout {
    display: block !important;
  }

  .wc-block-cart,
  .wc-block-checkout {
    display: block !important;
  }

  .wc-block-components-sidebar-layout .wc-block-components-main {
    padding-right: 0;
  }

  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar {
    max-width: none;
    position: static;
    margin-top: 24px;
  }
}

@media (max-width: 640px) {
  .custom-logo-link img {
    width: 136px;
  }

  .woocommerce div.product form.cart table.variations tr {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .woocommerce div.product .woocommerce-variation-add-to-cart {
    align-items: stretch;
    flex-direction: column;
  }

  .woocommerce div.product .woocommerce-variation-add-to-cart .quantity,
  .woocommerce div.product .woocommerce-variation-add-to-cart .quantity .qty,
  .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    width: 100%;
  }

  .woocommerce ul.products {
    grid-template-columns: minmax(0, 1fr);
  }

  .blog-archive-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .blog-archive-card {
    min-height: 0;
  }

  .blog-archive-card__image {
    height: 250px;
  }

  .blog-entry-content {
    font-size: 1.04rem;
  }

  .blog-entry-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .home-products.woocommerce ul.products {
    grid-template-columns: minmax(0, 1fr);
  }

  .zs-category-filter {
    margin-bottom: 22px;
  }

  .zs-category-filter__links {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 5px;
    scrollbar-width: thin;
  }

  .zs-category-filter__links a {
    flex: 0 0 auto;
    min-height: 40px;
    padding-inline: 14px;
  }

  .woocommerce ul.products li.product {
    max-width: none;
    min-height: 0;
  }

  .woocommerce ul.products li.product a img {
    height: 260px;
  }

  .footer-legal,
  .cookie-banner div {
    flex-direction: column;
    align-items: stretch;
  }

  .cookie-banner {
    right: 10px;
    bottom: 10px;
    width: calc(100vw - 20px);
  }

  .not-found-page {
    padding-inline: 18px;
  }

  .not-found-page figure {
    height: 300px;
  }

  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    align-items: flex-start;
    flex-direction: column;
  }

  .woocommerce-cart table.cart td.actions .coupon {
    flex-direction: column;
  }

  .woocommerce-cart table.cart td.actions .coupon .input-text,
  .woocommerce-cart table.cart td.actions .coupon button,
  .woocommerce-cart table.cart td.actions > button {
    width: 100% !important;
  }

  .woocommerce-cart .cart-collaterals {
    display: block;
  }

  .wc-block-components-order-summary-item,
  .wc-block-cart-items__row {
    gap: 12px;
  }

  .wc-block-components-checkout-step,
  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar {
    padding: 16px;
  }

  .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 1.45rem;
  }

  .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr;
  }
}
