/* Desktop: summary, media, then gallery and purchase details. */
.elementor .elementor-element.zh-product-brand-layout > .e-con-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "summary summary" "media media" "gallery purchase";
    align-items: start;
    column-gap: 10px;
    row-gap: 0;
}

.elementor .elementor-element.zh-product-brand-layout > .e-con-inner > .e-con {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.elementor .elementor-element.zh-product-brand-summary {
    grid-area: summary;
    --flex-direction: column;
    --gap: 0px;
    gap: 0;
    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    align-items: flex-start;
}

.elementor .elementor-element.zh-product-brand-gallery {
    grid-area: gallery;
}

.elementor .elementor-element.zh-product-brand-purchase {
    grid-area: purchase;
}

.elementor .elementor-element.zh-product-brand-media {
    grid-area: media;
    --margin-top: 30px;
    --margin-bottom: 50px;
    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    gap: 0;
}

.elementor .zh-product-brand-media .elementor-element.elementor-widget-divider {
    padding: 0 0 24px;
    --divider-color: #a99ca3;
}

.elementor .zh-product-brand-media .elementor-element.elementor-widget-divider .elementor-divider__text {
    font-family: "Open Sans Hebrew", "Open Sans", sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 38px;
}

.elementor .zh-product-brand-media .elementor-element.elementor-widget-shortcode {
    width: 100%;
    min-width: 0;
    /* The former carousel widget's generated CSS still has z-index: -2. */
    z-index: 1;
}

.zh-media-cards {
    position: relative;
    width: 100%;
    min-width: 0;
    font-family: "Open Sans Hebrew", "Open Sans", sans-serif;
}

.zh-media-cards .zh-media-cards__swiper {
    width: calc(100% - 88px);
    padding: 0;
    overflow: hidden;
    touch-action: pan-y;
}

.zh-media-cards .swiper-wrapper {
    align-items: stretch;
}

.zh-media-cards .zh-media-cards__card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc((100% - 45px) / 4);
    height: auto;
    min-height: 340px;
    padding: 24px 20px;
    background: #fafafa;
    border: 1px solid #f0f0f0;
    box-shadow: 0 3px 10px rgb(0 0 0 / 2%);
    text-align: center;
}

.zh-media-cards__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 174px;
    max-width: 100%;
    height: 104px;
    background: #fff;
}

.zh-media-cards .zh-media-cards__logo img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
    filter: none;
    -webkit-user-drag: none;
}

.zh-media-cards .zh-media-cards__quote {
    width: 100%;
    max-width: 194px;
    margin: 24px 0;
    color: #666;
    font-size: 18px;
    font-weight: 400;
    line-height: 21px;
    white-space: pre-line;
}

.zh-media-cards .zh-media-cards__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 148px;
    max-width: 100%;
    min-height: 50px;
    margin-top: auto;
    padding: 10px 15px;
    border: 1px solid #8056a6;
    border-radius: 28px;
    background: #fff;
    color: #8056a6;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    text-decoration: none;
}

.zh-media-cards .zh-media-cards__link:hover {
    background: #8056a6;
    color: #fff;
}

.zh-media-cards__navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-top: 20px;
}

.zh-media-cards .zh-media-cards__arrow,
.zh-media-cards .zh-media-cards__edge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #280114;
    cursor: pointer;
}

.zh-media-cards .zh-media-cards__arrow {
    width: 24px;
    height: 24px;
}

.zh-media-cards .zh-media-cards__edge {
    position: absolute;
    top: 154px;
    color: #a6a6a6;
}

.zh-media-cards__edge--next {
    left: 0;
}

.zh-media-cards__edge--prev {
    right: 0;
}

.zh-media-cards .zh-media-cards__arrow:disabled,
.zh-media-cards .zh-media-cards__edge:disabled,
.zh-media-cards .swiper-button-disabled {
    opacity: 0.3;
    cursor: default;
}

.zh-media-cards .zh-media-cards__arrow.swiper-button-lock,
.zh-media-cards .zh-media-cards__edge.swiper-button-lock {
    display: none;
}

.elementor .elementor-element .zh-media-cards .zh-media-cards__navigation .zh-media-cards__pagination {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    width: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    height: 24px;
    line-height: 0;
    direction: rtl;
    flex-shrink: 0;
}

.elementor .zh-media-cards .zh-media-cards__dot {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 4px;
    height: 4px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    overflow: visible;
    cursor: pointer;
}

.elementor .zh-media-cards .zh-media-cards__dot--active {
    width: 8px;
    height: 8px;
}

.elementor .zh-media-cards .zh-media-cards__dot svg {
    display: block;
    flex: none;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.zh-media-cards :focus-visible {
    outline: 2px solid #8056a6;
    outline-offset: 3px;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .zh-media-cards .zh-media-cards__card {
        width: calc((100% - 30px) / 3);
    }
}

/* Mobile: gallery remains first; media separates the summary from the offers. */
@media (max-width: 767px) {
    .elementor .elementor-element.zh-product-brand-layout > .e-con-inner {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "gallery" "summary" "media" "purchase";
    }

    .elementor .elementor-element.zh-product-brand-summary {
        padding-inline: 10px;
    }

    .elementor .elementor-element.zh-product-brand-media {
        --margin-top: 30px;
        --margin-bottom: 30px;
    }

    .elementor .zh-product-brand-media .elementor-element.elementor-widget-divider {
        padding-bottom: 16px;
    }

    .elementor .zh-product-brand-media .elementor-element.elementor-widget-divider .elementor-divider__text {
        font-size: 24px;
        line-height: 32px;
    }

    .zh-media-cards .zh-media-cards__swiper {
        width: calc(100% - 44px);
        margin-inline: 44px 0;
    }

    .zh-media-cards {
        width: calc(100% + 20px);
        margin-inline: -10px;
    }

    .zh-media-cards .zh-media-cards__card {
        width: 250px;
        max-width: calc(100% - 20px);
    }

    .zh-media-cards .zh-media-cards__edge {
        display: none;
    }
}
