:root {
  --pc-blue: #2d4b76;
  --pc-ink: #223b60;
  --pc-paper: #f9f6f7;
  --pc-white: #ffffff;

  --pc-title: #223b60;
  --pc-text: #55607a;
  --pc-muted: #8b96aa;
  --pc-line: #e6e8ee;
  --pc-line-hover: #d3d8e4;
  --pc-line2: #f0f1f5;
  --pc-ok: #2e7d5b;

  --pc-shadow: 0 1px 2px rgba(34, 59, 96, 0.04);
  --pc-shadow-hover: 0 18px 40px -20px rgba(34, 59, 96, 0.35);
  --pc-radius: 12px;
  --pc-radius-sm: 8px;

  --pc-ease: cubic-bezier(0.2, 0, 0.2, 1);
  --pc-t: 0.16s var(--pc-ease);
  --pc-t-fast: 0.12s var(--pc-ease);
}

body .content.container { padding-top: 0; }

.pcat-search {
  display: flex;
  width: 100%;
  background: var(--pc-white);
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  overflow: hidden;
  margin: 24px 0 28px;
  transition: border-color var(--pc-t), box-shadow var(--pc-t);
}

.pcat-search:hover { border-color: var(--pc-line-hover); }
.pcat-search:focus-within { border-color: var(--pc-line-hover); box-shadow: var(--pc-shadow-hover); }

.pcat-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  padding: 15px 18px;
  font-size: 15px;
  outline: none;
  background: transparent;
  color: var(--pc-title);
}

.pcat-search input::placeholder { color: var(--pc-muted); }

.pcat-search button {
  border: 0;
  background: var(--pc-blue);
  color: var(--pc-white);
  padding: 0 34px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.2px;
  cursor: pointer;
  transition: background var(--pc-t);
}

.pcat-search button:hover { background: var(--pc-ink); }

.pcat-searchbox { position: relative; }

.pcat-sugg {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 60;
  background: var(--pc-white);
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  box-shadow: 0 20px 40px -18px rgba(34, 59, 96, 0.35);
  overflow: hidden;
  max-height: 380px;
  overflow-y: auto;
}

.pcat-sugg[hidden] { display: none; }

.pcat-sugg__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--pc-title);
  font-size: 14px;
  line-height: 1.4;
  border-bottom: 1px solid var(--pc-line2);
  cursor: pointer;
  transition: background var(--pc-t-fast);
}

.pcat-sugg__item:last-child { border-bottom: 0; }
.pcat-sugg__item:hover,
.pcat-sugg__item.on { background: var(--pc-paper); }

.pcat-sugg__thumb {
  width: 40px;
  height: 40px;
  flex: none;
  border: 1px solid var(--pc-line2);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--pc-white);
}

.pcat-sugg__thumb img { max-width: 86%; max-height: 86%; object-fit: contain; }

.pcat-sugg__text { flex: 1; min-width: 0; }
.pcat-sugg__text b { font-weight: 600; color: var(--pc-blue); }

.pcat-sugg__meta {
  display: block;
  font-size: 12px;
  color: var(--pc-muted);
  margin-top: 2px;
}

.pcat-sugg__price { color: var(--pc-muted); font-size: 13px; white-space: nowrap; }

.pcat-sugg__empty {
  padding: 14px 16px;
  color: var(--pc-muted);
  font-size: 14px;
}

.pcat-cats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding: 24px 0 40px;
}

.pcat-cat {
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  background: var(--pc-white);
  box-shadow: var(--pc-shadow);
  transition: border-color var(--pc-t), box-shadow var(--pc-t);
}

.pcat-cat:hover {
  border-color: var(--pc-line-hover);
  box-shadow: 0 8px 20px -14px rgba(34, 59, 96, 0.3);
}

