/* P0 UI: Obejrzyj detale inside photo frame; CLS; footer links */

/* Zoom trigger = photo frame; hint clipped inside */
.product-zoom-trigger{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  padding:0;
  border:0;
  background:#e7dfd2;
  cursor:zoom-in;
}
.product-zoom-trigger #product-main-image{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.product-zoom-hint{
  position:absolute;
  left:10px;
  right:auto;
  bottom:10px;
  z-index:2;
  max-width:calc(100% - 20px);
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  background:#f8f4ecf2;
  border:1px solid #cfbfa6;
  color:#4b3820;
  font-size:10px;
  letter-spacing:.2px;
  line-height:1.2;
  pointer-events:none;
  white-space:nowrap;
}
.product-zoom-hint>span{font-size:14px;line-height:1}
.product-gallery{overflow:hidden}
@media(max-width:650px){
  .product-zoom-trigger{aspect-ratio:4/5}
  .product-zoom-hint{left:8px;bottom:8px;padding:7px 10px;gap:6px;font-size:9px}
}

/* Footer links: not glued */
.catalog-footer .footer-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
}
.catalog-footer .footer-links a{
  font-size:11px;
  color:#d2bb93;
  text-decoration:none;
  border-bottom:1px solid #a98a534d;
  white-space:nowrap;
}
@media(max-width:650px){
  .catalog-footer .footer-links{width:100%;order:4;margin-top:8px}
}

/* CLS: reserve header + card photo before paint */
.catalog-header{min-height:88px}
.catalog-page .card-photo{
  aspect-ratio:4/4.7;
  overflow:hidden;
  background:#ede6dc;
}
.catalog-page .card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.catalog-campaign{
  aspect-ratio:16/9;
  max-height:min(52vh,520px);
  overflow:hidden;
}
.catalog-campaign>img,
.catalog-campaign .campaign-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.card-skeleton .card-photo{min-height:0}
@media(max-width:650px){
  .catalog-header{min-height:110px}
  .catalog-campaign{aspect-ratio:16/10;max-height:225px;height:auto}
  .catalog-page .card-photo{aspect-ratio:4/5}
}

/* P0 jitter: kill continuous motion + unstable viewport units on campaign */
.campaign-scroll-arrow,
.campaign-scroll .campaign-scroll-arrow{
  animation:none !important;
  transform:none !important;
  opacity:.75 !important;
}
@keyframes lz-scroll-pulse{
  0%,50%,100%{transform:none;opacity:.75}
}

/* Fixed campaign height — no svh/dvh (mobile chrome causes bob) */
.catalog-campaign,
.catalog-page .catalog-campaign{
  height:420px !important;
  min-height:420px !important;
  max-height:420px !important;
  aspect-ratio:auto !important;
}
.catalog-campaign .campaign-copy,
.campaign-copy{
  top:50% !important;
  transform:translateY(-50%) !important; /* static center, not animated */
}
@media(max-width:650px){
  .catalog-campaign,
  .catalog-page .catalog-campaign{
    height:240px !important;
    min-height:240px !important;
    max-height:240px !important;
  }
}
@media(max-width:430px){
  .catalog-campaign,
  .catalog-page .catalog-campaign{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
}

/* No continuous transforms on cards/images outside hover */
.catalog-page .card,
.catalog-page .card-photo,
.catalog-page .card-photo img{
  animation:none !important;
}
/* Keep one-shot skeleton only while .card-skeleton present */
.card-skeleton .skel-line{animation:cb-skel 1.2s ease-in-out infinite}
