/* Foto kartu tetap utuh, dengan pembesaran dibatasi resolusi sumber. */
.news-image,
.programs-card-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.news-image img,
.programs-card-image img,
.welcome-portrait-frame > .site-content-image,
.staff-person-photo > .site-content-image,
.extracurricular-photo > .site-content-image,
.home-admin-thumb img,
.home-admin-photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #ffffff;
}
/* Halaman detail mengikuti proporsi foto dan ukuran piksel aslinya. */
.news-image.is-cover.has-photo {
  aspect-ratio: auto;
  height: auto;
  min-height: 0;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding: 0;
}
.news-image.is-cover.has-photo > img {
  display: block;
  position: static;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border-radius: 4px;
}
.program-detail-hero .wrap > img {
  object-fit: scale-down;
  object-position: center;
}
.photo-upload-feedback {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
/* Bingkai Prestasi konsisten dengan kartu publik dan modal detail. */
.content-admin-list.publication-admin-grid.achievement-admin-grid > article > img,
.content-admin-list.publication-admin-grid.achievement-admin-grid > article > .home-admin-thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 2.2;
  object-fit: cover;
  object-position: center;
}
.achievement-admin-photo-preview {
  display: block;
  width: min(100%, 440px);
  height: auto;
  aspect-ratio: 2.2;
  object-fit: cover;
  object-position: center;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.achievement-category-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  border-radius: 30px;
  background: var(--green);
  color: white;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
  white-space: nowrap;
}
.achievement-category-tag svg {flex-shrink: 0;}
.achievement-category-tag.is-non-academic {background: var(--accent);color: var(--green-dark);}
.achievement-admin-grid .home-admin-row-actions .achievement-category-tag {margin-left: auto;}
.achievement-admin-grid h3,
dialog[aria-label="Edit prestasi"] h2,
dialog[aria-label="Tambah prestasi"] h2 {
  letter-spacing: normal;
  word-spacing: normal;
}

/* ============================================================
   ADMIN PUBLICATION CARDS (BERITA, PENGUMUMAN, EKSKUL, PRESTASI)
   Sama persis dengan kartu lanskap putih pada halaman publik beranda
   ============================================================ */
.content-admin-list.publication-admin-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important;
  gap: 24px !important;
  padding: 26px 30px 32px !important;
}

@media (max-width: 768px) {
  .content-admin-list.publication-admin-grid {
    padding: 18px 18px 24px !important;
    gap: 16px !important;
  }
}

.publication-admin-card,
.content-admin-list.publication-admin-grid > article {
  display: flex !important;
  flex-direction: column !important;
  background: var(--admin-surface, #ffffff) !important;
  background-color: var(--admin-surface, #ffffff) !important;
  border: 1px solid var(--admin-border, #e2e8f0) !important;
  border-radius: var(--admin-radius, 12px) !important;
  box-shadow: var(--admin-shadow, 0 2px 8px rgba(0, 0, 0, 0.04)) !important;
  overflow: hidden !important;
  min-width: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.publication-admin-card:hover,
.content-admin-list.publication-admin-grid > article:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px -4px rgba(0, 0, 0, 0.1) !important;
  border-color: var(--admin-brand, #4a7c38) !important;
}

.publication-card-image-wrap {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  height: 145px !important;
  max-height: 155px !important;
  overflow: hidden !important;
  background: var(--admin-subtle, #f1f5f9) !important;
  position: relative !important;
  border-bottom: 1px solid var(--admin-border-light, #f1f5f9) !important;
}

.publication-card-image-wrap img,
.content-admin-list.publication-admin-grid > article > img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 10 !important;
  max-height: 155px !important;
  object-fit: cover !important;
  object-position: center !important;
  background: transparent !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.publication-admin-card:hover .publication-card-image-wrap img,
.content-admin-list.publication-admin-grid > article:hover > img {
  transform: scale(1.02) !important;
}

/* Placeholder bersih tanpa latar belakang hijau */
.publication-placeholder-clean,
.content-admin-list.publication-admin-grid > article > .home-admin-thumb {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 10 !important;
  max-height: 155px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--admin-subtle, #f8fafc) !important;
  color: var(--admin-muted, #94a3b8) !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  border-radius: 0 !important;
}

.publication-placeholder-clean svg,
.content-admin-list.publication-admin-grid > article > .home-admin-thumb svg {
  color: var(--admin-muted, #94a3b8) !important;
  stroke: var(--admin-muted, #94a3b8) !important;
}

.publication-card-body,
.content-admin-list.publication-admin-grid > article > div:nth-child(2) {
  padding: 14px 16px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  background: var(--admin-surface, #ffffff) !important;
}

.publication-card-body .admin-eyebrow,
.content-admin-list.publication-admin-grid > article .admin-eyebrow {
  font-size: 11px !important;
  font-weight: 750 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--admin-muted, #64748b) !important;
  margin-bottom: 4px !important;
}

.publication-card-title,
.content-admin-list.publication-admin-grid > article h3 {
  font-size: 15.5px !important;
  font-weight: 750 !important;
  color: var(--admin-ink, #0f172a) !important;
  line-height: 1.4 !important;
  margin: 0 0 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.publication-card-status {
  margin-top: auto !important;
  padding-top: 6px !important;
}

.publication-card-actions,
.content-admin-list.publication-admin-grid > article .home-admin-row-actions {
  padding: 10px 16px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-top: 1px solid var(--admin-border-light, #f1f5f9) !important;
  background: var(--admin-surface, #ffffff) !important;
  width: 100% !important;
  margin-top: auto !important;
}

.publication-empty {
  padding: 24px 30px 32px !important;
  color: #64748b !important;
  margin: 0 !important;
}

.publication-card-actions .admin-btn {
  font-size: 13px !important;
  padding: 7px 14px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.publication-card-actions .edit-btn {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
}

.publication-card-actions .edit-btn:hover {
  background: #e2e8f0 !important;
}

.publication-card-actions .delete-btn {
  background: #fff1f2 !important;
  color: #e11d48 !important;
  border: 1px solid #ffe4e6 !important;
  cursor: pointer !important;
}

.publication-card-actions .delete-btn:hover {
  background: #ffe4e6 !important;
}

/* Meta detail & thumbnail untuk ekstrakurikuler */
.ekskul-admin-meta-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 8px 0 12px !important;
  padding: 10px 12px !important;
  background: #f8fafc !important;
  border-radius: 8px !important;
  border: 1px solid #f1f5f9 !important;
}

.ekskul-admin-meta-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
  color: #64748b !important;
}

.ekskul-admin-meta-item strong {
  color: #1e293b !important;
  font-weight: 600 !important;
}

.ekskul-admin-gallery-preview {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 4px !important;
}

.ekskul-admin-gallery-preview img {
  width: 38px !important;
  height: 38px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  border: 1px solid #e2e8f0 !important;
}

.ekskul-admin-gallery-more {
  width: 38px !important;
  height: 38px !important;
  border-radius: 6px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #e2e8f0 !important;
}