.pcat-cat__img {
  aspect-ratio: 3 / 2;
  background: var(--pc-white);
  border-bottom: 1px solid var(--pc-line2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 14px;
  overflow: hidden;
}

.pcat-cat__img img {
  max-width: 76%;
  max-height: 76%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.pcat-cat__pov {
  position: absolute;
  top: 10px;
  right: 10px;
  background: var(--pc-white);
  color: var(--pc-text);
  border: 1px solid var(--pc-line);
  font-size: 10.5px;
  font-weight: 500;
  padding: 3px 9px;
  border-radius: 20px;
}

.pcat-cat__body {
  padding: 14px 16px 15px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}

.pcat-cat__body h3 {
  font-size: 15px;
  font-weight: 600;
  color: var(--pc-title);
  margin: 0;
  line-height: 1.35;
  letter-spacing: -0.1px;
}

.pcat-cat__body p { color: var(--pc-text); font-size: 13px; line-height: 1.5; margin: 0; }

.pcat-cat__count {
  margin-top: auto;
  padding-top: 10px;
  font-size: 12.5px;
  color: var(--pc-muted);
  border-top: 1px solid var(--pc-line2);
}

.pcat-cat__go {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  padding: 8px 14px;
  border: 1px solid var(--pc-blue);
  border-radius: var(--pc-radius-sm);
  color: var(--pc-blue);
  background: var(--pc-white);
  font-size: 13px;
  font-weight: 600;
  align-self: flex-start;
  transition: background var(--pc-t), color var(--pc-t);
}

.pcat-cat__go::after { content: '→'; font-size: 14px; }
.pcat-cat:hover .pcat-cat__go { background: var(--pc-blue); color: var(--pc-white); }

.pcat-secttitle {
  font-size: 22px;
  font-weight: 700;
  color: var(--pc-title);
  letter-spacing: -0.4px;
  margin: 8px 0 20px;
  padding-top: 28px;
  border-top: 1px solid var(--pc-line);
}

.pcat-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--pc-line);
  padding-bottom: 16px;
  margin-bottom: 22px;
  font-size: 14px;
}

.pcat-tb-label { color: var(--pc-muted); font-weight: 400; }
.pcat-sortbtns { display: flex; gap: 6px; flex-wrap: wrap; }

.pcat-sortbtns a {
  padding: 8px 15px;
  border: 1px solid var(--pc-line);
  border-radius: 999px;
  color: var(--pc-text);
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  background: var(--pc-white);
  transition: border-color var(--pc-t), color var(--pc-t), background var(--pc-t);
}

.pcat-sortbtns a:hover { border-color: var(--pc-line-hover); background: var(--pc-paper); color: var(--pc-title); }
.pcat-sortbtns a.on { background: var(--pc-blue); border-color: var(--pc-blue); color: var(--pc-white); }

.pcat-found { margin-left: auto; color: var(--pc-muted); font-size: 13.5px; }

.pcat-viewswitch {
  display: flex;
  gap: 4px;
  padding: 3px;
  border: 1px solid var(--pc-line);
  border-radius: 999px;
  background: var(--pc-white);
}

.pcat-view {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: none;
  color: var(--pc-muted);
  padding: 6px 13px;
  border-radius: 999px;
  font: 500 13px inherit;
  cursor: pointer;
  transition: background var(--pc-t), color var(--pc-t);
}

.pcat-view svg { width: 15px; height: 15px; flex: none; }
.pcat-view:hover { color: var(--pc-title); background: var(--pc-paper); }
.pcat-view.on { background: var(--pc-blue); color: var(--pc-white); }

.pcat-layout {
  display: grid;
  grid-template-columns: 222px 1fr;
  gap: 26px;
  padding-bottom: 48px;
}

.pcat-filter {
  position: sticky;
  top: 20px;
  align-self: start;
  background: var(--pc-paper);
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  padding: 2px 14px 14px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.pcat-filter::-webkit-scrollbar { width: 8px; }
.pcat-filter::-webkit-scrollbar-track { background: transparent; }

.pcat-filter::-webkit-scrollbar-thumb {
  background: var(--pc-line-hover);
  border-radius: 8px;
  border: 2px solid var(--pc-paper);
}

.pcat-filter .pcat-fapply {
  position: sticky;
  bottom: 0;
  z-index: 2;
  box-shadow: 0 -10px 14px -6px var(--pc-paper);
}

.pcat-fbox {
  border-bottom: 1px solid var(--pc-line);
  padding: 12px 0;
}

.pcat-fbox:last-of-type { border-bottom: 0; }
.pcat-fbox[open] { padding-bottom: 14px; }

.pcat-fhead {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 12px;
  color: var(--pc-title);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  padding: 3px 0;
  transition: color var(--pc-t-fast);
}

.pcat-fhead::-webkit-details-marker { display: none; }
.pcat-fhead:hover { color: var(--pc-blue); }

.pcat-fhead::after {
  content: '';
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-right: 1.6px solid var(--pc-muted);
  border-bottom: 1.6px solid var(--pc-muted);
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform var(--pc-t);
}

.pcat-fbox[open] > .pcat-fhead::after { transform: rotate(-135deg) translate(-2px, -2px); }

.pcat-fmark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--pc-blue);
  color: var(--pc-white);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0;
}

.pcat-fbox > .pcat-flist,
.pcat-fbox > .pcat-range { margin-top: 11px; }

.pcat-flist { display: flex; flex-direction: column; gap: 8px; }

.pcat-flist label {
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  color: var(--pc-text);
  font-size: 13.5px;
  transition: color var(--pc-t-fast);
}

