.pvdc-section {
    width: 100%;
    clear: both;
    margin: 42px 0 36px;
    box-sizing: border-box;
}

.pvdc-section *,
.pvdc-section *::before,
.pvdc-section *::after {
    box-sizing: border-box;
}

.pvdc-inner {
    width: 100%;
    margin: 0 auto;
}

/* Vyšší specifičnost brání šabloně v nechtěném zvětšení typografie. */
.pvdc-section .pvdc-heading {
    margin: 0 0 24px;
    padding: 0;
    font-size: clamp(28px, 2.4vw, 38px);
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.pvdc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
}

.pvdc-grid-1 { grid-template-columns: minmax(0, 1fr); max-width: 520px; }
.pvdc-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pvdc-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }

.pvdc-item {
    min-width: 0;
    margin: 0;
}

.pvdc-image-link {
    display: block;
    width: 100%;
    overflow: hidden;
    background: #ededed;
    text-decoration: none;
}

.pvdc-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .28s ease;
}

.pvdc-ratio-16-9 .pvdc-image-link { aspect-ratio: 16 / 9; }
.pvdc-ratio-3-2 .pvdc-image-link { aspect-ratio: 3 / 2; }
.pvdc-ratio-4-3 .pvdc-image-link { aspect-ratio: 4 / 3; }
.pvdc-ratio-original .pvdc-image-link { aspect-ratio: auto; }
.pvdc-ratio-original .pvdc-image { height: auto; }

.pvdc-item:hover .pvdc-image { transform: scale(1.025); }

.pvdc-section .pvdc-meta {
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
}

.pvdc-section .pvdc-title {
    margin: 5px 0 0;
    padding: 0;
    font-size: clamp(17px, 1.25vw, 21px);
    line-height: 1.35;
    font-weight: 700;
}

/* Barvu odkazu ani stav po najetí plugin neurčuje. Přebírá je šablona. */
.pvdc-section .pvdc-title a {
    text-decoration: none;
}

.pvdc-section .pvdc-excerpt {
    margin: 5px 0 0;
    font-size: 14px;
    line-height: 1.55;
}

.pvdc-placeholder {
    min-height: 220px;
    background: linear-gradient(135deg, #e8e8e8, #f6f6f6);
}

@media (max-width: 1024px) {
    .pvdc-grid,
    .pvdc-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px;
    }
}

@media (max-width: 640px) {
    .pvdc-section { margin: 30px 0; }
    .pvdc-section .pvdc-heading {
        margin-bottom: 20px;
        font-size: 28px;
    }
    .pvdc-grid,
    .pvdc-grid-2,
    .pvdc-grid-4 {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .pvdc-section .pvdc-title { font-size: 19px; }
    .pvdc-section .pvdc-excerpt { font-size: 14px; }
}
