.woocommerce .x-main,
.woocommerce-page .x-main {
  color: #282321;
}

.woocommerce ul.products {
  display: grid !important;
  gap: clamp(14px, 2vw, 24px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 24px 0 40px !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid #e2dbd4;
  border-radius: 14px;
  box-shadow: 0 2px 0 rgb(38 29 24 / 3%);
  display: flex;
  flex-direction: column;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
  overflow: hidden;
  padding: 0 0 16px !important;
  transition: box-shadow 180ms ease, transform 180ms ease;
  width: auto !important;
}

.woocommerce ul.products li.product:hover {
  box-shadow: 0 16px 38px rgb(35 25 18 / 12%);
  transform: translateY(-3px);
}

.woocommerce ul.products li.product > a:first-child {
  color: #282321;
  display: flex;
  flex: 1;
  flex-direction: column;
  text-decoration: none;
}

.woocommerce ul.products li.product img {
  aspect-ratio: 4 / 5;
  background: #f5f1ed;
  height: auto;
  margin: 0 0 14px !important;
  object-fit: contain;
  width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
  margin-inline: 16px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.35;
  padding: 0 !important;
}

.woocommerce ul.products li.product .price {
  color: #8f211c !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  margin-top: 8px;
}

.woocommerce ul.products li.product .psc-woo-more {
  align-items: center;
  align-self: flex-start;
  background: #b42b25;
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  margin: 14px 16px 0;
  min-height: 44px;
  padding: 10px 18px;
  text-decoration: none;
}

.woocommerce ul.products li.product .psc-woo-more:hover {
  background: #8f211c;
  color: #fff;
}

.single-product div.product {
  display: grid;
  gap: clamp(24px, 4vw, 54px);
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
}

/* Theme clearfix pseudo-elements must not occupy CSS grid cells. */
.single-product div.product::before,
.single-product div.product::after {
  display: none !important;
  content: none !important;
}

.single-product div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; min-width: 0; }
.single-product div.product > .summary { grid-column: 2; grid-row: 1; min-width: 0; }
.single-product div.product form.cart { display: none !important; }

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
  float: none !important;
  margin: 0 !important;
  width: auto !important;
}

.single-product div.product .woocommerce-product-gallery img {
  border-radius: 14px;
}

.single-product div.product .summary {
  align-self: start;
  background: #fff;
  border: 1px solid #e2dbd4;
  border-radius: 14px;
  box-shadow: 0 10px 32px rgb(35 25 18 / 8%);
  padding: clamp(20px, 3vw, 34px);
}

.single-product div.product .product_title {
  color: #282321;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.08;
}

