/* Marriwe 2.0.6 frontend widget compatibility repair */
.elementor-widget-marriwe-banner .elementor-cta,
.elementor-widget-marriwe-banner.elementor-cta,
.elementor-element .elementor-cta.elementor-marriwe-banner{position:relative;display:flex;flex-direction:column;min-height:280px;width:100%;overflow:hidden;}
.elementor-widget-marriwe-banner .elementor-cta__bg-wrapper{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;}
.elementor-widget-marriwe-banner .elementor-cta__bg{position:absolute;inset:0;width:100%;height:100%;background-position:center center;background-repeat:no-repeat;background-size:cover;}
.elementor-widget-marriwe-banner .elementor-cta__bg-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.elementor-widget-marriwe-banner .elementor-cta__content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;height:100%;min-height:280px;padding:35px;box-sizing:border-box;}
.elementor-widget-marriwe-banner .elementor-cta__content_inner{width:100%;}
.elementor-widget-marriwe-banner .elementor-cta__title,.elementor-widget-marriwe-banner .elementor-cta__heading2,.elementor-widget-marriwe-banner .elementor-cta__subtitle,.elementor-widget-marriwe-banner .elementor-cta__description{width:100%;margin-top:0;}
.elementor-widget-marriwe-banner .elementor-cta__button-wrapper{display:block;margin-top:15px;}
.elementor-widget-marriwe-banner .elementor-cta__button{display:inline-flex;align-items:center;justify-content:center;}

/* Legacy Elementor section/column structure used by Marriwe demos */
.elementor-section{position:relative;width:100%;}
.elementor-section > .elementor-container{display:flex;position:relative;width:100%;max-width:1140px;margin-left:auto;margin-right:auto;box-sizing:border-box;}
.elementor-section.elementor-section-stretched{width:100%;}
.elementor-section .elementor-container{flex-wrap:nowrap;}
.elementor-column{position:relative;min-height:1px;display:flex;flex-direction:column;box-sizing:border-box;}
.elementor-column-wrap{position:relative;display:flex;width:100%;}
.elementor-widget-wrap{position:relative;display:flex;align-content:flex-start;flex-wrap:wrap;width:100%;}
.elementor-widget{position:relative;max-width:100%;}
.elementor-widget-container{width:100%;}
.elementor-row{display:flex;width:100%;}

/* Modern Elementor containers */
.e-con{position:relative;display:flex;flex-wrap:var(--flex-wrap,nowrap);width:var(--width,100%);max-width:var(--max-width,100%);min-height:var(--min-height,auto);box-sizing:border-box;}
.e-con-inner{position:relative;display:flex;flex-wrap:var(--flex-wrap,nowrap);width:100%;max-width:100%;margin:0 auto;box-sizing:border-box;}
.e-con.e-con-boxed > .e-con-inner{max-width:var(--container-max-width,1140px);}
.e-con.e-con-full{max-width:none;}
.e-con > .elementor-widget{max-width:100%;}

/* Common Elementor widget boxes relied on by Marriwe */
.elementor-heading-title{margin:0;}
.elementor-button{display:inline-block;text-align:center;text-decoration:none;cursor:pointer;}
.elementor-icon{display:inline-block;line-height:1;}
.elementor-image img,.elementor-image-box-img img{display:block;max-width:100%;height:auto;}
.elementor-icon-box-wrapper{display:flex;flex-direction:column;align-items:center;}
.elementor-image-box-wrapper{display:block;}
.elementor-social-icons-wrapper{display:flex;flex-wrap:wrap;gap:8px;}

/* Elementor background layer */
.elementor-bg{background-position:center center;background-repeat:no-repeat;background-size:cover;}
.elementor-background-overlay{position:absolute;inset:0;pointer-events:none;}

/* Marriwe widgets: don't allow the widget root to collapse */
[class*="elementor-widget-marriwe-"] .elementor-widget-container,
[class*="elementor-widget-marriwe-"] > .elementor-widget-container{width:100%;max-width:100%;box-sizing:border-box;}

/* Cards/grids */
.elementor-widget-marriwe-products ul.products,
.elementor-widget-marriwe-product-categories ul.products,
.elementor-widget-marriwe-post-grid .row,
.elementor-widget-marriwe-team-box .row,
.elementor-widget-marriwe-portfolio .row{width:100%;box-sizing:border-box;}
.elementor-widget-marriwe-products img,
.elementor-widget-marriwe-product-categories img,
.elementor-widget-marriwe-post-grid img,
.elementor-widget-marriwe-team-box img,
.elementor-widget-marriwe-portfolio img{display:block;max-width:100%;height:auto;}

/* Swiper based Marriwe widgets */
.elementor-widget-marriwe-brand .swiper,
.elementor-widget-marriwe-products .swiper,
.elementor-widget-marriwe-product-categories .swiper,
.elementor-widget-marriwe-header-carousel .swiper,
.elementor-widget-marriwe-history-carousel .swiper,
.elementor-widget-marriwe-testimonial-carousel .swiper,
.elementor-widget-marriwe-image-carousel .swiper{width:100%;overflow:hidden;}
.elementor-widget-marriwe-brand .swiper-wrapper,
.elementor-widget-marriwe-products .swiper-wrapper,
.elementor-widget-marriwe-product-categories .swiper-wrapper,
.elementor-widget-marriwe-header-carousel .swiper-wrapper,
.elementor-widget-marriwe-history-carousel .swiper-wrapper,
.elementor-widget-marriwe-testimonial-carousel .swiper-wrapper,
.elementor-widget-marriwe-image-carousel .swiper-wrapper{display:flex;width:100%;}
.elementor-widget-marriwe-brand .swiper-slide,
.elementor-widget-marriwe-products .swiper-slide,
.elementor-widget-marriwe-product-categories .swiper-slide,
.elementor-widget-marriwe-header-carousel .swiper-slide,
.elementor-widget-marriwe-history-carousel .swiper-slide,
.elementor-widget-marriwe-testimonial-carousel .swiper-slide,
.elementor-widget-marriwe-image-carousel .swiper-slide{flex-shrink:0;height:auto;}

/* Common gallery / testimonial / counter / countdown */
.elementor-widget-marriwe-image-gallery img,.elementor-widget-marriwe-image-carousel img{display:block;width:100%;height:auto;}
.elementor-widget-marriwe-testimonials .elementor-testimonial-image img,.elementor-widget-marriwe-testimonials-carousel img{max-width:100%;height:auto;}
.elementor-widget-counter .elementor-counter-number-wrapper{display:flex;justify-content:center;align-items:baseline;}
.elementor-widget-counter .elementor-counter-number{line-height:1;}
.elementor-widget-marriwe-countdown .elementor-countdown-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;}
.elementor-widget-marriwe-countdown .elementor-countdown-item{text-align:center;}

@media (max-width: 767px){
  .elementor-section > .elementor-container{max-width:100%;}
  .elementor-row{flex-wrap:wrap;}
  .elementor-widget-marriwe-banner .elementor-cta__content{min-height:220px;padding:24px 20px;}
  .e-con.e-con-boxed > .e-con-inner{max-width:100%;}
}
