.rpp-page { max-width: 1200px; padding: 24px 0px; }
.rpp-intro { font-size: 16px; line-height: 1.55; margin: 0 0 32px; }

.rpp-section-title { font-size: 22px; line-height: 1.3; margin: 40px 0 16px; }
.rpp-section-title a { color: #0b5ea8; text-decoration: none; }
.rpp-section-title a:hover { text-decoration: underline; }

.rpp-subsection-title { font-size: 17px; line-height: 1.35; margin: 28px 0 12px; color: #444; }

.rpp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
    margin: 0 0 12px;
}

.rpp-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    transition: box-shadow .15s ease, transform .15s ease;
}
.rpp-card:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
    transform: translateY(-1px);
}

.rpp-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 160px;
    padding: 12px;
    border-bottom: 1px solid #eee;
}
.rpp-card__media img { max-width: 100%; max-height: 100%; object-fit: contain; }

.rpp-card__body { padding: 14px 16px 16px; flex: 1; background: #fafafa;}

.rpp-card__title { font-size: 14px; line-height: 1.35; margin: 0 0 10px; font-weight: 600; }
.rpp-card__title a { color: #0b5ea8; text-decoration: none; }
.rpp-card__title a:hover { text-decoration: underline; }

.rpp-card__specs {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 4px 10px;
    margin: 0;
    font-size: 12.5px;
    line-height: 1.4;
}
.rpp-card__specs dt { color: #888; }
.rpp-card__specs dd { margin: 0; color: #222; }
.rpp-card__specs dd strong { color: #000; }

.rpp-section-title a {
    color: #000 !important;
}

.rpp-empty { color: #888; font-style: italic; }

h2::before {
    margin-bottom: -5px;
}

@media (max-width: 480px) {
    .rpp-grid { grid-template-columns: 1fr; }
    .rpp-section-title { font-size: 19px; }
    .rpp-subsection-title { font-size: 16px; }
}