.senna-partners,
.senna-partners * {
    box-sizing: border-box;
    font-family: inherit;
}

.senna-partners {
    padding: clamp(34px, 6vw, 64px) 0;
}

.senna-partners__header {
    width: min(100%, 760px);
    margin: 0 auto clamp(24px, 4vw, 38px);
    text-align: center;
}

.senna-partners__title {
    margin: 0 0 10px !important;
    color: var(--senna-partners-title-color, #111) !important;
    font-family: var(--senna-partners-title-font, inherit) !important;
    font-size: var(--senna-partners-title-size, clamp(27px, 4vw, 42px)) !important;
    font-weight: var(--senna-partners-title-weight, 800) !important;
    line-height: var(--senna-partners-title-line-height, 1.1) !important;
    letter-spacing: -.035em !important;
    text-align: var(--senna-partners-title-align, center) !important;
}

.senna-partners__subtitle {
    margin: 0 !important;
    color: var(--senna-partners-subtitle-color, #6b6b6b) !important;
    font-family: var(--senna-partners-subtitle-font, inherit) !important;
    font-size: var(--senna-partners-subtitle-size, 15px) !important;
    font-weight: var(--senna-partners-subtitle-weight, 400) !important;
    line-height: var(--senna-partners-subtitle-line-height, 1.55) !important;
    text-align: var(--senna-partners-subtitle-align, center) !important;
}

.senna-partners__carousel {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: clamp(9px, 1.5vw, 17px);
    align-items: center;
}

.senna-partners__viewport {
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

.senna-partners__viewport::-webkit-scrollbar {
    display: none;
}

.senna-partners__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 56px) / 5);
    gap: 14px;
}

.senna-partners[data-columns="3"] .senna-partners__track { grid-auto-columns: calc((100% - 28px) / 3); }
.senna-partners[data-columns="4"] .senna-partners__track { grid-auto-columns: calc((100% - 42px) / 4); }
.senna-partners[data-columns="5"] .senna-partners__track { grid-auto-columns: calc((100% - 56px) / 5); }
.senna-partners[data-columns="6"] .senna-partners__track { grid-auto-columns: calc((100% - 70px) / 6); }

.senna-partners__item {
    display: grid;
    min-width: 0;
    height: 118px;
    place-items: center;
    padding: 22px;
    border: 1px solid #ececea;
    border-radius: 17px;
    color: inherit;
    background: #fff;
    box-shadow: 0 7px 24px rgba(17, 17, 17, .035);
    scroll-snap-align: start;
    text-decoration: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.senna-partners__item img {
    display: block;
    width: auto;
    max-width: 88%;
    height: auto;
    max-height: 58px;
    object-fit: contain;
    transform: scale(var(--senna-partner-logo-scale, 1));
    transform-origin: center;
    filter: none;
    opacity: 1;
    transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}

.senna-partners--grayscale .senna-partners__item img {
    filter: grayscale(1);
    opacity: .72;
}

a.senna-partners__item:hover,
a.senna-partners__item:focus-visible {
    border-color: #d8d8d3;
    box-shadow: 0 13px 32px rgba(17, 17, 17, .075);
    transform: translateY(-2px);
}

.senna-partners__item:hover img,
.senna-partners__item:focus-visible img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(var(--senna-partner-logo-scale, 1));
}

.senna-partners--plain .senna-partners__item,
.senna-partners--plain a.senna-partners__item:hover,
.senna-partners--plain a.senna-partners__item:focus-visible {
    padding-inline: 10px;
    border-color: transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

.senna-partners__arrow {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: #171717;
    cursor: pointer;
    transition: opacity .2s ease, transform .2s ease;
}

.senna-partners__arrow:hover:not(:disabled) {
    transform: scale(1.05);
}

.senna-partners__arrow:disabled {
    cursor: default;
    opacity: .22;
}

.senna-partners__arrow .senna-vector-icon {
    width: 21px;
    height: 21px;
}

.senna-partners__dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    min-height: 8px;
    margin-top: 18px;
}

.senna-partners__dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #d5d5d2;
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
}

