/* SekolahKu Custom v1.1 — UI Stability & Compatibility
 * Tambahan defensif untuk konten nyata, perangkat kecil, dan media berukuran ekstrem.
 */
.cms-public-stability .container,
.cms-public-stability .header-inner,
.cms-public-stability .hero-grid,
.cms-public-stability .about-grid,
.cms-public-stability .news-layout,
.cms-public-stability .news-main,
.cms-public-stability .news-sidebar,
.cms-public-stability .footer-grid,
.cms-public-stability .contact-grid,
.cms-public-stability .row,
.cms-public-stability article,
.cms-public-stability aside {
  min-width: 0;
}

.cms-public-stability img,
.cms-public-stability video,
.cms-public-stability iframe,
.cms-public-stability embed,
.cms-public-stability object {
  max-width: 100%;
}


.cms-public-stability .sp-cover img,
.cms-public-stability .sp-body img,
.cms-public-stability .page-content img,
.cms-public-stability .article-content img {
  max-width: 100%;
  height: auto;
}

.cms-public-stability .sp-body iframe,
.cms-public-stability .page-content iframe,
.cms-public-stability .article-content iframe {
  width: 100%;
  max-width: 100%;
}

.cms-public-stability .sp-body table,
.cms-public-stability .page-content table,
.cms-public-stability .article-content table {
  display: block;
  width: max-content;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
}

.cms-public-stability .sp-body pre,
.cms-public-stability .page-content pre,
.cms-public-stability .article-content pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.cms-public-stability .sp-body,
.cms-public-stability .sp-body p,
.cms-public-stability .sp-body li,
.cms-public-stability .sp-body a,
.cms-public-stability .page-content,
.cms-public-stability .page-content p,
.cms-public-stability .page-content li,
.cms-public-stability .page-content a,
.cms-public-stability .news-card,
.cms-public-stability .news-card h3,
.cms-public-stability .news-card p,
.cms-public-stability .teacher-card,
.cms-public-stability .achievement-card,
.cms-public-stability .testimonial-card,
.cms-public-stability .event-card,
.cms-public-stability .ki-card,
.cms-public-stability .footer,
.cms-public-stability .footer a {
  overflow-wrap: anywhere;
  word-break: normal;
}

.cms-public-stability input,
.cms-public-stability select,
.cms-public-stability textarea,
.cms-public-stability button {
  max-width: 100%;
}

.cms-public-stability .lightbox-content {
  width: auto;
  height: auto;
  max-width: min(100%, 1200px);
  max-height: calc(100dvh - 80px);
  object-fit: contain;
}

.cms-public-stability .nav,
.cms-public-stability .nav-dd-menu {
  overscroll-behavior: contain;
}

@media (max-width: 768px) {
  .cms-public-stability .logo {
    min-width: 0;
  }

  .cms-public-stability .logo span {
    min-width: 0;
    max-width: 58vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cms-public-stability .nav {
    max-height: calc(100dvh - 88px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .cms-public-stability .sp-top,
  .cms-public-stability .sp-body,
  .cms-public-stability .sp-share {
    padding-left: 22px;
    padding-right: 22px;
  }

  .cms-public-stability .sp-share {
    flex-wrap: wrap;
  }
}

@media (max-width: 420px) {
  .cms-public-stability .logo span {
    max-width: 50vw;
  }

  .cms-public-stability .sp-top,
  .cms-public-stability .sp-body,
  .cms-public-stability .sp-share {
    padding-left: 18px;
    padding-right: 18px;
  }

  .cms-public-stability .sp-meta {
    gap: 10px 14px;
  }
}

/* v1.2 school logo branding: preserve original layout while supporting uploaded logo */
.site-logo-image{display:block;object-fit:contain;flex:0 0 auto}
.public-site-logo{width:auto;max-width:48px;height:42px;max-height:42px}
.footer-site-logo{width:auto;max-width:52px;height:44px;max-height:44px}
@media (max-width:768px){.public-site-logo{max-width:42px;height:36px;max-height:36px}.footer-site-logo{max-width:46px;height:40px;max-height:40px}}