.single-product div.product table.variations,
.single-product div.product table.shop_attributes {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.single-product div.product table td,
.single-product div.product table th {
  border-bottom: 1px solid #e6ded7;
  padding: 10px 8px;
  text-align: left;
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells,
.single-product div.product .psc-consultation {
  grid-column: 1 / -1;
}

.psc-consultation {
  background: linear-gradient(135deg, #f5eee7, #fff 65%);
  border: 1px solid #ded3ca;
  border-radius: 18px;
  display: grid;
  gap: clamp(20px, 4vw, 48px);
  grid-template-columns: minmax(0, 1fr);
  margin: 42px 0;
  padding: clamp(22px, 4vw, 46px);
}

.psc-consultation__eyebrow {
  color: #8f211c;
  display: block;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.psc-consultation h2 {
  color: #282321;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.08;
  margin: 0 0 14px;
}

.psc-consultation__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}

.psc-contact-button {
  align-items: center;
  border-radius: 9px;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  text-decoration: none;
}

.psc-contact-button:hover { color: #fff; filter: brightness(.92); }
.psc-contact-button--phone { background: #169b52; }
.psc-contact-button--telegram { background: #229ed9; }
.psc-contact-button--max { background: #5b39d7; }

.psc-consultation__form {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgb(35 25 18 / 7%);
  padding: clamp(16px, 3vw, 28px);
}

.psc-consultation__form-title {
  color: #282321;
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 20px;
}

.psc-consultation__form input:not([type="submit"]),
.psc-consultation__form textarea,
.psc-consultation__form select {
  border: 1px solid #cfc5bd;
  border-radius: 8px;
  min-height: 44px;
  width: 100%;
}

.psc-consultation__form input[type="submit"] {
  background: #b42b25;
  border: 0;
  border-radius: 8px;
  color: #fff;
  font-weight: 800;
  min-height: 46px;
  padding: 11px 20px;
}

@media (max-width: 1100px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .single-product div.product > .woocommerce-product-gallery,
  .single-product div.product > .summary { grid-column: 1; grid-row: auto; }
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-product div.product,
  .psc-consultation {
    grid-template-columns: minmax(0, 1fr);
  }

  .single-product div.product .summary {
    padding: 18px;
  }

  .psc-consultation {
    margin: 28px 0;
    padding: 20px 16px;
  }
}

@media (max-width: 430px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .psc-consultation__actions {
    display: grid;
  }
}

/* Pro theme cards wrap the standard WooCommerce elements. */
.woocommerce ul.products li.product { padding-bottom: 0 !important; border-color: #dfd5c6; box-shadow: none; }
.woocommerce ul.products li.product .entry-product { display: flex; flex: 1; flex-direction: column; min-width: 0; height: 100%; }
.woocommerce ul.products li.product .entry-featured { border: 0; box-shadow: none; background: #fff; }
.woocommerce ul.products li.product .entry-featured a { display: block; padding: 14px; }
.woocommerce ul.products li.product .entry-featured img { aspect-ratio: 1; object-fit: contain; background: #fff; margin: 0 !important; }
.woocommerce ul.products li.product .entry-wrap { display: flex; flex: 1; padding: 18px; background: #fbf7ed; box-shadow: none; border-top: 1px solid #eee5d8; }
.woocommerce ul.products li.product .entry-header { display: flex; flex: 1; flex-direction: column; align-items: stretch; text-align: left; }
.woocommerce ul.products li.product .entry-header h3 { font-size: 19px; line-height: 1.35; margin: 0 0 18px; padding: 0; }
.woocommerce ul.products li.product .entry-header h3 a { color: #30271f; text-decoration: none; }
.woocommerce ul.products li.product .entry-header .price { margin: auto 0 14px; color: #60421e !important; font-size: 20px !important; }
.woocommerce ul.products li.product .entry-header .price .amount { color: inherit; }
.woocommerce ul.products li.product .entry-header .psc-woo-more { align-self: stretch; margin: 0; border: 1px solid #754a24; background: #754a24; box-shadow: none; text-shadow: none; border-radius: 7px; }
.woocommerce .woocommerce-ordering { max-width: 100%; margin-bottom: 18px; }
.woocommerce .woocommerce-ordering select { min-height: 46px; height: auto; max-width: 100%; width: 260px; padding: 10px 32px 10px 14px; border: 1px solid #d7c9b6; border-radius: 8px; background-color: #fbf7ed; color: #30271f; font-size: 15px; }
.woocommerce .woocommerce-result-count { color: #6c5d4b; background: transparent; border: 0; padding: 12px 0; font-size: 15px; }
@media (max-width: 767px) {
  .woocommerce ul.products { gap: 12px; }
  .woocommerce ul.products li.product .entry-wrap { padding: 12px; }
  .woocommerce ul.products li.product .entry-featured a { padding: 8px; }
  .woocommerce ul.products li.product .entry-header h3 { font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
  .woocommerce ul.products li.product .entry-header .price { font-size: 17px !important; }
  .woocommerce ul.products li.product .entry-header .psc-woo-more { padding: 9px 6px; font-size: 14px; }
  .woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { float: none; width: 100%; text-align: left; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
}

.woocommerce a:focus-visible,
.psc-consultation a:focus-visible,
.psc-consultation input:focus-visible,
.psc-consultation textarea:focus-visible,
.psc-consultation select:focus-visible {
  outline: 3px solid #175eaa;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product {
    transition-duration: .01ms;
  }
}