.pcat-flist label:hover { color: var(--pc-title); }
.pcat-flist label > span:first-of-type { flex: 1; }

.pcat-flist input[type="checkbox"],
.pcat-flist input[type="radio"] {
  width: 16px;
  height: 16px;
  accent-color: var(--pc-blue);
  cursor: pointer;
  flex-shrink: 0;
}

.pcat-flist .c {
  color: var(--pc-muted);
  margin-left: auto;
  font-size: 12px;
  background: var(--pc-white);
  border: 1px solid var(--pc-line);
  padding: 0 7px;
  border-radius: 10px;
}

.pcat-flist--grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  max-height: none;
}

.pcat-flist--grid label {
  position: relative;
  display: block;
  padding: 7px 3px;
  text-align: center;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-sm);
  background: var(--pc-white);
  font-size: 13px;
  font-weight: 500;
  color: var(--pc-text);
  cursor: pointer;
  transition: border-color var(--pc-t), background var(--pc-t), color var(--pc-t);
}

.pcat-flist--grid input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
}

.pcat-flist--grid label:hover { border-color: var(--pc-line-hover); background: var(--pc-paper); }

.pcat-flist--grid label:has(input:checked) {
  border-color: var(--pc-blue);
  color: var(--pc-blue);
  box-shadow: inset 0 0 0 1px var(--pc-blue);
}

.pcat-flist--grid label > span:first-of-type { flex: none; }
.pcat-flist--grid .c { display: none; }

.pcat-range { display: flex; gap: 10px; }

.pcat-range input {
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-sm);
  font-size: 14px;
  background: var(--pc-white);
  transition: border-color var(--pc-t);
}

.pcat-range input:focus { border-color: var(--pc-line-hover); outline: none; }

.pcat-fapply {
  width: 100%;
  background: var(--pc-blue);
  color: var(--pc-white);
  border: 0;
  border-radius: var(--pc-radius-sm);
  padding: 11px;
  font-weight: 600;
  font-size: 13.5px;
  cursor: pointer;
  margin-top: 14px;
  transition: background var(--pc-t);
}

.pcat-fapply:hover { background: var(--pc-ink); }

.pcat-freset {
  display: block;
  text-align: center;
  color: var(--pc-muted);
  font-size: 13px;
  margin-top: 10px;
  text-decoration: none;
  transition: color var(--pc-t-fast);
}

.pcat-freset:hover { color: var(--pc-title); }

.pcat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

.pcat-card {
  background: var(--pc-white);
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: var(--pc-shadow);
  transition: border-color var(--pc-t), box-shadow var(--pc-t), transform var(--pc-t);
}

.pcat-card:hover {
  border-color: var(--pc-line-hover);
  box-shadow: var(--pc-shadow-hover);
  transform: translateY(-3px);
}

.pcat-pov {
  position: absolute;
  top: 22px;
  left: 24px;
  background: var(--pc-white);
  color: var(--pc-text);
  border: 1px solid var(--pc-line);
  font-size: 10px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 20px;
  letter-spacing: 0.3px;
  z-index: 1;
}

.pcat-cimg {
  aspect-ratio: 1 / 1;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 16px;
  background: var(--pc-white);
  border: 1px solid var(--pc-line2);
  border-radius: var(--pc-radius-sm);
  padding: 14px;
  overflow: hidden;
}

a.pcat-cimg { text-decoration: none; }

.pcat-cimg img { max-width: 88%; max-height: 88%; object-fit: contain; transition: transform var(--pc-t); }
.pcat-card:hover .pcat-cimg img { transform: scale(1.04); }

.pcat-cstock {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  color: var(--pc-muted);
  margin-bottom: 8px;
}

.pcat-cstock::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pc-muted);
}

.pcat-cstock--order { color: var(--pc-muted); }
.pcat-cstock--order::before { background: var(--pc-muted); }

.pcat-ctitle {
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  margin-bottom: 10px;
  min-height: 42px;
  letter-spacing: -0.1px;
}

.pcat-ctitle a { color: var(--pc-title); text-decoration: none; transition: color var(--pc-t-fast); }
.pcat-ctitle a:hover { color: var(--pc-blue); }

.pcat-cart-num { font-size: 12.5px; color: var(--pc-muted); margin-bottom: 12px; }

.pcat-mini {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: 12.5px;
  color: var(--pc-text);
  margin: 0 0 16px;
  padding-top: 14px;
  border-top: 1px solid var(--pc-line2);
}

.pcat-mini::before {
  content: 'Характеристики';
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: var(--pc-muted);
  margin-bottom: 10px;
}

.pcat-mini div {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 10px;
  padding: 3px 0;
  align-items: start;
}

