/**
 * Elementor Free forces `.elementor img { max-width:100%; height:auto }`,
 * which breaks Telefer hero cutouts, logo backgrounds, media frames and SVG icons.
 * These overrides restore the theme layout inside Elementor pages/editor.
 */

/* Full-bleed wrappers — avoid boxed Elementor containers shrinking heroes */
.telefer-elementor {
	overflow: visible;
}

.elementor .e-con:has(.telefer-about-hero),
.elementor .e-con:has(.telefer-services-hero),
.elementor .e-con:has(.telefer-ia-hero),
.elementor .e-con:has(.telefer-hero),
.elementor .e-con:has(.telefer-blog-hero),
.elementor .e-con:has(.telefer-page-hero),
.elementor .elementor-widget:has(.telefer-about-hero),
.elementor .elementor-widget:has(.telefer-services-hero),
.elementor .elementor-widget:has(.telefer-ia-hero),
.elementor .elementor-widget:has(.telefer-hero),
.elementor .elementor-widget:has(.telefer-blog-hero) {
	max-width: 100% !important;
	width: 100% !important;
	--padding-left: 0px;
	--padding-right: 0px;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor .telefer-about-hero,
.elementor .telefer-services-hero,
.elementor .telefer-ia-hero,
.elementor .telefer-hero,
.elementor .telefer-blog-hero,
.elementor .telefer-page-hero {
	width: 100%;
	max-width: none;
}

/* Decorative logo backgrounds (SVG/PNG stretched in absolute frames) */
.elementor .telefer-hero__bg-logo-shape img,
.elementor .telefer-about-hero__bg-logo-shape img,
.elementor .telefer-services-hero__bg-logo-shape img,
.elementor .telefer-ia-hero__bg-logo-shape img,
.elementor .telefer-lp-hero__bg-logo-shape img,
.elementor .telefer-blog-hero__bg-logo-shape img {
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: fill !important;
}

/* Hero people cutouts fill their frames */
.elementor .telefer-hero__image > img,
.elementor .telefer-about-hero__image > img,
.elementor .telefer-services-hero__image > img,
.elementor .telefer-ia-hero__image > img,
.elementor .telefer-lp-hero__image > img,
.elementor .telefer-blog-hero__image > img {
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* Rounded media frames (intro sections, cards) */
.elementor .telefer-services-unpbx-intro__media img,
.elementor .telefer-ia-intro__media img,
.elementor .telefer-lp-intro__media img,
.elementor .telefer-services-block [class$="__media"] img,
.elementor .telefer-ia-block [class$="__media"] img,
.elementor .telefer-about-structure__media img,
.elementor .telefer-about-team__media img {
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Small UI icons — Elementor height:auto inflates SVG viewBoxes */
.elementor .telefer-services-pill img,
.elementor .telefer-ia-pill img,
.elementor .telefer-lp-pill img {
	width: 21px !important;
	height: 21px !important;
	max-width: 21px !important;
	object-fit: contain !important;
	flex-shrink: 0 !important;
}

.elementor .telefer-services-btn img,
.elementor .telefer-ia-btn img,
.elementor .telefer-lp-btn img {
	width: 22px !important;
	height: 22px !important;
	max-width: 22px !important;
	object-fit: contain !important;
	flex-shrink: 0 !important;
}

.elementor .telefer-solution-card__icon img {
	width: 32px !important;
	height: 32px !important;
	max-width: 32px !important;
	object-fit: contain !important;
}

.elementor .telefer-hero__bubble img,
.elementor .telefer-about-hero__bubble img,
.elementor .telefer-hero__highlight img,
.elementor .telefer-blog-hero__bubble img {
	width: 24px !important;
	height: 24px !important;
	max-width: 24px !important;
	object-fit: contain !important;
}

.elementor .telefer-blog-hero__bubble--logo img {
	position: absolute !important;
	left: 0 !important;
	top: 1.2% !important;
	width: 475% !important;
	max-width: none !important;
	height: 97.59% !important;
	object-fit: fill !important;
}

/* Theme icons that declare width/height attributes in markup */
.elementor img[src*="/icon-"][width="21"],
.elementor img[src*="/images/"][width="21"] {
	width: 21px !important;
	height: 21px !important;
	max-width: 21px !important;
}

.elementor img[src*="/icon-"][width="22"],
.elementor img[src*="/images/"][width="22"] {
	width: 22px !important;
	height: 22px !important;
	max-width: 22px !important;
}

.elementor img[src*="/icon-"][width="24"],
.elementor img[src*="/images/"][width="24"] {
	width: 24px !important;
	height: 24px !important;
	max-width: 24px !important;
}

.elementor img[src*="/icon-"][width="27"],
.elementor img[src*="/images/"][width="27"] {
	width: 27px !important;
	height: 27px !important;
	max-width: 27px !important;
}

.elementor img[src*="/icon-"][width="32"],
.elementor img[src*="/images/"][width="32"] {
	width: 32px !important;
	height: 32px !important;
	max-width: 32px !important;
}
