/* === Cenesti Premium Skeleton === */
:root{
  --csk-base:#f2f1ef;        /* jasna, ciepła neutralna szarość */
  --csk-highlight:#fafafa;   /* delikatny połysk */
  --csk-radius:4px;
  --csk-speed:1.6s;          /* wolny, premium shimmer */
}

/* Element w trakcie ładowania – chowamy realną treść, ale nie chowamy overlayu skeletonu */
.csk-skeleton-active{
  position:relative;
  overflow:hidden !important;
  color:transparent !important;
}
.csk-skeleton-active > :not(.csk-skeleton-overlay),
.csk-skeleton-active img,
.csk-skeleton-active a,
.csk-skeleton-active span,
.csk-skeleton-active p,
.csk-skeleton-active button,
.csk-skeleton-active input,
.csk-skeleton-active select,
.csk-skeleton-active label,
.csk-skeleton-active table{
  opacity:0 !important;
  transition:opacity .35s ease;
}

/* Warstwa skeletonu nakładana na element */
.csk-skeleton-overlay{
  position:absolute;
  inset:0;
  z-index:999;
  border-radius:var(--csk-radius);
  background-color:var(--csk-base);
  background-image:linear-gradient(
    90deg,
    var(--csk-base) 0%,
    var(--csk-highlight) 50%,
    var(--csk-base) 100%
  );
  background-size:200% 100%;
  background-repeat:no-repeat;
  background-position:-150% 0;
  animation:csk-shimmer var(--csk-speed) ease-in-out infinite;
  pointer-events:none;
  opacity:1 !important;
}

/* Pojawienie treści – płynne wejście (premium) */
.csk-revealed{
  animation:csk-fade-in .45s ease both;
}
.csk-revealed > *,
.csk-revealed img,
.csk-revealed a,
.csk-revealed span,
.csk-revealed p,
.csk-revealed button,
.csk-revealed input,
.csk-revealed select,
.csk-revealed label,
.csk-revealed table{
  opacity:1 !important;
}

@keyframes csk-shimmer{
  0%{background-position:-150% 0;}
  100%{background-position:150% 0;}
}
@keyframes csk-fade-in{
  from{opacity:0; transform:translateY(4px);}
  to{opacity:1; transform:translateY(0);}
}

/* Zachowanie proporcji zdjęć w siatce (4:3 jak na Cenesti) */
.product-item .product-image.csk-skeleton-active{
  min-height:0;
  aspect-ratio:500/583;
}
.woocommerce-product-gallery.csk-skeleton-active{
  aspect-ratio:1/1;
}

/* Drobne korekty wysokości dla tekstów, żeby skeleton nie "skakał" */
.woocommerce-loop-product__title.csk-skeleton-active{min-height:1.4em;}
.price-item.csk-skeleton-active{min-height:1.2em;}
.cat-list.csk-skeleton-active{min-height:.9em;}

.entry-summary h2.product-title.csk-skeleton-active{min-height:1.6em;}
.entry-summary > .price.csk-skeleton-active{min-height:1.4em;}
.summary.entry-summary .breadcrumb.csk-skeleton-active{min-height:1.1em;}
.wpcsm-message.wpcsm-location-single_product_title_before.csk-skeleton-active{min-height:38px;}
.cenesti-simple-delivery-notice.csk-skeleton-active{min-height:42px;}
.wc-price-history.prior-price.lowest.csk-skeleton-active{min-height:1.25em;}
.entry-summary .jws-quantity-wrap.csk-skeleton-active{min-height:48px;}
.wpcsm-message.wpcsm-location-single_product_add_to_cart_after.csk-skeleton-active{min-height:96px;}

/* Quantity ma często własne pozycjonowanie — skeleton ma przykryć cały wrapper */
.entry-summary .jws-quantity-wrap.csk-skeleton-active .csk-skeleton-overlay{
  border-radius:999px;
}


/* Archiwum kategorii: zakładki, kafelki i opis */
#menu-1-5077380 > li > a.csk-skeleton-active{min-height:42px; border-radius:999px; overflow:hidden!important;}
#menu-1-5077380 > li > a.csk-skeleton-active .csk-skeleton-overlay{border-radius:999px;}

/* Nie skeletonizujemy całego <li>, bo potrafi tworzyć sztuczny/dodatkowy kafelek. Celujemy w realny link. */
#menu-1-736bdbf > li.csk-skeleton-active{border-radius:12px; overflow:hidden!important;}
#menu-1-736bdbf > li.csk-skeleton-active > :not(.csk-skeleton-overlay){opacity:0!important;}
#menu-1-736bdbf > li.csk-skeleton-active .csk-skeleton-overlay{border-radius:12px;}

/* Opis kategorii z tekstowego widgetu Elementora oraz klasy WooCommerce jako fallback. */
.elementor-element-1c96a2f .elementor-widget-container.csk-skeleton-active,
.shop-banner-content .elementor-widget-text-editor .elementor-widget-container.csk-skeleton-active,
.woocommerce-products-header .term-description.csk-skeleton-active,
.woocommerce-archive-description.csk-skeleton-active,
.term-description.csk-skeleton-active,
.elementor-widget-theme-archive-description.csk-skeleton-active{min-height:64px;}

/* Gwiazdki na kartach produktów / produkty powiązane */
.product-item-inner .star-rating-wap.csk-skeleton-active,
.product-item .star-rating-wap.csk-skeleton-active,
.product-item-inner .star-rating.csk-skeleton-active{min-height:18px; min-width:86px; border-radius:999px;}
.product-item-inner .star-rating-wap.csk-skeleton-active .csk-skeleton-overlay,
.product-item .star-rating-wap.csk-skeleton-active .csk-skeleton-overlay,
.product-item-inner .star-rating.csk-skeleton-active .csk-skeleton-overlay{border-radius:999px;}

/* Przyciski add-to-cart: dopasowanie promienia, żeby nie prześwitywały rogi */
.entry-summary .single_add_to_cart_button.csk-skeleton-active,
#cenesti-sp-toolbar .single_add_to_cart_button.csk-skeleton-active{min-height:49px; border-radius:999px; overflow:hidden!important; background:var(--csk-base)!important; border-color:transparent!important; box-shadow:none!important;}
.entry-summary .single_add_to_cart_button.csk-skeleton-active .csk-skeleton-overlay,
#cenesti-sp-toolbar .single_add_to_cart_button.csk-skeleton-active .csk-skeleton-overlay{border-radius:999px;}

/* Szacunek dla użytkowników z reduced motion */
@media (prefers-reduced-motion: reduce){
  .csk-skeleton-overlay{animation:none; background-position:0 0;}
}
