.gallery { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.gcard__link { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--border); border-radius: var(--radius-m); overflow: hidden; background: var(--surface); text-decoration: none; color: inherit; transition: border-color .15s, transform .15s; }
.gcard__link:hover { border-color: var(--accent); transform: translateY(-1px); }
.gcard__thumb { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--bg); overflow: hidden; }
.gcard__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gcard__body { display: grid; gap: 4px; padding: 10px 12px; }
.gcard__title { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.gcard__meta { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--muted); }
.pcard__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--border-strong); }
.pcard__type { position: absolute; left: 8px; top: 8px; background: rgba(0,0,0,.55); color: #fff; }
.share-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
.share-grid--card_news, .share-grid--thumbnail, .share-grid--poster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.share-item { margin: 0; }
.share-item img, .share-item video { display: block; width: 100%; height: auto; border-radius: var(--radius-s); border: 1px solid var(--border); background: #000; }
.share-item figcaption { margin-top: 4px; font-size: 12.5px; color: var(--muted); }
.summary--wide { grid-template-columns: 140px 1fr; font-size: 13.5px; }
.btn.is-liked { color: #E0457B; border-color: #E0457B; }
@media (min-width: 768px) { .gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } .share-grid--card_news, .share-grid--thumbnail, .share-grid--poster { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); } .share-grid--card_news { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1500px) { .gallery { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.summary--wide dd { font-family: inherit; }
