.mfo-bl-wrap {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
}

.mfo-bl-title {
    font-size: 20px;
    font-weight: 800;
    margin: 4px 0 8px;
}

.mfo-bl-subtitle {
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 18px;
}

.mfo-bl-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mfo-bl-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    border-radius: 8px;
    padding: 12px 16px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mfo-bl-avatar {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    border-radius: 8px;
    margin-right: 4px;
}

.mfo-bl-row-main {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 15px;
    flex: 1 1 auto;
}

.mfo-bl-star-row {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.mfo-bl-star {
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
}

.mfo-bl-star-outline,
.mfo-bl-star-fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
}

.mfo-bl-star-outline path {
    fill: #fff;
    stroke: #e0a03a;
    stroke-width: 1.4;
    stroke-linejoin: round;
}

.mfo-bl-star-fill path {
    fill: #ffc93c;
    stroke: #e0a03a;
    stroke-width: 1.4;
    stroke-linejoin: round;
}

.mfo-bl-rating-num {
    margin-left: 2px;
}

.mfo-bl-cta {
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 700;
    padding: 9px 22px;
    border-radius: 8px;
    text-decoration: none !important;
    transition: background 0.15s ease;
}

@media screen and (max-width: 500px) {
    .mfo-bl-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .mfo-bl-cta {
        align-self: stretch;
        text-align: center;
    }
}

/* ================================================================
   Тема "Обычная" — в цвет карточек поиска и каталога компаний
   ([mfo_search] / [mfo_directory]): белые карточки, синяя рамка
   при наведении, без золотых акцентов и плашки "Реклама".
   ================================================================ */

.mfo-bl-theme-standard .mfo-bl-title {
    color: #1f2d3d;
}

.mfo-bl-theme-standard .mfo-bl-subtitle {
    color: #555;
}

.mfo-bl-theme-standard .mfo-bl-badge {
    display: none;
}

.mfo-bl-theme-standard .mfo-bl-row {
    background: #fff;
    border: 1px solid #e2e2e2;
}

.mfo-bl-theme-standard .mfo-bl-row:hover {
    border-color: #2271b1;
}

.mfo-bl-theme-standard .mfo-bl-name {
    font-weight: 600;
    color: #1f2d3d;
}

.mfo-bl-theme-standard .mfo-bl-rate {
    font-size: 13px;
    font-weight: 600;
    color: #2271b1;
    background: #eaf3fb;
    padding: 3px 10px;
    border-radius: 999px;
}

.mfo-bl-theme-standard .mfo-bl-regdate {
    font-size: 13px;
    font-weight: 600;
    color: #2271b1;
    background: #eaf3fb;
    padding: 3px 10px;
    border-radius: 999px;
}

.mfo-bl-theme-standard .mfo-bl-rating-num {
    font-size: 12px;
    font-weight: 600;
    color: #8a94a3;
    letter-spacing: 0;
}

.mfo-bl-theme-standard .mfo-bl-cta {
    background: #2271b1;
    color: #fff !important;
}

.mfo-bl-theme-standard .mfo-bl-cta:hover {
    background: #195a8c;
}

/* ================================================================
   Тема "Рекламная" — выделяется среди остального контента: золотая
   полоса сверху, плашка "Реклама" в углу, лёгкий градиентный фон.
   ================================================================ */

.mfo-bl-theme-promo {
    background: linear-gradient(180deg, #f8fafd 0%, #ffffff 100%);
    border: 1px solid #dbe4f0;
    border-radius: 18px;
    padding: 30px 30px 24px;
    box-shadow: 0 6px 24px rgba(74, 111, 165, 0.1);
}

.mfo-bl-theme-promo::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    border-radius: 18px 18px 0 0;
    background: linear-gradient(90deg, #4a6fa5, #e0a03a);
}

.mfo-bl-theme-promo .mfo-bl-badge {
    position: absolute;
    top: 16px;
    right: 18px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #9a7a1f;
    background: #fdf3d9;
    border: 1px solid #f0d896;
    padding: 4px 10px;
    border-radius: 999px;
}

.mfo-bl-theme-promo .mfo-bl-title {
    font-size: 22px;
    color: #1a2540;
}

.mfo-bl-theme-promo .mfo-bl-subtitle {
    color: #5a6478;
}

.mfo-bl-theme-promo .mfo-bl-row {
    background: #fff;
    border: 1px solid #e6eaf0;
}

.mfo-bl-theme-promo .mfo-bl-row:hover {
    border-color: #4a6fa5;
    box-shadow: 0 3px 12px rgba(74, 111, 165, 0.1);
}

.mfo-bl-theme-promo .mfo-bl-name {
    font-weight: 700;
    color: #1a2540;
}

.mfo-bl-theme-promo .mfo-bl-rate {
    font-size: 13px;
    font-weight: 700;
    color: #1a8a4c;
    background: #e3f7ea;
    padding: 3px 10px;
    border-radius: 999px;
}

.mfo-bl-theme-promo .mfo-bl-regdate {
    font-size: 13px;
    font-weight: 700;
    color: #1a8a4c;
    background: #e3f7ea;
    padding: 3px 10px;
    border-radius: 999px;
}

.mfo-bl-theme-promo .mfo-bl-rating-num {
    font-size: 12px;
    font-weight: 700;
    color: #9a7a1f;
    letter-spacing: 0;
}

.mfo-bl-theme-promo .mfo-bl-cta {
    background: #4a6fa5;
    color: #fff !important;
}

.mfo-bl-theme-promo .mfo-bl-cta:hover {
    background: #3b5c8a;
}
