/* Site-wide: hide template / dynamic zones until KstnSiteBoot finishes */

body.kstn-site-pending .kstn-dynamic,
body.kstn-site-pending .kstn-store-header-row,
body.kstn-site-pending .container-fluid.footer,
body.kstn-site-pending .container-fluid.copyright,
body.kstn-site-pending #home-hero-cms.hero-cms-pending,
body.kstn-site-pending #single-product-shell.single-pending,
body.kstn-site-pending .product-item,
body.kstn-site-pending .products-mini-item,
body.kstn-site-pending .featured-product-item,
body.kstn-site-pending .products-mini,
body.kstn-site-pending .row.g-4.product .col-lg-4,
body.kstn-site-pending .row.g-4.products-mini .col-lg-6 {
  visibility: hidden;
}

body.kstn-site-pending .shop-dynamic-zone {
  visibility: hidden;
}

body.kstn-site-ready .kstn-dynamic,
body.kstn-site-ready .shop-dynamic-zone {
  visibility: visible;
}

.kstn-loading-placeholder,
.shop-loading-placeholder {
  text-align: center;
  padding: 2.5rem 1rem;
  color: #6c757d;
}

body.kstn-site-pending .kstn-loading-placeholder {
  visibility: visible;
}

/* Skeleton placeholders (no template product images/text) */
.kstn-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem;
  padding: 0.5rem 0 1rem;
}

.kstn-skeleton-card {
  min-height: 140px;
  border-radius: 8px;
  background: linear-gradient(90deg, #ececec 25%, #f5f5f5 50%, #ececec 75%);
  background-size: 200% 100%;
  animation: kstn-skeleton-shimmer 1.2s ease-in-out infinite;
}

@keyframes kstn-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

body.kstn-site-pending .kstn-skeleton-grid {
  visibility: visible;
}

body.kstn-site-pending #bestseller-grid .products-mini-item {
  visibility: hidden;
}
