/* Rich product card used by the catalog; homepage cards remain a separate compact preview. */ .catalog-product-card {
  position:relative;
  align-self:start;
  height:max-content;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  padding:10px;
  border:1px solid rgba(20,83,63,.12);
  border-radius:17px;
  background:#fff;
  box-shadow:0 9px 26px rgba(35,55,46,.07);
  color:var(--color-text);
  transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease
}
.catalog-product-card:hover {
  border-color:rgba(20,83,63,.24);
  box-shadow:0 14px 34px rgba(35,55,46,.11);
  transform:translateY(-2px)
}
.catalog-product-card__media {
  position:relative;
  width:100%;
  height:144px;
  margin-bottom:12px;
  border-radius:10px;
  overflow:hidden;
  background:#eee8de
}
.catalog-product-card__media img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
  background:#fff;
  transition:opacity 280ms ease,transform 420ms cubic-bezier(.2,.8,.2,1)
}
.catalog-product-card__image--secondary {
  opacity:0;
  transform:none
}
.catalog-product-card.is-gallery-ready:hover .catalog-product-card__image--primary {
  opacity:0;
  transform:none
}
.catalog-product-card.is-gallery-ready:hover .catalog-product-card__image--secondary {
  opacity:1;
  transform:none
}
.catalog-product-card h3 {
  max-width:calc(100% - 26px);
  margin:0;
  font-size:14px;
  font-weight:800;
  line-height:1.3
}
.catalog-product-card p {
  display:-webkit-box;
  min-height:22px;
  margin:1px 0 4px;
  overflow:hidden;
  color:#596660;
  font-size:11px;
  font-weight:600;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2
}
.catalog-product-card__availability {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:5px;
  margin:-2px 0 9px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(20,83,63,.08);
  color:var(--color-brand);
  font-size:10px;
  font-weight:700;
  line-height:1
}
.catalog-product-card__availability::before {
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--color-brand);
  content:""
}
.catalog-product-card.is-unavailable {
  opacity:.52
}
.catalog-product-card.is-unavailable .catalog-product-card__availability {
  background:rgba(120,99,75,.12);
  color:#745d49
}
.catalog-product-card.is-unavailable .catalog-product-card__availability::before {
  background:#745d49
}
.catalog-product-card__favorite {
  position:absolute;
  top:16px;
  right:20px;
  z-index:1;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:1px solid rgba(67,52,35,.09);
  border-radius:8px;
  background:rgba(255,253,249,.86);
  color:var(--color-text);
  cursor:pointer;
  transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease
}
.catalog-product-card__favorite svg,.catalog-product-card__bottom button svg {
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.catalog-product-card__favorite.is-active {
  background:var(--color-brand);
  color:#fff
}
.catalog-product-card__favorite.is-active svg {
  fill:currentColor
}
.catalog-product-card__favorite:not(.is-active):hover,.catalog-product-card__favorite:not(.is-active):focus-visible {
  border-color:var(--color-brand);
  background:#fffdf9;
  color:var(--color-brand);
  box-shadow:0 5px 13px rgba(20,83,63,.12);
  outline:0;
  transform:translateY(-2px) scale(1.04)
}
.catalog-product-card__bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px
}
.catalog-product-card__actions {
  display:flex;
  gap:6px
}
.catalog-product-card__bottom strong {
  font-size:16px;
  line-height:1
}
.catalog-product-card__bottom small {
  color:var(--color-text-muted);
  font-size:9px;
  font-weight:600
}
.catalog-product-card__bottom button {
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  border:1px solid rgba(67,52,35,.11);
  border-radius:9px;
  background:transparent;
  color:var(--color-text);
  cursor:pointer;
  transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease
}
.catalog-product-card__bottom [data-add-cart] {
  border-color:rgba(20,83,63,.18);
  color:var(--color-brand)
}
.catalog-product-card__bottom [data-add-cart].is-active {
  border-color:var(--color-brand);
  background:var(--color-brand);
  color:#fff;
  box-shadow:0 5px 13px rgba(20,83,63,.16)
}
.catalog-product-card__bottom button span { display:none; }
.catalog-product-card__bottom button:hover,.catalog-product-card__bottom button:focus-visible {
  border-color:var(--color-brand);
  background:var(--color-brand);
  color:#fff;
  box-shadow:0 5px 13px rgba(20,83,63,.18);
  outline:0;
  transform:translateY(-2px)
}
@media (max-width:720px) {
  .catalog-product-card {
    min-height:0;
    padding:14px;
    border:1px solid rgba(20,83,63,.13);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 28px rgba(35,55,46,.08)
  }
  .catalog-product-card__media {
    height:auto;
    aspect-ratio:4/3;
    margin-bottom:14px;
    border-radius:12px
  }
  .catalog-product-card h3 {
    max-width:calc(100% - 34px);
    font-size:17px;
    line-height:1.3
  }
  .catalog-product-card p {
    min-height:0;
    margin:7px 0 10px;
    color:#596660;
    font-size:13px;
    line-height:1.5
  }
  .catalog-product-card__availability {
    margin:-2px 0 7px;
    padding:4px 7px;
    font-size:8px
  }
  .catalog-product-card__favorite {
    top:7px;
    right:10px;
    width:27px;
    height:27px;
    border-radius:7px
  }
  .catalog-product-card__favorite svg,.catalog-product-card__bottom button svg {
    width:15px;
    height:15px
  }
  .catalog-product-card__bottom strong {
    padding:8px 10px;
    border-radius:10px;
    background:#edf5ef;
    color:var(--color-brand);
    font-size:15px;
    line-height:1.35
  }
  .catalog-product-card__bottom small {
    display:block;
    margin-top:2px;
    font-size:8px
  }
  .catalog-product-card__bottom button {
    width:34px;
    height:34px;
    border-radius:8px
  }
}
.catalog-product-card__bottom{flex-wrap:nowrap!important}.catalog-product-card__bottom>strong{min-width:0;white-space:nowrap}.catalog-product-card__actions{flex:0 0 auto;flex-wrap:nowrap}.catalog-product-card__bottom button{flex:0 0 auto}.catalog-product-card--skeleton{pointer-events:none;overflow:hidden}.catalog-product-card--skeleton>*{visibility:hidden}.catalog-product-card--skeleton:before{display:block;width:100%;height:170px;border-radius:11px;background:linear-gradient(100deg,#f2eee6 25%,#fbf8f2 40%,#f2eee6 55%);background-size:200% 100%;content:"";animation:prokat-skeleton 1.25s linear infinite}.catalog-product-card--skeleton:after{display:block;width:68%;height:15px;margin:17px 12px 22px;border-radius:999px;background:#eee9e0;content:""}@keyframes prokat-skeleton{to{background-position:-200% 0}}@media(max-width:520px){.catalog-product-card__bottom strong{font-size:15px!important}.catalog-product-card__actions{gap:8px!important}}

@media (max-width: 720px) {
  .catalog-product-card p {
    display: -webkit-box;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .catalog-product-card__bottom {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
    flex-wrap: nowrap !important;
  }
  .catalog-product-card__bottom > strong {
    display: block;
    width: 100%;
    font-size: 15px !important;
    line-height: 1.35;
    white-space: normal;
  }
  .catalog-product-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px !important;
  }
  .catalog-product-card__bottom button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px;
    font: 700 12px/1 var(--font-sans);
  }
  .catalog-product-card__bottom button span {
    display: inline;
  }
  .catalog-product-card__bottom [data-add-cart] {
    border-color: var(--color-brand);
    background: var(--color-brand);
    color: #fff;
  }
  .catalog-product-card--skeleton::before {
    height: auto;
    aspect-ratio: 1 / .77;
  }
}

/* Keep the loading card's geometry close to the product card it replaces. */
.catalog-product-card--skeleton {
  gap: 0;
}
.catalog-product-card--skeleton::before,
.catalog-product-card--skeleton::after {
  display: none;
  content: none;
}
.catalog-product-card--skeleton > * {
  visibility: visible;
}
.catalog-product-card--skeleton > div:not(.catalog-product-card__skeleton-copy):not(.catalog-product-card__skeleton-bottom),
.catalog-product-card__media.is-image-loading::before {
  background: linear-gradient(100deg, #f2eee6 25%, #fbf8f2 40%, #f2eee6 55%);
  background-size: 200% 100%;
  animation: prokat-skeleton 1.25s linear infinite;
}
.catalog-product-card__skeleton-media {
  width: 100%;
  height: 144px;
  margin-bottom: 12px;
  border-radius: 10px;
}
.catalog-product-card__skeleton-title {
  width: 72%;
  height: 18px;
  margin: 2px 0 8px;
  border-radius: 6px;
}
.catalog-product-card__skeleton-copy {
  display: grid;
  gap: 6px;
  min-height: 38px;
  margin-bottom: 12px;
  background: transparent;
}
.catalog-product-card__skeleton-copy span,
.catalog-product-card__skeleton-bottom > span,
.catalog-product-card__skeleton-bottom i {
  background: linear-gradient(100deg, #f2eee6 25%, #fbf8f2 40%, #f2eee6 55%);
  background-size: 200% 100%;
  animation: prokat-skeleton 1.25s linear infinite;
}
.catalog-product-card__skeleton-copy span {
  height: 11px;
  border-radius: 999px;
}
.catalog-product-card__skeleton-copy span:last-child {
  width: 58%;
}
.catalog-product-card__skeleton-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  margin-top: auto;
}
.catalog-product-card__skeleton-bottom > span {
  width: 42%;
  height: 20px;
  border-radius: 6px;
}
.catalog-product-card__skeleton-bottom > div {
  display: flex;
  gap: 8px;
}
.catalog-product-card__skeleton-bottom i {
  display: block;
  width: 38px;
  height: 38px;
  border-radius: 10px;
}
.catalog-product-card__media.is-image-loading::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
}
.catalog-product-card__media.is-image-loading .catalog-product-card__image--primary {
  opacity: 0;
}
@media (max-width: 720px) {
  .catalog-product-card__skeleton-media {
    height: auto;
    aspect-ratio: 4 / 3;
    margin-bottom: 14px;
    border-radius: 12px;
  }
}