.pcat-mini dt { color: var(--pc-muted); font-weight: 400; }

.pcat-mini dd {
  margin: 0;
  font-weight: 400;
  color: var(--pc-title);
  overflow-wrap: anywhere;
}

.pcat-cfoot { margin-top: auto; }

.pcat-cprice {
  font-size: 21px;
  font-weight: 700;
  color: var(--pc-title);
  letter-spacing: -0.4px;
}

.pcat-cprice span {
  font-size: 12.5px;
  font-weight: 400;
  color: var(--pc-muted);
  margin-left: 6px;
  letter-spacing: 0;
}

.pcat-cprice--req { font-size: 16px; font-weight: 600; color: var(--pc-blue); }

.pcat-cnds { font-size: 12.5px; color: var(--pc-muted); margin-top: 5px; }

.pcat-crow { display: flex; gap: 10px; margin-top: 14px; }

.pcat-btn {
  flex: 1;
  display: inline-block;
  background: var(--pc-blue);
  color: var(--pc-white) !important;
  border: 1px solid var(--pc-blue);
  border-radius: var(--pc-radius-sm);
  padding: 11px 12px;
  font-weight: 600;
  font-size: 13px;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  letter-spacing: 0.2px;
  transition: background var(--pc-t), border-color var(--pc-t), color var(--pc-t);
}

.pcat-btn:hover { background: var(--pc-ink); border-color: var(--pc-ink); }

.pcat-btn--line {
  background: var(--pc-white);
  color: var(--pc-text) !important;
  border-color: var(--pc-line);
}

.pcat-btn--line:hover { background: var(--pc-paper); color: var(--pc-title) !important; border-color: var(--pc-line-hover); }

.pcat-empty { padding: 56px 0; color: var(--pc-muted); font-size: 16px; text-align: center; }
.pcat-empty a { color: var(--pc-blue); font-weight: 600; }

.pcat-grid--list { grid-template-columns: 1fr; gap: 12px; }

.pcat-grid--list .pcat-card {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) 230px;
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "img title price"
    "img mini  price";
  column-gap: 24px;
  row-gap: 4px;
  padding: 16px;
  align-items: start;
}

.pcat-grid--list .pcat-card:hover { transform: none; }
.pcat-grid--list .pcat-cimg { grid-area: img; margin: 0; align-self: center; }
.pcat-grid--list .pcat-cstock { display: none; }
.pcat-grid--list .pcat-cart-num { display: none; }

.pcat-grid--list .pcat-ctitle {
  grid-area: title;
  min-height: 0;
  font-size: 16px;
  margin-bottom: 6px;
  align-self: center;
}

.pcat-grid--list .pcat-mini {
  grid-area: mini;
  margin-bottom: 0;
  padding-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 26px;
  row-gap: 0;
  align-self: start;
}

.pcat-grid--list .pcat-mini::before { display: none; }
.pcat-grid--list .pcat-mini div { grid-template-columns: 44% 1fr; }

.pcat-grid--list .pcat-cfoot {
  grid-area: price;
  margin: 0;
  padding-left: 24px;
  border-left: 1px solid var(--pc-line2);
  align-self: center;
}

.pcat-grid--list .pcat-crow { flex-direction: column; }
.pcat-grid--list .pcat-cprice { font-size: 22px; }
.pcat-grid--list .pcat-pov { top: 24px; left: 26px; }

.pcat-head {
  padding: 8px 0 20px;
  border-bottom: 1px solid var(--pc-line);
  margin-bottom: 26px;
}

.pcat-h1 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.6px;
  color: var(--pc-title);
  margin: 0 0 12px;
}

.pcat-head__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  font-size: 13.5px;
  color: var(--pc-muted);
}

.pcat-head__meta b { color: var(--pc-text); font-weight: 500; }

.pcat-product {
  display: grid;
  grid-template-columns: minmax(0, 380px) minmax(0, 1fr) 300px;
  gap: 36px;
  align-items: start;
  margin-bottom: 44px;
}

.pcat-info__title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--pc-muted);
  margin-bottom: 6px;
}

.pcat-info .pcat-spectable { max-width: none; }
.pcat-info .pcat-spectable td { font-size: 14px; padding: 11px 0; }
.pcat-info .pcat-spectable td:first-child { width: 42%; }

.pcat-gallery { display: flex; flex-direction: column; gap: 12px; }

.pcat-gal {
  position: relative;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--pc-white);
  padding: 28px;
  box-shadow: var(--pc-shadow);
  cursor: zoom-in;
}

.pcat-gal img,
.pcat-gal__img {
  max-width: 88%;
  max-height: 88%;
  object-fit: contain;
  transition: transform var(--pc-t);
}

