.zkp-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.2;
}

h1.page-title {
    font-size: 2.5em;
    color: #333;
    text-align: center;
    margin-bottom: 20px;
}

.zkp-main-content-area {
    padding-top: 20px;
    padding-bottom: 40px;
}

.zkp-centers-count {
    font-size: 1.1em;
    color: #666;
    margin-top: 10px;
    margin-bottom: 30px;
    text-align: left; /* Align to left to match screenshot */
}

.partner-cards-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); /* Adjusted for wider cards */
    gap: 20px;
    margin-top: 20px;
}

.partner-card {
    background-color: #fff;
    border: 1px solid #e0e0e0; /* Lighter border */
    border-radius: 12px; /* More rounded corners */
    /* box-shadow: 0 4px 12px rgba(0,0,0,0.08); /* Stronger, softer shadow - УБРАНО */
    transition: none; /* Отключаем все переходы */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 200px; /* Увеличиваем минимальную высоту карточки */
}

.partner-card:hover {
    transform: none; /* Отключаем поднятие */
    box-shadow: none; /* Убираем тень при наведении */
}

.partner-card-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.partner-card a {
    text-decoration: none;
    color: inherit;
    display: block;
}

.partner-logo {
    width: 56px;
    height: auto; /* Позволяем высоте подстраиваться */
    max-height: 56px; /* Ограничиваем максимальную высоту */
    object-fit: contain; /* Сохраняем пропорции */
    margin-right: 15px;
    border-radius: 8px;
    flex-shrink: 0;
    /* background:#f1f1f1; - убрано, так как перекрывается изображением */
}

.partner-logo-placeholder {
    width: 60px;
    height: 60px;
    background-color: #f0f0f0; /* Light grey placeholder */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8em;
    color: #bbb;
    border-radius: 8px;
    margin-right: 15px;
    flex-shrink: 0;
}

.partner-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    min-height: 70px; /* Увеличиваем высоту заголовка для лучшего выравнивания */
}

.partner-info-main {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Удаляем стили для иконки местоположения, так как сама иконка и текст будут удалены */
.partner-location {
    display: none;
}

.partner-location::before {
    display: none;
}

.partner-title {
    font-size: 1.4em;
    font-weight: 600;
    color: #333; /* Darker title */
    margin: 0;
    line-height: 1.3;
}

.partner-rating-block {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto; /* Прижимает блок рейтинга к низу, если карточка высокая */
    padding-top: 15px; /* Отступ сверху для блока рейтинга */
    border-top: 1px solid #eee; /* Разделитель */
}

.partner-rating-value {
    font-size: 1.2em;
    font-weight: 700;
    color: #ff8000; /* Orange color for rating */
}

.partner-rating-star::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='#ff8000' stroke='#ff8000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-star'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 2px;
}

.partner-reviews-count {
    font-size: 0.95em;
    color: #666;
}

.partner-meta-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px; /* Adjust margin to fit screenshot */
}

.partner-meta-tag {
    background-color: #e6f2ff; /* Light blue background */
    color: #0056b3; /* Dark blue text */
    padding: 6px 12px;
    border-radius: 20px; /* Pill shape */
    font-size: 0.85em;
    white-space: nowrap;
}

/* Single Partner Page - Detailed Styling */
.partner-term {
    background-color: #fff;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 40px;
}

.partner-term .entry-header {
    text-align: left; /* Заголовок H1 слева */
    margin-bottom: 25px;
    border-bottom: 1px solid #eee; /* Разделитель под заголовком */
    padding-bottom: 15px;
}

.partner-term .entry-title {
    font-size: 2.5em; /* Больше H1 */
    color: #222; /* Более темный цвет */
    margin: 0;
    line-height: 1.2;
}

.partner-term .entry-content h2 {
    font-size: 1.8em;
    color: #333;
    border-top: none;
    padding-bottom: 8px;
    margin-top: 0.8em; /* Уменьшаем отступ сверху еще чуть-чуть */
    margin-bottom: 1em;
}

.partner-term .entry-content h3 {
    font-size: 1.4em;
    color: #444;
    margin-top: 2em;
    margin-bottom: 0.8em;
}

.partner-single-logo {
    display: block;
    max-width: 250px; /* Увеличил размер логотипа на детальной странице */
    margin: 30px 0; /* Отступы */
    border: 1px solid #f0f0f0;
    padding: 15px;
    background-color: #f9f9f9;
    border-radius: 8px;
}

/* Стили для списков (Гарантии, Преимущества) */
.partner-term ul {
    list-style: none;
    padding: 0;
    margin-left: 0;
}

.partner-term ul li {
    padding: 8px 0;
    border-bottom: 1px dashed #f5f5f5; /* Легкий пунктир */
    display: flex;
    align-items: center;
    font-size: 1.05em;
    color: #555;
}

.partner-term ul li:last-child {
    border-bottom: none;
}

.partner-term ul li::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='#28a745' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-check-circle'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpath d='M22 4L12 14.01l-3-3'/%3E%3C/svg%3E"); /* Иконка галочки */
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
    width: 18px; /* Размер иконки */
    height: 18px;
    flex-shrink: 0;
}

