.iw-skeleton { background:linear-gradient(100deg,#edf0f3 25%,#f8f9fb 45%,#edf0f3 65%); background-size:220% 100%; animation:iw-skeleton-shimmer 1.6s linear infinite; border-radius:8px; }
@keyframes iw-skeleton-shimmer { to { background-position:-220% 0; } }
#iwPageLoader { background:#fff; align-items:flex-start; overflow:hidden; pointer-events:none; transition:none; }
#iwPageLoader.page-loader--leave { transition:none; }
.iw-navigation-skeleton { width:min(1240px,100%); padding:24px; margin:130px auto 0; }
.iw-skeleton-heading { width:35%; height:24px; margin-bottom:24px; }
.iw-skeleton-banner { width:100%; height:170px; margin-bottom:24px; }
.iw-skeleton-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.iw-skeleton-card { padding:12px; border:1px solid #e9edf1; border-radius:12px; }
.iw-skeleton-image { aspect-ratio:1; margin-bottom:16px; }
.iw-skeleton-line { height:13px; width:90%; margin-bottom:12px; }
.iw-skeleton-short { width:55%; }
.iw-search-loading,.iw-panel-skeleton { padding:20px; display:grid; gap:14px; }
.iw-search-loading .iw-skeleton-line,.iw-panel-skeleton .iw-skeleton-line { height:24px; margin:0; }
.iw-image-pending { background:linear-gradient(100deg,#edf0f3 25%,#f8f9fb 45%,#edf0f3 65%); background-size:220% 100%; animation:iw-skeleton-shimmer 1.6s linear infinite; }
.iw-image-pending > img.iw-image-loading { opacity:0; }
/* Existing AJAX overlays remain controlled by their own success/error flow. */
.product-shop #overlay { background:linear-gradient(100deg,#edf0f3cc,#fafbfcdd,#edf0f3cc); background-size:220% 100%; animation:iw-skeleton-shimmer 1.6s linear infinite; }
.product-shop #overlay .cv-spinner { visibility:hidden; }
@media(max-width:767px) { .iw-navigation-skeleton { margin-top:100px; padding:20px; } .iw-skeleton-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .iw-skeleton-banner { height:120px; } .iw-skeleton-heading { width:65%; } }
@media(prefers-reduced-motion:reduce) { .iw-skeleton,.iw-image-pending,.product-shop #overlay { animation:none; background:#edf0f3; } }