.pcat-gal:hover .pcat-gal__img { transform: scale(1.02); }

.pcat-gal__zoom {
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: 38px;
  height: 38px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pc-line);
  border-radius: 50%;
  background: var(--pc-white);
  color: var(--pc-text);
  cursor: zoom-in;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity var(--pc-t), transform var(--pc-t), color var(--pc-t);
}

.pcat-gal__zoom svg { width: 18px; height: 18px; }
.pcat-gal:hover .pcat-gal__zoom { opacity: 1; transform: none; }
.pcat-gal__zoom:hover { color: var(--pc-blue); }

.pcat-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
  gap: 10px;
}

.pcat-thumb {
  aspect-ratio: 1 / 1;
  padding: 6px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-sm);
  background: var(--pc-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: border-color var(--pc-t), box-shadow var(--pc-t);
}

.pcat-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pcat-thumb:hover { border-color: var(--pc-line-hover); }
.pcat-thumb.on { border-color: var(--pc-blue); box-shadow: inset 0 0 0 1px var(--pc-blue); }

.pcat-lb {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(34, 59, 96, 0.86);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px 72px;
  animation: pcFade 0.16s var(--pc-ease);
}

.pcat-lb__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: var(--pc-radius-sm);
  background: var(--pc-white);
}

.pcat-lb__close,
.pcat-lb__nav {
  position: absolute;
  border: 0;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--pc-t);
}

.pcat-lb__close:hover,
.pcat-lb__nav:hover { background: rgba(255, 255, 255, 0.24); }

.pcat-lb__close {
  top: 18px;
  right: 22px;
  width: 44px;
  height: 44px;
  font-size: 28px;
  line-height: 1;
}

.pcat-lb__nav {
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  font-size: 34px;
  line-height: 1;
  padding-bottom: 4px;
}

.pcat-lb__nav--prev { left: 16px; }
.pcat-lb__nav--next { right: 16px; }

.pcat-lb__count {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.75);
  font-size: 13.5px;
  letter-spacing: 0.4px;
}

.pcat-keyspecs { font-size: 14.5px; }

.pcat-keyspecs__row {
  display: grid;
  grid-template-columns: minmax(0, 210px) 1fr;
  gap: 14px;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--pc-line2);
}

.pcat-keyspecs__row dt { color: var(--pc-muted); font-weight: 400; }
.pcat-keyspecs__row dd { margin: 0; color: var(--pc-title); font-weight: 400; }

.pcat-keyspecs__all {
  display: inline-block;
  margin-top: 14px;
  font-size: 14px;
  color: var(--pc-blue);
  text-decoration: none;
  border-bottom: 1px dashed var(--pc-line-hover);
  transition: color var(--pc-t-fast);
}

.pcat-keyspecs__all:hover { color: var(--pc-ink); }

.pcat-variants { display: flex; flex-direction: column; gap: 18px; margin-bottom: 26px; }

.pcat-varrow__label { font-size: 13.5px; color: var(--pc-muted); margin-bottom: 9px; }
.pcat-varrow__label b { color: var(--pc-title); font-weight: 600; }

.pcat-varpills { display: flex; flex-wrap: wrap; gap: 8px; }

.pcat-varpills a {
  display: inline-block;
  padding: 9px 16px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-sm);
  background: var(--pc-white);
  color: var(--pc-text);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: border-color var(--pc-t), color var(--pc-t), background var(--pc-t);
}

.pcat-varpills a:hover { border-color: var(--pc-line-hover); background: var(--pc-paper); color: var(--pc-title); }

.pcat-varpills a.on {
  border-color: var(--pc-blue);
  color: var(--pc-title);
  background: var(--pc-white);
  box-shadow: inset 0 0 0 1px var(--pc-blue);
}

.pcat-buy {
  position: sticky;
  top: 20px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  background: var(--pc-white);
  padding: 22px;
  box-shadow: var(--pc-shadow);
}

.pcat-pprice { font-size: 30px; font-weight: 700; color: var(--pc-title); letter-spacing: -0.6px; }
.pcat-pprice .vat { font-size: 13.5px; color: var(--pc-muted); font-weight: 400; margin-left: 8px; }

.pcat-pvat { color: var(--pc-muted); font-size: 14px; margin: 8px 0 0; }
.pcat-pvat b { color: var(--pc-text); font-weight: 600; }

.pcat-pold { color: var(--pc-muted); text-decoration: line-through; font-size: 15px; margin-top: 4px; }

.pcat-pbuy { margin-top: 18px; }
.pcat-pbuy .pcat-btn { display: block; width: 100%; padding: 14px; font-size: 15px; }

