/* Shared movie/series cards and poster treatment across the theme. */
.kubhd-card, .kubhd-card *, .kubhd-poster, .kubhd-poster * { box-sizing: border-box; }
.kubhd-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 22px; }
.kubhd-card-grid > * { min-width: 0; }
.kubhd-card { min-width: 0; transform: none; transition: none; }
.kubhd-poster { position: relative; width: 100%; border-radius: 12px; overflow: hidden; background: #111b2a; aspect-ratio: 2 / 3; }
.kubhd-poster img { display: block; width: 100%; height: 100%; margin: 0; border: 0; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 12px; transform: none; }
.kubhd-card .title { padding-top: 10px; }
.kubhd-card .title span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; color: #e2e8f0; text-align: left; font-size: 14px; font-weight: 600; line-height: 1.55; min-height: 3.1em; }
.post-list.kubhd-card .badge-lang { background: rgba(15, 23, 42, .92); color: #f8fafc; padding: 4px 7px; font-size: 11px; line-height: 1.35; border-radius: 6px; }
.kubhd-card .uni-recomment-badge { right: 4px; bottom: 4px; background: rgba(15, 23, 42, .9); border-radius: 6px; }
.kubhd-card .uni-recomment-badge > span { margin: 0; padding: 3px 6px; }
.kubhd-card .uni-recomment-badge span { color: #f8fafc; }
.kubhd-card:focus-within .title span { color: #93c5fd; }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .kubhd-poster img { transition: transform .2s ease; }
    .kubhd-card:hover img { transform: scale(1.03); }
    .kubhd-card:hover .title span { color: #fff; }
}
@media (min-width: 640px) { .kubhd-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 16px; } }
@media (min-width: 1200px) { .kubhd-card-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.kubhd-poster > a, .kubhd-poster picture { display: block; width: 100%; height: 100%; }
.kubhd-poster-placeholder { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: #94a3b8; font-weight: 700; letter-spacing: .12em; }
.kubhd-card .title a { display: block; }
.kubhd-card .badge-update { padding: 4px 7px; font-size: 11px; line-height: 1.35; border-radius: 6px; }
.kubhd-card a:focus-visible { outline: 2px solid #93c5fd; outline-offset: 3px; border-radius: 6px; }
.kubhd-poster:focus-within { outline: 2px solid #93c5fd; outline-offset: 3px; }
.kubhd-trailer, .kubhd-trailer * { box-sizing: border-box; }
.kubhd-trailer { width: 100%; }
.kubhd-trailer-poster .kubhd-poster { width: 50%; margin: 0 auto; }
@media (min-width: 768px) { .kubhd-trailer-poster .kubhd-poster { width: 100%; } }
