/**
 * Estúdio Compilart — Inverted Border Card
 * Geometria original (curvas invertidas) + ícone SVG centralizado.
 * Cores acompanham light/dark do Foxiz ([data-theme="dark"]).
 */

.ecw-ibc {
	--ecw-ibc-bg: var(--ecw-theme-surface, #ffffff);
	--ecw-ibc-title: var(--ecw-theme-title, #0C0C0C);
	--ecw-ibc-subtitle: var(--ecw-theme-muted, #a9a9a9);
	--ecw-ibc-icon-bg: #d3b19a;
	--ecw-ibc-icon-color: #ffffff;
	--ecw-ibc-radius: 1.25rem;
	--ecw-ibc-cutout: 6rem;
	--ecw-ibc-curve: 1.25rem;
	--ecw-ibc-icon-inset: 0.625rem;
	--ecw-ibc-offset: 0.375rem;
	--ecw-ibc-height: 18.75rem;
	--ecw-ibc-icon-size: 2.25rem;
	width: 100%;
	max-width: 100%;
	color: inherit;
	font-family: var(--ecw-font, "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
	box-sizing: border-box;
}

/* Dark defaults (Elementor Light/Dark controls override when set) */
[data-theme="dark"] .ecw-ibc {
	--ecw-ibc-bg: #191c20;
	--ecw-ibc-title: #ffffff;
	--ecw-ibc-subtitle: #a9a9a9;
	--ecw-ibc-icon-bg: #DC1F2F;
	--ecw-ibc-icon-color: #ffffff;
}

.ecw-ibc *,
.ecw-ibc *::before,
.ecw-ibc *::after {
	box-sizing: border-box;
}

.ecw-ibc__inner {
	position: relative;
	width: 100%;
	height: var(--ecw-ibc-height);
	background: var(--ecw-ibc-bg);
	border-radius: var(--ecw-ibc-radius);
	border-bottom-right-radius: 0;
	overflow: hidden;
}

.ecw-ibc__box {
	position: relative;
	width: 100%;
	height: 100%;
	background: transparent;
	border-radius: var(--ecw-ibc-radius);
	overflow: hidden;
}

.ecw-ibc__img {
	position: absolute;
	inset: 0;
}

.ecw-ibc__img img,
.ecw-ibc__img video,
.ecw-ibc__img iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	border: 0;
}

.ecw-ibc__media-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.ecw-ibc__media-link img,
.ecw-ibc__media-link video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.ecw-ibc__media-link--overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.ecw-ibc__img iframe {
	pointer-events: none;
}

.ecw-ibc__text-link {
	display: block;
	text-decoration: none !important;
	color: inherit;
}

.ecw-ibc__text-link:hover .ecw-ibc__title,
.ecw-ibc__text-link:focus-visible .ecw-ibc__title {
	opacity: 0.9;
}

/* Placa do canto + fillets côncavos (técnica original) */
.ecw-ibc__icon {
	position: absolute;
	bottom: calc(var(--ecw-ibc-offset) * -1);
	right: calc(var(--ecw-ibc-offset) * -1);
	width: var(--ecw-ibc-cutout);
	height: var(--ecw-ibc-cutout);
	background: var(--ecw-ibc-bg);
	border-top-left-radius: 50%;
	z-index: 2;
	pointer-events: none;
}

.ecw-ibc__icon::before {
	position: absolute;
	content: "";
	bottom: var(--ecw-ibc-offset);
	left: calc(var(--ecw-ibc-curve) * -1);
	background: transparent;
	width: var(--ecw-ibc-curve);
	height: var(--ecw-ibc-curve);
	border-bottom-right-radius: var(--ecw-ibc-curve);
	box-shadow: 0.313rem 0.313rem 0 0.313rem var(--ecw-ibc-bg);
	pointer-events: none;
}

.ecw-ibc__icon::after {
	position: absolute;
	content: "";
	top: calc(var(--ecw-ibc-curve) * -1);
	right: var(--ecw-ibc-offset);
	background: transparent;
	width: var(--ecw-ibc-curve);
	height: var(--ecw-ibc-curve);
	border-bottom-right-radius: var(--ecw-ibc-curve);
	box-shadow: 0.313rem 0.313rem 0 0.313rem var(--ecw-ibc-bg);
	pointer-events: none;
}

.ecw-ibc a.ecw-ibc__icon-btn,
.ecw-ibc__icon-btn {
	position: absolute;
	inset: var(--ecw-ibc-icon-inset);
	background: var(--ecw-ibc-icon-bg) !important;
	background-color: var(--ecw-ibc-icon-bg) !important;
	border-radius: 50%;
	border: 0 !important;
	outline: none !important;
	box-shadow: 0 0 0 1px var(--ecw-ibc-icon-bg) !important;
	display: flex !important;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	pointer-events: auto;
	transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
	line-height: 0;
	padding: 0;
	margin: 0;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
}

.ecw-ibc__icon:hover .ecw-ibc__icon-btn,
.ecw-ibc__icon-btn:hover,
.ecw-ibc__icon-btn:focus-visible {
	transform: translateZ(0) scale(1.08);
	box-shadow: 0 0 0 1px var(--ecw-ibc-icon-bg) !important;
}

.ecw-ibc__icon-btn .ecw-ibc__icon-svg {
	width: 54%;
	height: 54%;
	min-width: 1.25rem;
	min-height: 1.25rem;
	display: block;
	flex: 0 0 auto;
	fill: none;
	stroke: var(--ecw-ibc-icon-color) !important;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}

.ecw-ibc__icon-btn .material-symbols-outlined {
	color: var(--ecw-ibc-icon-color) !important;
	font-size: var(--ecw-ibc-icon-size) !important;
	width: 1em;
	height: 1em;
	line-height: 1 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 48;
	user-select: none;
	pointer-events: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ecw-ibc__content {
	padding: 0.938rem 0.625rem 0;
}

.ecw-ibc__title {
	margin: 0;
	text-transform: capitalize;
	font-size: clamp(1.5rem, 1.3909rem + 0.4364vw, 1.8rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--ecw-ibc-title) !important;
}

.ecw-ibc__subtitle {
	margin: 0.4rem 0 0;
	font-size: clamp(0.875rem, 0.82rem + 0.2vw, 1rem);
	font-weight: 400;
	line-height: 1.45;
	color: var(--ecw-ibc-subtitle) !important;
	max-width: 36ch;
}

.elementor-widget-ecw-inverted-border-card {
	width: 100%;
}
