/* elysium-fallback.css
 * Added by the Elysium convert.  Two jobs only:
 *  1. collapse the media boxes whose image files were never captured, so the
 *     theme never shows a broken icon or an empty grey block;
 *  2. keep the few widgets whose (missing) plugin scripts are now re-driven
 *     from assets/js/site-render.js looking the way the theme intended. */

/* ---- 1. lost images ---------------------------------------------------- */
img.ely-broken { display: none !important; }

.card-img:not(:has(img)),
.sidebar-thumb:not(:has(img)),
.pro-footer-logo:not(:has(img)) img,
.member:not(:has(img)),
.swiper-slide:not(:has(img)):not(:has(iframe)),
.carousel-item:not(:has(img)):not(:has(iframe)) > a:first-child,
.buku-idai-header:not(:has(img)),
.publikasi-direct-links a:not(:has(img)) { display: none !important; }

.card-img.ely-noimg,
.sidebar-thumb.ely-noimg,
.member.ely-noimg,
.buku-idai-header.ely-noimg { display: none !important; }

.sidebar-thumb.ely-noimg + .sidebar-content,
.sidebar-thumb:not(:has(img)) + .sidebar-content { padding-left: 0; }

/* a board member with no photo still has to show who it is */
.protip .member-name {
  display: block;
  font-size: 11px;
  line-height: 1.25;
  text-align: center;
  padding: 6px 2px;
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 4px;
  min-height: 64px;
  overflow: hidden;
  word-break: break-word;
}

/* ---- 2. widgets driven by site-render.js ------------------------------- */
#sm_menu_ham { display: none; }
@media (max-width: 767px) { #sm_menu_ham { display: block; } }

.swiper-container { overflow: hidden; }
.swiper-wrapper { display: block; }
.swiper-wrapper > .swiper-slide { display: none; }
.swiper-wrapper > .swiper-slide.ely-active { display: block; }
.swiper-pagination { text-align: center; padding: 6px 0; }
.swiper-pagination .ely-bullet {
  display: inline-block; width: 8px; height: 8px; margin: 0 4px;
  border-radius: 50%; background: #000; opacity: .25; cursor: pointer;
}
.swiper-pagination .ely-bullet.ely-active { opacity: .9; }

.ui-tabs-panel.ui-tabs-hide { display: none; }
.ui-tabs-nav-item.ely-active .arrow { font-weight: 700; }

/* ---- 3. containers added to host JSON data ----------------------------- */
.ely-branch-card .card-desc p,
.ely-partner-card .card-desc p { margin: 0 0 .25rem; font-size: .9rem; word-break: break-word; }
.ely-partner-logo { max-height: 70px; max-width: 100%; object-fit: contain; }
.ely-profile-table th { width: 34%; white-space: nowrap; vertical-align: top; }
.ely-socmed-list { list-style: none; padding: 0; margin: 0; }
.ely-socmed-list li { display: inline-block; margin: 0 .35rem .35rem 0; }
.ely-socmed-list a { display: inline-flex; align-items: center; gap: .35rem; }
