/* Elementor inner pages and WooCommerce templates.
 * All selectors are scoped so the existing theme design remains unchanged.
 */
.prime-inner-page-body {
    padding: 80px 0;
    gap: 0 !important;
}

.prime-inner-page-body > .e-con-inner,
.prime-inner-page-body > .elementor-container {
    gap: 0 !important;
}

.prime-inner-page-body .elementor-widget:not(:last-child) {
    margin-bottom: 0;
}

.prime-inner-hero-container {
    gap: 0 !important;
}

.prime-inner-elementor-page .site-main > article,
.prime-inner-elementor-page .site-main.elementor-page-content {
    margin: 0;
    padding: 0;
}

.prime-elementor-product-archive::after,
.prime-elementor-product-main::after,
.prime-elementor-product-fragment::after {
    display: table;
    clear: both;
    content: "";
}

.prime-elementor-woocommerce .prime-inner-page-body .woocommerce-notices-wrapper:empty {
    display: none;
}

.prime-elementor-woocommerce .prime-elementor-product-fragment {
    width: 100%;
    margin-bottom: 48px;
}

.prime-elementor-woocommerce .prime-elementor-product-main {
    min-height: 1px;
}

.prime-elementor-woocommerce .prime-elementor-product-archive .woocommerce-result-count,
.prime-elementor-woocommerce .prime-elementor-product-archive .woocommerce-ordering {
    margin-bottom: 24px;
}

@media (max-width: 991px) {
    .prime-inner-page-body {
        padding: 56px 0;
    }
}

@media (max-width: 767px) {
    .prime-inner-page-body {
        padding: 42px 0;
    }

    .prime-elementor-woocommerce .prime-elementor-product-main div.images,
    .prime-elementor-woocommerce .prime-elementor-product-main div.summary {
        float: none !important;
        width: 100% !important;
    }
}

/* Version 2.5.0: section-level controls for all normal pages. */
.prime-elementor-cta-panel {
    gap: 24px;
}

.prime-elementor-cta-copy {
    flex: 1 1 auto;
}

.prime-elementor-cta-image {
    width: 150px;
    max-height: 100px;
    object-fit: contain;
    border-radius: 12px;
}

.prime-action-card-image {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    object-fit: contain;
    border-radius: 10px;
}

.prime-side-card-image {
    display: block;
    width: min(100%, 220px);
    max-height: 170px;
    margin: 0 0 20px;
    object-fit: contain;
    border-radius: 14px;
}

.prime-category-card-image {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

body.home.prime-inner-elementor-page .site-main.elementor-page-content {
    margin: 0;
    padding: 0;
}

@media (max-width: 767px) {
    .prime-elementor-cta-panel {
        align-items: flex-start;
    }

    .prime-elementor-cta-image {
        width: 120px;
    }
}

.prime-story-side-image {
    width: min(100%, 240px);
    max-height: 180px;
    margin: 0 auto 18px;
    object-fit: contain;
    border-radius: 14px;
}

.prime-product-guide-image {
    width: min(100%, 260px);
    max-height: 210px;
    object-fit: contain;
}
