.idbi-store-shell {
    width: min(1280px, calc(100% - 32px));
    margin: 0 auto;
    padding: 32px 0
}

.idbi-vendor-header {
    overflow: hidden;
    border-radius: 12px;
    background: #fff
}

.idbi-vendor-header__banner {
    min-height: 120px;
    background: #f3f4f6
}

.idbi-vendor-banner {
    display: block;
    width: 100%;
    max-height: 360px;
    object-fit: cover
}

.idbi-vendor-header__content {
    display: flex;
    align-items: flex-end;
    gap: 24px;
    padding: 0 32px 28px
}

.idbi-vendor-logo {
    display: block;
    aspect-ratio: 1;
    object-fit: cover;
    border: 4px solid #fff;
    border-radius: 50%;
    margin-top: -60px;
    background: #fff
}

.idbi-vendor-header__title {
    margin: 0
}

.idbi-vendor-header address {
    font-style: normal
}

.idbi-vendor-nav ul,
.idbi-vendor-social {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    list-style: none;
    padding: 0
}

.idbi-vendor-nav {
    margin: 24px 0
}

.idbi-store-shell__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 32px
}

.idbi-store-shell__layout:not(:has(.idbi-store-shell__sidebar)) {
    grid-template-columns: 1fr
}

.idbi-vendor-products ul.products {
    display: grid;
    grid-template-columns: repeat(var(--idbi-columns, 4), minmax(0, 1fr));
    gap: 24px
}

.idbi-vendor-products.columns-1 {
    --idbi-columns: 1
}

.idbi-vendor-products.columns-2 {
    --idbi-columns: 2
}

.idbi-vendor-products.columns-3 {
    --idbi-columns: 3
}

.idbi-vendor-products.columns-4 {
    --idbi-columns: 4
}

.idbi-vendor-products.columns-5 {
    --idbi-columns: 5
}

.idbi-vendor-products.columns-6 {
    --idbi-columns: 6
}

.idbi-vendor-products ul.products li.product {
    width: auto !important;
    margin: 0 !important
}

.idbi-vendor-rating {
    margin: .4em 0
}

.idbi-vendor-rating span {
    font-weight: 400
}

@media(max-width:900px) {
    .idbi-store-shell__layout {
        grid-template-columns: 1fr
    }

    .idbi-vendor-products ul.products {
        --idbi-columns: 2
    }

    .idbi-vendor-header__content {
        padding-inline: 20px
    }
}

@media(max-width:520px) {
    .idbi-vendor-header__content {
        align-items: flex-start;
        flex-direction: column
    }

    .idbi-vendor-products ul.products {
        --idbi-columns: 1
    }

    .idbi-vendor-logo {
        width: 96px;
        height: 96px;
        margin-top: -48px
    }
}

.idbi-vendor-grid {
    display: grid;
    grid-template-columns: repeat(var(--idbi-vendor-grid-columns, 6), minmax(0, 1fr));
    gap: 12px;
}

.idbi-vendor-grid__item {
    display: flex;
    min-width: 0;
    aspect-ratio: 1;
    margin: 0
}

.idbi-vendor-grid__link {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    padding: 15px;
    border: 1px solid #e5e7eb;
    border-radius: 0px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.idbi-vendor-grid__link:hover,
.idbi-vendor-grid__link:focus-visible {
    box-shadow: 0 12px 28px rgba(0, 0, 0, .1)
}

.idbi-vendor-grid__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px
}

.idbi-vendor-grid__logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.idbi-vendor-grid-pagination {
    margin-top: 32px
}

.idbi-vendor-grid-pagination .page-numbers {
    display: flex;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 0
}

.idbi-vendor-grid-pagination a,
.idbi-vendor-grid-pagination span {
    display: grid;
    min-width: 40px;
    min-height: 40px;
    place-items: center
}

@media(max-width:1023px) {
    .idbi-vendor-grid {
        grid-template-columns: repeat(min(4, var(--idbi-vendor-grid-columns, 6)), minmax(0, 1fr))
    }
}

@media(max-width:767px) {
    .idbi-vendor-grid {
        grid-template-columns: repeat(min(3, var(--idbi-vendor-grid-columns, 6)), minmax(0, 1fr))
    }
}

@media(max-width:479px) {
    .idbi-vendor-grid {
        grid-template-columns: repeat(min(2, var(--idbi-vendor-grid-columns, 6)), minmax(0, 1fr))
    }
}