.ra-foundation-body--shop .ra-shop-template {
    padding-top: clamp(16px, 2vw, 32px);
    padding-bottom: clamp(24px, 3vw, 48px);
}

/* The managed Shop is outside Divi's row markup, so it owns the same shared
 * shell dimensions directly. */
.ra-shop-template > .ra-shell {
    box-sizing: border-box;
    width: calc(100% - 28px);
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
}

.ra-shop-template__header {
    margin-bottom: clamp(20px, 2.5vw, 36px);
}

.ra-shop-template__header.has-image {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
    align-items: stretch;
    gap: clamp(24px, 3vw, 42px);
}

.ra-shop-template__header.has-image .ra-shop-template__intro {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ra-shop-template__header.has-image .ra-shop-credibility-shell {
    margin-top: auto;
    padding-top: 20px;
}

.ra-shop-template__title {
    margin: 0;
}

.ra-shop-template__description {
    max-width: 900px;
    margin-top: 12px;
}

.ra-shop-template__header.has-image .ra-shop-template__description { max-width: none; }

.ra-shop-template__description > :first-child { margin-top: 0; }
.ra-shop-template__description > :last-child { margin-bottom: 0; }

.ra-shop-template__image {
    display: block;
    width: 100%;
    justify-self: end;
    align-self: end;
    overflow: hidden;
    border-radius: 18px !important;
}

.ra-shop-template__image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center top !important;
}

.ra-shop-credibility-shell {
    margin-top: 20px;
    margin-bottom: 0;
}

.ra-shop-credibility {
    display: grid;
    grid-template-columns: repeat(var(--ra-shop-credibility-columns, 3), minmax(0, 1fr));
    width: 100%;
    padding: 0 18px;
    overflow: hidden;
    border: 1px solid var(--ra-border, #d4dbe3);
    border-radius: var(--ra-radius-card, 18px);
    background: #fff;
}

.ra-shop-credibility__item {
    position: relative;
    display: grid;
    grid-template-columns: var(--ra-shop-credibility-icon, 50px) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: var(--ra-shop-credibility-padding-y, 14px) 18px;
}

.ra-shop-credibility__item + .ra-shop-credibility__item { border-left: 0; }
.ra-shop-credibility__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: var(--ra-shop-credibility-padding-y, 14px);
    right: 0;
    bottom: var(--ra-shop-credibility-padding-y, 14px);
    width: 1px;
    background: var(--ra-border, #d3d8df);
}
.ra-shop-credibility__item:first-child { padding-left: 0; }
.ra-shop-credibility__item:last-child { padding-right: 0; }
.ra-shop-credibility__icon { display: grid; place-items: center; width: var(--ra-shop-credibility-icon, 50px); height: var(--ra-shop-credibility-icon, 50px); }
.ra-shop-credibility__icon img { display: block; max-width: 100%; max-height: 100%; }
.ra-shop-credibility__item > div { display: grid; gap: 0; align-content: center; min-width: 0; }
.ra-shop-credibility__item h2 { margin: 0 0 4px !important; padding: 0 !important; color: var(--ra-text, #303a50); font-size: var(--ra-shop-credibility-title-size, 13px) !important; line-height: 1.2 !important; font-weight: 700; }
.ra-shop-credibility__item p { margin: 0 !important; padding: 0 !important; color: var(--ra-text-muted, #5e6e84); font-size: var(--ra-shop-credibility-description-size, 11px) !important; line-height: 1.4 !important; }
.ra-shop-credibility__link { position: absolute; z-index: 2; inset: 0; }

@media (max-width: 767px) {
    .ra-shop-template__header.has-image { grid-template-columns: 1fr; gap: 20px; }
    .ra-shop-template__header.has-image .ra-shop-template__intro { display: block; }
    .ra-shop-template__image { width: 100%; justify-self: start; }
    .ra-shop-template__image--mobile-tail.ra-shell { width: calc(100% - 28px) !important; margin: 34px auto 0 !important; padding-right: 0 !important; padding-left: 0 !important; }
    .ra-shop-template__description--mobile-tail { max-width: none; margin-top: 18px; margin-bottom: 24px; }
    .ra-shop-template__intro .ra-shop-credibility-shell { margin-top: 10px; margin-bottom: 12px; padding-top: 0; }
    .ra-shop-credibility { grid-template-columns: 1fr; padding: 0 18px; }
    .ra-shop-credibility__item { grid-template-columns: var(--ra-shop-credibility-mobile-icon, 70px) minmax(0, 1fr); gap: 16px; padding: var(--ra-shop-credibility-padding-y, 14px) 0; }
    .ra-shop-credibility__item:first-child { padding-top: var(--ra-shop-credibility-padding-y, 14px); }
    .ra-shop-credibility__item:last-child { padding-bottom: var(--ra-shop-credibility-padding-y, 14px); }
    .ra-shop-credibility__item:not(:last-child)::after { top: auto; right: 0; bottom: 0; left: 0; width: auto; height: 1px; }
    .ra-shop-credibility__item + .ra-shop-credibility__item { border: 0; }
    .ra-shop-credibility__icon { width: var(--ra-shop-credibility-mobile-icon, 70px); height: var(--ra-shop-credibility-mobile-icon, 70px); }
}
