.e20-live-interface {
    width: min(1280px, calc(100% - 48px));
    margin-inline: auto;
    padding-block: 24px 50px;
}

.e20-live-interface .elementor,
.e20-live-transaction .elementor,
.e20-live-card .elementor {
    min-width: 0;
}

.e20-live-layout,
.e20-live-card-layout {
    --gap: 12px;
}

.e20-live-catalog-tools {
    --gap: 14px;
}

.e20-live-catalog-tools .woocommerce-result-count,
.e20-live-catalog-tools .woocommerce-ordering,
.e20-live-part .woocommerce-breadcrumb,
.e20-live-part .woocommerce-products-header__title {
    margin-block: 0;
    float: none;
}

.e20-live-category-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.e20-live-category-links a {
    border: 1px solid #dedede;
    padding: 6px 12px;
    color: inherit;
    text-decoration: none;
}

.e20-live-category-links a[aria-current="page"] {
    border-color: currentColor;
    font-weight: 600;
}

.e20-live-part ul.products:has(> .e20-live-card) {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
}

.e20-live-part ul.products.columns-1:has(> .e20-live-card) { grid-template-columns: minmax(0, 1fr); }
.e20-live-part ul.products.columns-2:has(> .e20-live-card) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e20-live-part ul.products.columns-3:has(> .e20-live-card) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e20-live-part ul.products.columns-5:has(> .e20-live-card) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.e20-live-part ul.products.columns-6:has(> .e20-live-card) { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.e20-live-part ul.products:has(> .e20-live-card)::before,
.e20-live-part ul.products:has(> .e20-live-card)::after {
    display: none;
}

.e20-live-part ul.products li.e20-live-card {
    float: none;
    width: auto;
    margin: 0;
    min-width: 0;
}

.e20-live-card-layout .e20-live-part-card-image a,
.e20-live-card-layout .e20-live-part-card-title a {
    display: block;
}

.e20-live-card-layout .e20-live-part-card-image img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    margin: 0;
}

.e20-live-card-layout .e20-live-part-card-title h2 {
    margin: 0;
    overflow-wrap: anywhere;
}

.e20-live-card-layout .e20-live-part .button {
    max-width: 100%;
    margin-top: 0;
    white-space: normal;
}

.e20-live-interface div.e20-live-pdp {
    display: block;
}

.e20-live-interface .e20-live-pdp .woocommerce-product-gallery {
    float: none;
    width: 100%;
    margin: 0;
    min-width: 0;
}

.e20-live-part-product-gallery .woocommerce-product-gallery {
    opacity: 1 !important;
}

.e20-live-interface .e20-live-part-product-gallery .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.e20-live-interface .e20-live-part-product-gallery .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper
    > .woocommerce-product-gallery__image {
    display: block;
    float: none;
    width: auto;
    min-width: 0;
}

.e20-live-interface .e20-live-part-product-gallery .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper
    > .woocommerce-product-gallery__image:first-child {
    grid-column: 1 / -1;
}

.e20-live-interface div.e20-live-pdp div.e20-live-product-summary {
    float: none;
    width: var(--width, 46%) !important;
    margin: 0;
    min-width: 0;
}

.e20-live-interface .e20-live-pdp .woocommerce-product-gallery img {
    display: block;
    height: auto;
}

.e20-live-pdp .e20-live-part-product-title h1 {
    margin: 0;
    overflow-wrap: anywhere;
}

.e20-live-pdp .e20-live-part-product-price .price {
    margin: 0;
}

.e20-live-pdp .e20-live-part-product-buy form.cart {
    margin-block: 0;
}

.e20-live-search-result {
    border-bottom: 1px solid #ddd;
    padding-block: 14px;
}

#codex-top-announcement > .elementor {
    width: 100%;
}

.e20-live-announcement-text .elementor-heading-title {
    color: inherit;
    font: inherit;
}

.e20-live-preview-placeholder {
    border: 1px dashed #aaa;
    padding: 8px;
    margin: 0;
}

@media (max-width: 767px) {
    .e20-live-interface {
        width: calc(100% - 28px);
        padding-block: 16px 34px;
    }

    .e20-live-part ul.products:has(> .e20-live-card) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .e20-live-part ul.products:is(.columns-2, .columns-3, .columns-5, .columns-6):has(> .e20-live-card) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .e20-live-part ul.products.columns-1:has(> .e20-live-card) {
        grid-template-columns: minmax(0, 1fr);
    }
}
