/* PremiumKnives catalog refinement — intentionally loaded only by the saved theme concept. */
:root {
  --pk-refine-font: "Inter", "Helvetica Neue", Arial, sans-serif;
  --pk-refine-card-border: #E6E9EA;
  --pk-refine-action-text: #293842;
  --pk-refine-action-border: #C9CFD2;
}

/* Keep the existing layout and product imagery; refine only the type and surfaces. */
body.type-category,
body.type-product {
  font-family: var(--pk-refine-font);
}

body.type-category #navigation,
body.type-category #navigation *:not(.shoptet-icon):not([class*="icon--"]):not([class*="icon-"]),
body.type-category .breadcrumbs,
body.type-category .category-header,
body.type-category .category-header *,
body.type-category .filters-wrapper,
body.type-category .filters-wrapper *:not(.shoptet-icon):not([class*="icon--"]):not([class*="icon-"]),
body.type-category .listSorting,
body.type-category .listSorting *:not(.shoptet-icon):not([class*="icon--"]):not([class*="icon-"]),
body.type-category #products,
body.type-category #products .product .name,
body.type-category #products .product .p-desc,
body.type-category #products .product .ratings-wrapper,
body.type-category #products .product .p-bottom,
body.type-category #products .product .availability,
body.type-category #products .product .price {
  font-family: var(--pk-refine-font);
}

body.type-category .category-title,
body.type-category #category-header h1 {
  font-family: var(--pk-refine-font);
  font-weight: 500;
  letter-spacing: -0.025em;
}

body.type-category .category-header,
body.type-category .filters-wrapper {
  font-size: 14px;
}

body.type-category #products.products-page > .product {
  border-color: var(--pk-refine-card-border);
  border-radius: 4px;
  box-shadow: none;
  transform: none;
  transition: border-color 180ms ease;
}

body.type-category #products.products-page > .product:hover {
  border-color: var(--pk-refine-action-border);
  box-shadow: none;
  transform: none;
}

body.type-category #products .product .image img,
body.type-category #products .product:hover .image img {
  transform: none;
  transition: none;
}

body.type-category #products .product .name {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}

body.type-category #products .product .p-desc {
  font-size: 14px;
  line-height: 1.55;
}

body.type-category #products .product .ratings-wrapper {
  font-size: 12px;
}

body.type-category #products .product .p-bottom {
  border-top: 0;
  padding-top: 0;
}

body.type-category #products .product .p-bottom > div {
  display: flex;
  flex-direction: column;
}

body.type-category #products .product .p-bottom .p-desc {
  order: 1;
  margin: 0 0 12px;
}

body.type-category #products .product .p-bottom .prices {
  order: 2;
  padding-top: 12px;
  border-top: 1px solid var(--pk-refine-card-border);
}

body.type-category #products .product .p-bottom .p-tools {
  order: 3;
}

body.type-category #products .product .availability,
body.type-category #products .product .availability span:not(.availability-amount) {
  color: #697680 !important;
  font-size: 12px;
  font-weight: 400;
}

body.type-category #products .product .price.price-final {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
}

body.type-category #products .product .name::after {
  min-height: 40px;
  border: 1px solid var(--pk-refine-action-border);
  border-radius: 4px;
  background: #fff;
  color: var(--pk-refine-action-text);
  font-family: var(--pk-refine-font);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

body.type-category #products .product .name:hover::after {
  border-color: #89959C;
  background: #F3F5F5;
  color: var(--pk-refine-action-text);
}

body.type-category #products .product .name:focus-visible::after {
  outline: 3px solid #263B4E;
  outline-offset: 3px;
}

body.type-category .listSorting .sortingToggle,
body.type-category .filters-wrapper .unveil-button {
  font-family: var(--pk-refine-font);
  font-size: 14px;
  font-weight: 500;
}

/* The category page has no separate brand/series fields; keep catalog text intact. */
body.type-category #products .product .name span {
  font-family: var(--pk-refine-font);
}

/* Product detail typography and secondary actions; preserve Shoptet's cart behavior. */
body.type-product #navigation,
body.type-product #navigation *:not(.shoptet-icon):not([class*="icon--"]):not([class*="icon-"]),
body.type-product .breadcrumbs,
body.type-product .p-detail,
body.type-product .p-detail-tabs-wrapper {
  font-family: var(--pk-refine-font);
}

body.type-product .p-detail-inner-header h1 {
  font-family: var(--pk-refine-font);
  font-weight: 500;
  letter-spacing: -0.025em;
}

body.type-product .ratings-and-brand,
body.type-product .p-short-description,
body.type-product .detail-parameters {
  font-family: var(--pk-refine-font);
  font-size: 14px;
  line-height: 1.65;
}

body.type-product .p-detail-tabs-wrapper :is(h2, h3) {
  font-family: var(--pk-refine-font);
  font-weight: 500;
}

body.type-product .ratings-and-brand .brand-wrapper {
  font-size: 12px;
  font-weight: 500;
}

body.type-product .detail-parameters .availability-label {
  color: #697680;
  font-weight: 500;
}

body.type-product .p-detail .add-to-cart-button {
  min-height: 50px;
  border-radius: 4px;
  font-family: var(--pk-refine-font);
  font-size: 15px;
  font-weight: 600;
}

body.type-product .p-final-price-wrapper .price-final {
  font-family: var(--pk-refine-font);
  font-weight: 600;
}

body.type-product .buttons-wrapper .link-icons a {
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--pk-refine-action-border);
  border-radius: 4px;
  background: #fff;
  color: var(--pk-refine-action-text);
  font-family: var(--pk-refine-font);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease;
}

body.type-product .buttons-wrapper .link-icons a:hover {
  border-color: #89959C;
  background: #F3F5F5;
  color: var(--pk-refine-action-text);
}

@media (max-width: 540px) {
  body.type-category #products .product .name::after {
    min-height: 44px;
  }
}