.pcat-buy__note {
  font-size: 13px;
  color: var(--pc-muted);
  line-height: 1.5;
  margin-top: 12px;
  text-align: center;
}

.pcat-buy__box {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--pc-line2);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--pc-text);
}

.pcat-buy__box b { display: block; color: var(--pc-title); font-weight: 600; margin-bottom: 5px; font-size: 14px; }

.pcat-tabs { margin-bottom: 48px; }

.pcat-tabnav {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--pc-line);
  margin-bottom: 26px;
}

.pcat-tab {
  border: 0;
  background: none;
  padding: 13px 20px;
  font: 600 15px inherit;
  color: var(--pc-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  border-radius: 0;
  transition: color var(--pc-t), border-color var(--pc-t);
}

.pcat-tab:hover { color: var(--pc-title); }
.pcat-tab.on { color: var(--pc-blue); border-bottom-color: var(--pc-blue); }

.pcat-tabpane { display: none; }
.pcat-tabpane.on { display: block; animation: pcFade 0.18s var(--pc-ease); }

@keyframes pcFade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

.pcat-spectable { width: 100%; border-collapse: collapse; max-width: 820px; }

.pcat-spectable td {
  padding: 12px 0;
  border-bottom: 1px solid var(--pc-line2);
  font-size: 14.5px;
  vertical-align: top;
  transition: background var(--pc-t-fast);
}

.pcat-spectable tr:hover td { background: var(--pc-paper); }
.pcat-spectable td:first-child { color: var(--pc-muted); width: 38%; font-weight: 400; padding-right: 16px; }
.pcat-spectable td:last-child { font-weight: 400; color: var(--pc-title); }

.pcat-descbox,
.pcat-tabtext {
  max-width: 820px;
  font-size: 15px;
  line-height: 1.75;
  color: var(--pc-text);
}

.pcat-tabtext p { margin: 0 0 14px; }
.pcat-tabtext b { color: var(--pc-title); font-weight: 600; }
.pcat-tabtext h4 { font-size: 16px; color: var(--pc-title); margin: 22px 0 10px; font-weight: 600; }

.pcat-docs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 820px; }

.pcat-doc {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-sm);
  padding: 14px 16px;
  font-weight: 500;
  font-size: 14px;
  color: var(--pc-title);
  text-decoration: none;
  background: var(--pc-white);
  transition: border-color var(--pc-t), background var(--pc-t), box-shadow var(--pc-t);
}

.pcat-doc:hover { border-color: var(--pc-line-hover); background: var(--pc-paper); box-shadow: var(--pc-shadow-hover); }

.pcat-doc i {
  font-style: normal;
  color: var(--pc-muted);
  font-weight: 600;
  font-size: 10px;
  border: 1px solid var(--pc-line);
  border-radius: 4px;
  padding: 3px 6px;
  letter-spacing: 0.5px;
}

.pcat-modal {
  position: fixed;
  inset: 0;
  background: rgba(34, 59, 96, 0.55);
  backdrop-filter: blur(3px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.pcat-modal[hidden] { display: none; }

.pcat-modal__box {
  background: var(--pc-white);
  border-radius: var(--pc-radius);
  max-width: 460px;
  width: 100%;
  padding: 30px 28px 26px;
  position: relative;
  max-height: 92vh;
  overflow: auto;
  box-shadow: 0 30px 60px -20px rgba(34, 59, 96, 0.4);
  animation: pcUp 0.2s var(--pc-ease);
}

@keyframes pcUp {
  from { opacity: 0; transform: translateY(20px) scale(0.98); }
  to { opacity: 1; transform: none; }
}

.pcat-modal__close {
  position: absolute;
  top: 10px;
  right: 14px;
  border: 0;
  background: none;
  font-size: 28px;
  color: var(--pc-muted);
  cursor: pointer;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 6px;
  transition: color var(--pc-t-fast), background var(--pc-t-fast);
}

.pcat-modal__close:hover { color: var(--pc-title); background: var(--pc-paper); }

.pcat-modal__title { font-size: 20px; font-weight: 700; color: var(--pc-title); margin-bottom: 2px; }
.pcat-modal__product { font-size: 14px; color: var(--pc-muted); margin-bottom: 16px; }

.pcat-modal__box label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--pc-title);
  margin-bottom: 14px;
}

.pcat-modal__box input[type="text"],
.pcat-modal__box input[type="tel"],
.pcat-modal__box input[type="email"],
.pcat-modal__box input[type="number"],
.pcat-modal__box textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 11px 13px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-sm);
  font: 14.5px inherit;
  background: var(--pc-white);
  transition: border-color var(--pc-t);
}

.pcat-modal__box input:focus,
.pcat-modal__box textarea:focus { border-color: var(--pc-line-hover); outline: none; }