.partner-gallery,
.partner-documents {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.partner-gallery img,
.partner-documents img {
    max-width: 100%;
    height: auto;
    display: block;
    border: 1px solid #ddd;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.partner-documents p {
    grid-column: 1 / -1; /* Заголовок на всю ширину */
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

/* Review form - enhanced styling */
.partner-review-form {
    background-color: #fcfcfc;
    border: 1px solid #e6e6e6;
    padding: 20px;
    border-radius: 10px;
}
.partner-review-form .zkp-field { margin-bottom: 16px; }
.partner-review-form label { font-weight: 600; margin-bottom: 6px; display: inline-block; color: #333; }
.partner-review-form input[type="text"],
.partner-review-form textarea {
    width: 100%;
    border: 1px solid #dcdcdc;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 14px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.03);
}
.partner-review-form .zkp-publish-as .radio { margin-right: 14px; font-weight: 500; }
.partner-review-form .zkp-actions { margin-top: 10px; }
/* Кнопка сделать, как .btn из core */
.partner-review-form .zkp-submit {
    background:#005bff; /* синий как в разделе */
    color:#fff;
    border-radius:10px;
    padding:12px 18px;
    font-weight:600;
    box-shadow:0 1px 0 rgba(0,0,0,.06);
    border:0;
}
.partner-review-form .zkp-submit:hover { text-decoration:none; opacity:.92; color:#fff; }

/* Stars */
.zkp-stars { font-size: 26px; color: #ccc; cursor: pointer; display: inline-block; user-select: none; }
.zkp-stars .star { margin-right: 4px; display: inline-block; pointer-events: auto; cursor: pointer; }
.zkp-stars .star.active, .zkp-stars .star.hover { color: #ffb300; }

/* Radio based stars */
.zkp-stars input[type="radio"]{ position:absolute; opacity:0; width:0; height:0; }
.zkp-stars .star-label{ font-size:26px; color:#ccc; cursor:pointer; margin-right:4px; }
.zkp-stars .star-label.active, .zkp-stars .star-label.hover{ color:#ffb300; }

/* Inline stars for reviews list */
.zkp-stars-inline{ color:#ffb300; font-size:16px; letter-spacing:1px; }

/* Стили для карточек отзывов */
.partner-reviews-list {
    margin-top: 0; /* Удаляем внешний отступ сверху */
    border-top: none; /* Удаляем горизонтальную линию */
    padding-top: 0; /* Удаляем внутренний отступ сверху */
}

.partner-review-card {
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.partner-review-card p {
    margin-bottom: 8px;
    line-height: 1.6;
}

.partner-review-card strong {
    color: #222;
    font-weight: 700;
}

.partner-review-card .review-text {
    font-style: italic;
    color: #555;
    margin-top: 10px;
    line-height: 1.5;
}

/* Single Partner Page - Layout */
.zkp-single-partner-layout {
    display: flex;
    flex-direction: column; /* По умолчанию на мобильных устройствах - колонки */
    gap: 30px;
}

@media (min-width: 992px) { /* Десктопная версия */
    .zkp-single-partner-layout {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-start;
    }

    .zkp-reviews-column {
        flex: 0 0 70%;
        max-width: 70%;
        padding-right: 30px;
        border-right: none; /* убираем вертикальную линию */
    }

    .zkp-info-column {
        flex: 1;
        max-width: 30%;
        /* padding-left: 30px;  больше не нужен, переносим на общий padding */
    }
}

/* Adjustments for headers within columns */
.zkp-reviews-column h3 {
    font-size: 1.8em; /* Соответствует H2 информации */
    color: #333;
    border-bottom: 1px solid #ddd;
    padding-bottom: 8px;
    margin-top: 0.8em; /* Отступ сверху */
    margin-bottom: 1em;
}

.zkp-info-column h2 {
    margin-top: 0; /* Убираем верхний отступ, так как колонка уже имеет gap */
}

/* Existing styles adjustment */
.partner-term .entry-content .zkp-content-area {
    padding: 0; /* Убираем padding, так как его будут контролировать колонки */
}

.partner-term .entry-content h2, .partner-term .entry-content h3 {
    /* Стили уже определены выше или будут переопределены специфичнее */
    border-top: none;
}

/* Remove top line above reviews column */
.zkp-reviews-column {
    border-top: none !important;
}
.zkp-reviews-column hr {
    display: none;
    border: 0;
}
.zkp-reviews-column > *:first-child {
    margin-top: 0;
}

/* Info column full outline */
.zkp-info-column {
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    background-color: #fff;
    padding: 20px; /* внутренние отступы внутри карточки */
}

/* Линия под заголовком тянется во всю ширину карточки (от края до края) */
.zkp-info-column h2 {
    display: block;
    margin: 0 -20px 1em; /* выносим заголовок за пределы паддингов слева и справа */
    padding: 0 20px 8px; /* возвращаем отступы для текста и место под линию */
    border-bottom: 1px solid #ddd; /* сама линия */
}

/* Title with logo */
.zkp-partner-title { display: flex; align-items: center; gap: 10px; }
.zkp-partner-title-logo { width: 48px; height: 48px; object-fit: contain; border-radius: 4px; vertical-align: middle; }

/* Рейтинг и количество отзывов в карточке партнера на странице курса */
.zkp-rating-stars {
    color: #ffb300; /* Желтый цвет для звезд */
    font-size: 16px;
    letter-spacing: 1px;
    white-space: nowrap;
    vertical-align: middle;
    margin-left: 5px; /* Небольшой отступ от текста "Отзывов:" */
}

/* Rating near partner title in listing */
.partner-title-rating{ font-size:14px; color:#ffb300; font-weight:700; margin-left:8px; vertical-align:middle; }
.partner-title-rating .star{ color:#ffb300; }

/* Reviews count under partner title */
.partner-reviews-under-title{ font-size:12px; color:#6b7280; margin-top:2px; display:block; padding-bottom:10px; border-bottom:1px solid #eee; margin-bottom:10px; }

/* Partner logo in centers listing */
/* .partner-logo{ width:56px; height:56px; object-fit:cover; border-radius:8px; background:#f1f1f1; display:block; } - УДАЛЕНО */
.partner-logo-placeholder{ width:56px; height:56px; background:#f1f1f1; border-radius:8px; }
