.visual-text-page .page-header {
    padding: var(--size-7) var(--size-6);
}

.visual-text-page .page-header h1 {
    margin: 0;
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: var(--font-weight-8);
    line-height: 1;
    color: var(--site-accent);
}

.films-grid {
    display: grid;
    gap: var(--size-5);
}

.film-card {
    display: grid;
    grid-template-columns: minmax(200px, 1fr) minmax(0, 1.2fr);
    overflow: hidden;
    transition: border-color 0.3s, background 0.3s;
}

.film-card:hover {
    border-color: rgba(255, 255, 255, 0.16);
    background: var(--site-panel-strong);
}

.film-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
}

.play-icon {
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.15);
    line-height: 1;
}

.film-info {
    padding: var(--size-5);
    align-self: center;
}

.film-card h2 {
    margin: 0;
    font-size: 1.4rem;
    font-weight: var(--font-weight-7);
    line-height: 1.2;
}

.back-link {
    display: inline-block;
    margin-top: var(--size-6);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-round);
    color: var(--site-text-muted);
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
}

.back-link:hover {
    color: var(--site-text);
    background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 680px) {
    .film-card {
        grid-template-columns: 1fr;
    }
}