.pcat-modal__box input[type="file"] { display: block; margin-top: 6px; font-size: 13px; padding: 6px 0; }

.pcat-modal__submit { width: 100%; margin-top: 6px; padding: 14px !important; font-size: 15px !important; }
.pcat-modal__note { font-size: 12.5px; color: var(--pc-muted); margin-top: 12px; text-align: center; }

.pcat-modal__row { display: flex; gap: 12px; }
.pcat-modal__phone { flex: 1 1 60%; }
.pcat-modal__ext { flex: 1 1 40%; }

.pcat-form-errors {
  background: #fdecec;
  border: 1px solid #e9b4b4;
  color: #a13a3a;
  border-radius: var(--pc-radius-sm);
  padding: 12px 15px;
  font-size: 13.5px;
  margin-bottom: 14px;
}

.pcat-success {
  position: fixed;
  inset: 0;
  background: rgba(34, 59, 96, 0.55);
  backdrop-filter: blur(3px);
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.pcat-success__box {
  background: var(--pc-white);
  border-radius: var(--pc-radius);
  max-width: 400px;
  width: 100%;
  padding: 38px 30px 30px;
  text-align: center;
  animation: pcUp 0.2s var(--pc-ease);
  box-shadow: 0 30px 60px -20px rgba(34, 59, 96, 0.4);
}

.pcat-success__check {
  width: 66px;
  height: 66px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: var(--pc-blue);
  color: var(--pc-white);
  font-size: 32px;
  line-height: 66px;
  font-weight: 600;
}

.pcat-success__title { font-size: 21px; font-weight: 700; color: var(--pc-title); margin-bottom: 8px; }
.pcat-success__text { font-size: 15px; color: var(--pc-text); line-height: 1.6; margin-bottom: 22px; }
.pcat-success__box .pcat-btn { width: 100%; }

.pcat-toast {
  background: var(--pc-paper);
  border: 1px solid var(--pc-line);
  color: var(--pc-title);
  border-radius: var(--pc-radius-sm);
  padding: 13px 16px;
  margin: 0 0 18px;
  font-weight: 500;
  font-size: 14px;
}

.pcat-toast--err { background: #fdecec; border-color: #e9b4b4; color: #a13a3a; }

.pcat-btn:focus-visible,
.pcat-view:focus-visible,
.pcat-tab:focus-visible,
.pcat-sortbtns a:focus-visible,
.pcat-varpills a:focus-visible,
.pcat-thumb:focus-visible,
.pcat-fapply:focus-visible,
.pcat-search button:focus-visible,
.pcat-card a:focus-visible {
  outline: 2px solid var(--pc-ink);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

@media (max-width: 1200px) {
  .pcat-product { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 28px; }
  .pcat-buy { grid-column: 1 / -1; position: static; }
  .pcat-pbuy .pcat-btn { max-width: 320px; }
}

@media (max-width: 1100px) {
  .pcat-grid--list .pcat-card {
    grid-template-columns: 150px minmax(0, 1fr);
    grid-template-areas:
      "img title"
      "img mini"
      "img price";
  }
  .pcat-grid--list .pcat-cfoot {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--pc-line2);
    padding-top: 12px;
    margin-top: 12px;
  }
  .pcat-grid--list .pcat-crow { flex-direction: row; }
}

@media (max-width: 1024px) {
  .pcat-grid { grid-template-columns: repeat(2, 1fr); }
  .pcat-cats { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  .pcat-layout { grid-template-columns: 1fr; }
  .pcat-filter { position: static; }
  .pcat-product { grid-template-columns: 1fr; gap: 24px; }
  .pcat-docs { grid-template-columns: 1fr; }
  .pcat-h1 { font-size: 24px; }
  .pcat-cats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .pcat-grid { grid-template-columns: 1fr; }
  .pcat-cats { grid-template-columns: 1fr; }
  .pcat-search { flex-direction: column; }
  .pcat-search button { padding: 14px; width: 100%; }
  .pcat-viewswitch { display: none; }
  .pcat-grid--list .pcat-card {
    grid-template-columns: 1fr;
    grid-template-areas: "img" "title" "mini" "price";
  }
  .pcat-grid--list .pcat-mini { grid-template-columns: 1fr; }
  .pcat-h1 { font-size: 21px; }
  .pcat-pprice { font-size: 26px; }
  .pcat-keyspecs__row { grid-template-columns: 1fr; gap: 2px; }
  .pcat-pbuy .pcat-btn { max-width: none; }
  .pcat-modal__box { padding: 22px 18px; }
  .pcat-modal__row { flex-direction: column; }
  .pcat-tabnav { gap: 0; overflow-x: auto; flex-wrap: nowrap; }
  .pcat-tab { padding: 11px 14px; font-size: 13.5px; white-space: nowrap; }
  .pcat-lb { padding: 56px 12px; }
  .pcat-lb__nav { width: 42px; height: 42px; font-size: 28px; }
  .pcat-lb__nav--prev { left: 6px; }
  .pcat-lb__nav--next { right: 6px; }
  .pcat-gal__zoom { opacity: 1; transform: none; }
}

.pagetop__crumbs { margin-top: 20px; margin-bottom: 6px; }
.pagetop__title { display: none !important; }
.block.pagetop { padding-top: 0 !important; padding-bottom: 0 !important; }

.pcat-sent {
  position: fixed;
  inset: 0;
  z-index: 1300;
  background: rgba(34, 59, 96, 0.6);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: pcFade 0.16s var(--pc-ease);
}

.pcat-sent__box {
  background: var(--pc-white);
  border-radius: var(--pc-radius);
  max-width: 420px;
  width: 100%;
  padding: 36px 30px 28px;
  text-align: center;
  box-shadow: 0 30px 60px -20px rgba(34, 59, 96, 0.4);
  animation: pcUp 0.2s var(--pc-ease);
}

.pcat-sent__icon {
  width: 62px;
  height: 62px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: var(--pc-blue);
  position: relative;
}

.pcat-sent__icon i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 22px;
  margin: -13px 0 0 -6px;
  border-right: 3px solid var(--pc-white);
  border-bottom: 3px solid var(--pc-white);
  border-radius: 1px;
  transform: rotate(45deg);
}

.pcat-sent__title {
  font-size: 21px;
  font-weight: 700;
  color: var(--pc-title);
  margin-bottom: 10px;
  letter-spacing: -0.3px;
}

.pcat-sent__text {
  font-size: 14.5px;
  color: var(--pc-text);
  line-height: 1.6;
  margin-bottom: 22px;
}

.pcat-sent__box .pcat-btn { width: 100%; padding: 13px; font-size: 14.5px; }

.pcat-btn.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

@media (max-width: 640px) {
  .pcat-sent { padding: 16px; align-items: flex-end; }
  .pcat-sent__box { padding: 28px 20px 22px; border-radius: 14px; }
  .pcat-sent__icon { width: 54px; height: 54px; margin-bottom: 14px; }
  .pcat-sent__icon i {
    width: 10px;
    height: 19px;
    margin: -11px 0 0 -5px;
    border-right-width: 2.5px;
    border-bottom-width: 2.5px;
  }
  .pcat-sent__title { font-size: 19px; }
  .pcat-sent__text { font-size: 14px; margin-bottom: 18px; }
}

.pcat-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  margin-top: 32px;
}

.pcat-pager a {
  min-width: 38px;
  padding: 8px 11px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-sm);
  background: var(--pc-white);
  color: var(--pc-text);
  font-size: 13.5px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: border-color var(--pc-t), background var(--pc-t), color var(--pc-t);
}

