/* Loading-state shimmer for CMS-bound content placeholders */
@keyframes cms-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.cms-loading {
  position: relative;
  color: transparent !important;
  /* Override any background-image (inline styles, Tailwind bg-[url(...)]) */
  background-image: none !important;
  background-color: transparent !important;
  background: linear-gradient(90deg, 
    rgba(128, 128, 128, 0.1) 25%, 
    rgba(128, 128, 128, 0.2) 50%, 
    rgba(128, 128, 128, 0.1) 75%
  ) !important;
  background-size: 200% 100% !important;
  animation: cms-shimmer 1.5s infinite !important;
  border-radius: 12px;
  min-height: 1em;
  min-width: 3em;
  overflow: hidden;
}
.cms-loading * {
  visibility: hidden !important;
}
.cms-loading img {
  opacity: 0 !important;
}

/* Mobile-width safety guards for embedded/shared preview iframes */
@media (max-width: 639px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #root {
    max-width: 100% !important;
  }

  img,
  video,
  canvas,
  svg {
    max-width: 100%;
  }

}

/* Offline/pre-hydration visibility fallback */
/* offline: ensure content is visible regardless of JS init state */
html,body{opacity:1!important;visibility:visible!important}
.page-loader,.site-loader,[class*='loading-screen'],[id*='loading-screen']{display:none!important}
