/* ============================================================
   ПАРТНЁРЫ — dusha grid (sprint 2.1)
   Источник правды для блока .dusha-partners. Подключается из
   include/blocks/partners.php — гарантирует одинаковый рендер
   на главной (/) и на каталоге (/catalog/).
   Правила перенесены сюда из dusha/home-page.css строки 622-744.
   ============================================================ */

.dusha-partners {
    padding: 64px 0 32px;
    background: #fff;
}
.dusha-partners *,
.dusha-partners *::before,
.dusha-partners *::after { box-sizing: border-box; }
.dusha-partners__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
}
.dusha-partners__head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
    margin-bottom: 32px;
}
.dusha-partners__overline {
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #D85F05;
    margin-bottom: 8px;
    grid-column: 1;
}
.dusha-partners__title {
    grid-column: 1;
    grid-row: 2;
    font-family: 'Unbounded', system-ui, sans-serif;
    font-weight: 600;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #0F2F44;
    margin: 0;
}
.dusha-partners__lead {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #4A5462;
    margin: 0;
    padding-bottom: 6px;
}

.dusha-partners__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}
.dusha-partners__card {
    background: #fff;
    border: 1px solid #ECEFF3;
    border-radius: 16px;
    padding: 22px 18px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 280ms cubic-bezier(0.22, 1, 0.36, 1);
}
.dusha-partners__card:hover {
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(15, 40, 60, 0.08), 0 16px 32px rgba(15, 40, 60, 0.10);
    transform: translateY(-4px);
    background: #fff;
}
.dusha-partners__logo {
    max-width: 100%;
    max-height: 40px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%) opacity(0.55);
    transition: filter 320ms cubic-bezier(0.22, 1, 0.36, 1), transform 320ms;
}
.dusha-partners__card:hover .dusha-partners__logo {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.04);
}
.dusha-partners__name {
    font-family: 'Manrope', system-ui, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #4A5462;
    text-align: center;
}

@media (max-width: 1024px) {
    .dusha-partners__head { grid-template-columns: 1fr; gap: 16px; }
    .dusha-partners__lead { grid-column: 1; grid-row: 3; padding-bottom: 0; }
    .dusha-partners__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
    .dusha-partners { padding: 48px 0 24px; }
    .dusha-partners__inner { padding: 0 16px; }
    .dusha-partners__grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .dusha-partners__card { padding: 16px 12px; height: 80px; }
    .dusha-partners__logo { max-height: 32px; }
}

/* Hard-clamp для логотипов партнёров — защита от inline width/height
   и каскада main-styles.css/styles.css */
.dusha-partners .dusha-partners__card .dusha-partners__logo,
.dusha-partners__card img.dusha-partners__logo {
    max-height: 40px !important;
    max-width: calc(100% - 16px) !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}
@media (max-width: 600px) {
    .dusha-partners .dusha-partners__card .dusha-partners__logo,
    .dusha-partners__card img.dusha-partners__logo {
        max-height: 32px !important;
    }
}

/* Старая разметка .aggregators-section (если где-то остаётся) — скрываем дубликат */
.aggregators-section { display: none !important; }