.senna-partners__dot.is-active {
    width: 24px;
    background: var(--senna-accent, #d89518);
}

.senna-partners--single-page .senna-partners__arrow,
.senna-partners--single-page .senna-partners__dots {
    visibility: hidden;
}

.senna-partners--grid .senna-partners__carousel {
    display: block;
}

.senna-partners--navigation-off .senna-partners__carousel {
    display: block;
}

.senna-partners--grid .senna-partners__viewport {
    overflow: visible;
}

.senna-partners--grid .senna-partners__track {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(var(--senna-partner-columns, 5), minmax(0, 1fr));
}

/* 1.5.5 – a plain grid logói optikailag faltól falig oszlanak el akkor is, ha egyes logók kisebb méretre vannak állítva. */
.senna-partners--grid.senna-partners--plain .senna-partners__track {
    align-items: center;
}

@media (min-width: 900px) {
    .senna-partners--grid.senna-partners--plain .senna-partners__track {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 18px 26px;
    }

    .senna-partners--grid.senna-partners--plain .senna-partners__item {
        flex: 0 0 auto;
        width: auto;
        padding-inline: 0;
    }

    .senna-partners--grid.senna-partners--plain .senna-partners__item img {
        width: auto;
        max-width: none;
    }
}

@media (min-width: 900px) {
    .senna-story__panel--partners {
        grid-column: 1 / -1;
    }
    .senna-story .senna-partners {
        padding: clamp(34px, 4vw, 50px);
        border: 1px solid #ececea;
        border-radius: 28px;
        background: #fafaf8;
    }
}

/* 1.5.99 – külön tablet partnerlogó oszlopszám (641–1024 px), alapból 4. */
@media (min-width: 641px) and (max-width: 1024px) {
    .senna-partners[data-tablet-columns="2"] .senna-partners__track { grid-auto-columns: calc((100% - 14px) / 2); }
    .senna-partners[data-tablet-columns="3"] .senna-partners__track { grid-auto-columns: calc((100% - 28px) / 3); }
    .senna-partners[data-tablet-columns="4"] .senna-partners__track { grid-auto-columns: calc((100% - 42px) / 4); }
    .senna-partners[data-tablet-columns="5"] .senna-partners__track { grid-auto-columns: calc((100% - 56px) / 5); }
    .senna-partners[data-tablet-columns="6"] .senna-partners__track { grid-auto-columns: calc((100% - 70px) / 6); }

    .senna-partners--grid .senna-partners__track,
    .senna-partners--grid.senna-partners--plain .senna-partners__track {
        display: grid;
        grid-auto-flow: row;
        grid-auto-columns: auto;
        grid-template-columns: repeat(var(--senna-partner-tablet-columns, 4), minmax(0, 1fr));
        justify-content: stretch;
        gap: 14px;
    }

    .senna-partners--grid.senna-partners--plain .senna-partners__item {
        width: auto;
        min-width: 0;
    }

    .senna-partners--grid.senna-partners--plain .senna-partners__item img {
        max-width: 88%;
    }
}

@media (max-width: 640px) {
    .senna-partners {
        padding-block: 32px;
    }
    .senna-partners__header {
        margin-bottom: 21px;
    }
    .senna-partners__title {
        font-size: var(--senna-partners-title-mobile-size, var(--senna-partners-title-size, 27px)) !important;
    }
    .senna-partners__subtitle {
        font-size: var(--senna-partners-subtitle-mobile-size, var(--senna-partners-subtitle-size, 13px)) !important;
    }
    .senna-partners__carousel {
        grid-template-columns: 32px minmax(0, 1fr) 32px;
        gap: 7px;
    }
    .senna-partners__track {
        grid-auto-columns: calc((100% - 10px) / 2);
        gap: 10px;
    }
    .senna-partners[data-mobile-columns="2"] .senna-partners__track {
        grid-auto-columns: calc((100% - 10px) / 2);
    }
    .senna-partners[data-mobile-columns="3"] .senna-partners__track {
        grid-auto-columns: calc((100% - 20px) / 3);
    }
    .senna-partners--grid[data-mobile-columns="2"] .senna-partners__track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .senna-partners--grid[data-mobile-columns="3"] .senna-partners__track {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .senna-partners__item {
        height: 88px;
        padding: 15px;
        border-radius: 13px;
    }
    .senna-partners__item img {
        max-width: 92%;
        max-height: 43px;
    }
    .senna-partners--plain .senna-partners__item {
        height: 66px;
        padding: 6px;
    }
    .senna-partners__arrow {
        width: 32px;
        height: 32px;
    }
    .senna-partners__arrow .senna-vector-icon {
        width: 17px;
        height: 17px;
    }
}

/* 1.4.23 – mobilon választható 4 oszlop, teljesebb szélességkihasználással. */
@media (max-width: 640px) {
    .senna-partners[data-mobile-columns="4"] .senna-partners__track {
        grid-auto-columns: calc((100% - 9px) / 4);
        gap: 3px;
    }

    .senna-partners--grid[data-mobile-columns="4"] .senna-partners__track {
        width: 100%;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 3px;
        padding: 0;
    }

    .senna-partners--grid[data-mobile-columns="4"] .senna-partners__item {
        width: 100%;
        min-width: 0;
        height: 58px;
        padding: 3px;
    }

    .senna-partners--grid[data-mobile-columns="4"] .senna-partners__item img {
        width: 100%;
        max-width: 100%;
        height: 34px;
        max-height: 34px;
        object-fit: contain;
    }

    .senna-partners--grid.senna-partners--plain[data-mobile-columns="4"] .senna-partners__item {
        height: 50px;
        padding: 1px;
    }

    .senna-partners--grid.senna-partners--plain[data-mobile-columns="4"] .senna-partners__item img {
        width: 100%;
        max-width: 100%;
        height: 34px;
        max-height: 34px;
    }
}

.senna-vector-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-style:normal;font-weight:700;text-decoration:none}