.pcat-pager a:hover { border-color: var(--pc-line-hover); background: var(--pc-paper); color: var(--pc-title); }
.pcat-pager a.on { background: var(--pc-blue); border-color: var(--pc-blue); color: var(--pc-white); }

.pcat-introtext {
  max-width: 780px;
  margin: 4px 0 28px;
  padding: 0 0 0 18px;
  border-left: 3px solid var(--pc-line-hover);
  font-size: 17px;
  line-height: 1.6;
  color: var(--pc-text);
}

.pcat-introtext p { margin: 0; }
.pcat-introtext p + p { margin-top: 10px; }
.pcat-introtext b { color: var(--pc-title); font-weight: 600; }
.pcat-seotext { margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--pc-line); }
.pcat-seotext .pcat-descbox p { margin: 0 0 14px; }
.pcat-seotext .pcat-descbox ul, .pcat-seotext .pcat-descbox ol { margin: 0 0 14px 20px; }
.pcat-seotext .pcat-descbox li { margin-bottom: 6px; }
.pcat-seotext .pcat-descbox h2 { font-size: 20px; }
.pcat-seotext .pcat-descbox h3 { font-size: 17px; }
.pcat-seotext .pcat-descbox h2, .pcat-seotext .pcat-descbox h3 { color: var(--pc-title); font-weight: 600; margin: 24px 0 10px; }
.pcat-seotext .pcat-descbox b { color: var(--pc-title); font-weight: 600; }

@media (max-width: 640px) {
  .pcat-pager a { min-width: 34px; padding: 7px 9px; font-size: 13px; }
  .pcat-introtext { font-size: 15.5px; padding-left: 14px; margin-bottom: 22px; }
}