/* ============================================================
   Projek Terkini — poster cards (posters are shown whole; text is baked into the images)
   NOTE: Loaded after tm-projek.css, overrides the first background-image card style.
   ============================================================ */

/* 2 big cards per row so the poster text stays readable */
.pj-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
.pj-card__face {
  display: flex; flex-direction: column; align-items: stretch; min-height: 0; padding: 12px; overflow: visible;
  background: linear-gradient(160deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); background-image: none;
  border: 1px solid var(--line); border-radius: 30px;
  backdrop-filter: blur(10px);
}
.pj-card__face::before { display: none; }
.pj-card__face::after { border-radius: inherit; }

.pj-card__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 20px; background: #0d2442; }
.pj-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s var(--ease); }
.pj-card__face:hover .pj-card__media img { transform: scale(1.05); }
.pj-card__no { position: absolute; top: 10px; left: 14px; right: auto; font: 700 2.2rem/1 "Fraunces", Georgia, serif; color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.85); text-shadow: 0 2px 14px rgba(7,20,39,.6); }
.pj-card__tick {
  position: absolute; top: auto; left: auto; right: 12px; bottom: 12px; width: auto; height: auto; display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px 7px 10px; font-size: .76rem; font-weight: 800; color: #1a1204; border-radius: 999px; background: var(--gold);
  transform: scale(0); transform-origin: bottom right; transition: transform .45s cubic-bezier(.34,1.56,.64,1);
}
.pj-card__radio:checked + .pj-card__face .pj-card__tick { transform: none; }

.pj-card__body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 18px 10px 8px; }
.pj-card__name { font-size: 1.45rem; }
.pj-card__desc { -webkit-line-clamp: 4; }
.pj-card__meta { display: flex; flex-wrap: wrap; gap: 8px; }
.pj-card__meta span { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; font-size: .76rem; font-weight: 600; color: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(7,20,39,.5); }
.pj-card__meta i { color: var(--gold); font-size: .8rem; }
.pj-card__foot { margin-top: auto; }

/* chosen-project panel: whole poster on top, details below (same as Unit Untuk Disewa) */
.pj-chosen__bg { inset: 0 0 auto 0; height: auto; aspect-ratio: 16 / 9; background-size: cover; background-position: center; }
.pj-chosen::before { background: linear-gradient(180deg, rgba(7,20,39,0) 0%, rgba(7,20,39,0) 22%, rgba(7,20,39,.96) 46%, #071427 100%); }
.pj-chosen::after { display: none; }
.pj-chosen__info { padding-top: 0; pointer-events: none; visibility: hidden; transition: opacity .5s ease .1s, transform .6s var(--ease) .1s, visibility 0s linear .6s; }
.pj-chosen[data-state="filled"] .pj-chosen__info { pointer-events: auto; visibility: visible; transition: opacity .5s ease .1s, transform .6s var(--ease) .1s; }
.pj-chosen__empty { z-index: 2; }
.pj-chosen[data-state="filled"] .pj-chosen__empty { z-index: 0; }
.pj-chosen__call { display: inline-flex; align-items: center; gap: 12px; margin: 0 10px 8px 0; padding: 8px 20px 8px 8px; color: #fff; text-decoration: none; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); transition: background .25s, color .25s; }
.pj-chosen__call[hidden] { display: none; }
.pj-chosen__call > i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--gold); color: #1a1204; }
.pj-chosen__call small { display: block; font-size: .68rem; opacity: .8; }
.pj-chosen__call b { font-size: .92rem; }
.pj-chosen__call:hover { background: var(--gold); color: #1a1204; }

@media (max-width: 767px) { .pj-grid { grid-template-columns: 1fr; } .pj-card__face { min-height: 0; } }
@media (max-width: 991px) { .pj-chosen { min-height: 0; } .pj-chosen__info { padding-top: 230px; } .pj-chosen__empty { position: relative; padding: 60px 30px; } }
