/* ==========================================================
   Custom Elementor Widgets — Layout Fix v1.0.0
   Purpose: make every custom widget render correctly when the
   Elementor Advanced > Layout > Width control is left as Default.
   ========================================================== */

.elementor-widget-custom-featured-image,
.elementor-widget-custom-post-list,
.elementor-widget-custom-team-list,
.elementor-widget-dpv_post_carousel,
.elementor-widget-dpv_post_pagination,
.elementor-widget-dpv_before_after,
.elementor-widget-dpv_image_card_hover,
.elementor-widget-dpv_product_carousel,
.elementor-widget-dpv_product_grid,
.elementor-widget-dpv_hotspot {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.elementor-widget-custom-featured-image > .elementor-widget-container,
.elementor-widget-custom-post-list > .elementor-widget-container,
.elementor-widget-custom-team-list > .elementor-widget-container,
.elementor-widget-dpv_post_carousel > .elementor-widget-container,
.elementor-widget-dpv_post_pagination > .elementor-widget-container,
.elementor-widget-dpv_before_after > .elementor-widget-container,
.elementor-widget-dpv_image_card_hover > .elementor-widget-container,
.elementor-widget-dpv_product_carousel > .elementor-widget-container,
.elementor-widget-dpv_product_grid > .elementor-widget-container,
.elementor-widget-dpv_hotspot > .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.custom-featured-image,
.cew-post-list,
.cew-team-grid,
.dpv-post-carousel,
.dpv-post-pagination,
.dpv-pp-grid,
.dpv-ba-wrapper,
.dpv-ich-grid,
.dpv-hotspot-wrapper,
.dpv-tabs-image-wrap,
.swiper.dpv-post-carousel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.dpv-post-carousel,
.dpv-post-carousel .swiper-wrapper,
.dpv-post-carousel .swiper-slide {
    min-width: 0;
}

.dpv-ich-grid,
.dpv-pp-grid,
.cew-team-grid {
    min-width: 0;
}


/* Shared uploaded icon rendering (Media Library PNG/SVG). */
.dpv-uploaded-icon{display:block;width:1em;height:1em;max-width:none;object-fit:contain;flex:0 0 auto}

/* ── DPV Number Badge ─────────────────────────────────────────────────────── */
.elementor-widget-dpv_number_badge .dpv-number-badge-wrap{
    display:flex;
    width:100%;
}
.elementor-widget-dpv_number_badge .dpv-number-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    box-sizing:border-box;
    line-height:1;
    text-align:center;
    text-decoration:none;
    overflow:hidden;
    transition-property:color,background-color,border-color,box-shadow,transform,opacity;
    transition-timing-function:ease;
}
.elementor-widget-dpv_number_badge .dpv-number-badge-value,
.elementor-widget-dpv_number_badge .dpv-number-badge-affix{
    display:inline-block;
    line-height:inherit;
}
.elementor-widget-dpv_number_badge .dpv-number-badge:focus-visible{
    outline:2px solid currentColor;
    outline-offset:2px;
}
