/* Content stays in its final layout while pictures arrive. */
html body.loading-active { overflow: auto !important; }
html body #global-preloader { display: none !important; visibility: hidden !important; pointer-events: none !important; }
:root { --skeleton-base: #e4e5e7; --skeleton-light: #f5f5f6; }
[data-theme="dark"], body.dark-mode { --skeleton-base: #293039; --skeleton-light: #3b444f; }
html.kayan-skeleton-enabled .royal-img-wrapper.has-img:not([data-media-state="ready"]):not([data-media-state="failed"]),
.kayan-media-shell:not([data-media-state="ready"]):not([data-media-state="failed"]) { background: var(--skeleton-base) !important; }
html.kayan-skeleton-enabled .royal-img-wrapper.has-img:not([data-media-state="ready"]):not([data-media-state="failed"]) > img,
.kayan-media-shell:not([data-media-state="ready"]):not([data-media-state="failed"]) > img { opacity: 0 !important; }
.kayan-media-shell { position: relative; overflow: hidden; }
.kayan-skeleton-surface { position: absolute; inset: 0; display: block; z-index: 2; border-radius: inherit; pointer-events: none; background: var(--skeleton-base); overflow: hidden; }
.kayan-skeleton-surface::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 15%, var(--skeleton-light) 48%, transparent 80%); transform: translateX(-100%); animation: kayan-skeleton-shine 1.45s ease-in-out infinite; }
[data-media-state="ready"] > .kayan-skeleton-surface,
[data-media-state="failed"] > .kayan-skeleton-surface { display: none; }
[data-media-state="ready"] > img { opacity: 1; }
html.kayan-navigation-pending body :is(.royal-img-wrapper,.main-banner,.search-container,.royal-content,.cat-title-text,.price-box) { position: relative; color: transparent !important; background: var(--skeleton-base) !important; border-color: transparent !important; }
.kayan-navigation-pending :is(.royal-img-wrapper,.royal-content,.search-container) { animation: kayan-skeleton-pulse 1.15s ease-in-out infinite alternate; }
.kayan-navigation-pending :is(.royal-img-wrapper,.royal-content,.search-container) > * { visibility: hidden !important; }
/* Header and sidebar retain their final appearance during navigation. */
.kayan-load-status { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@keyframes kayan-skeleton-shine { to { transform: translateX(100%); } }
@keyframes kayan-skeleton-pulse { to { background-color: var(--skeleton-light); } }
@media (prefers-reduced-motion: reduce) { .kayan-skeleton-surface::after, .kayan-navigation-pending * { animation: none !important; } }
/* With scripts disabled, never conceal pictures or trap visitors in a loader. */
