/*
 * Custom CSS del child theme Swerdena.
 * Agrega aquí los overrides del proyecto.
 */

:root {
	--swerdena-placeholder-color: currentColor;
}

.services-wrap {
	overflow-x: hidden;
}

@media (min-width: 1200px) {

	.is-sticky {
		position: sticky;
		top: 50px;
	}
}

@media (min-width: 1025px) {
	.right-bleed {
		width: calc(50vw + (var(--content-width) / 2));
		max-width: none !important;
	}
}

@media (min-width: 1025px) {
	.left-bleed {
		width: calc(100vw - ((100vw - var(--content-width)) / 2));
		max-width: none !important;
		margin-left: calc((100vw - var(--content-width)) / -2);
	}
}

/* CSS */
#menu-control .elementor-button-icon svg,
.logo-footer-container a {
	width: 100%;
}

.button-phone .elementor-button-icon svg {
	width: 20px;
}

.button-phone .elementor-button-content-wrapper,
.button-phone {
	align-items: center;
}

.button-phone {
	height: 20px;
}

.loop-news-home {}


.loop-news-home.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev {
	left: calc(var(--arrow-prev-left-align) - 80px);
}

.elementor-widget-loop-carousel.loop-news-home .elementor-swiper-button.elementor-swiper-button-next {
	right: calc(var(--arrow-next-right-align) - 80px);
}

.loop-news-home.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev,
.elementor-widget-loop-carousel.loop-news-home .elementor-swiper-button.elementor-swiper-button-next {
	background: var(--e-global-color-primary);
	width: 46px;
	height: 46px;
	color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100px;
}

.loop-news-home.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev svg,
.elementor-widget-loop-carousel.loop-news-home .elementor-swiper-button.elementor-swiper-button-next svg {
	width: auto;
	height: 10px;
	fill: white;
}



/* 
Fixes Home Slider */



/* Fixes slider home overflow */
@media (min-width: 768px) {
	.elementor-59 .elementor-element.elementor-element-f22687b.services-slider-container {
		right: -30px;
	}
}



/* wrapper general */
.services-split-section {
	position: relative;
}

/* ocultar flechas nativas de Elementor */
#loop-services-home .elementor-swiper-button,
#loop-services-home .swiper-button-prev,
#loop-services-home .swiper-button-next {
	display: none !important;
}

/* navegación externa */
.services-carousel-nav {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
	position: relative;
	z-index: 20;
}

.services-nav-btn {
	width: 40px;
	height: 40px;
	min-width: 40px;
	border: 0;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform .2s ease, opacity .2s ease;
	background: #08294a;
	/* ajusta al azul del diseño */
	color: #ffffff;
	box-shadow: none;
	padding: 0;
}

.services-nav-btn:hover {
	background: var(--e-global-color-a0db4e4);
}

.services-nav-btn:disabled,
.services-nav-btn.is-disabled {
	opacity: .45;
	cursor: not-allowed;
	transform: none;
}

.services-nav-btn:focus-visible {
	outline: 2px solid #22d3ee;
	outline-offset: 3px;
}

/* responsive */
@media (max-width: 1024px) {
	.services-carousel-nav {
		margin-top: 22px;
		gap: 10px;
	}

	.services-nav-btn {
		width: 38px;
		height: 38px;
		min-width: 38px;
	}
}

@media (max-width: 767px) {
	.services-carousel-nav {
		margin-top: 18px;
	}

	.services-nav-btn {
		width: 36px;
		height: 36px;
		min-width: 36px;
	}
}

/* =========================
   QUOTE FORM - MODERN STYLE
   ========================= */

.quote-form-item .elementor-form {
	width: 100%;
}

.quote-form-item .elementor-form-fields-wrapper {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 22px;
	padding: 6px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

/* Reset de grupos */
.quote-form-item .elementor-field-group {
	margin: 0 !important;
	padding: 0 !important;
}

/* Campo email */
.quote-form-item .elementor-field-group-email {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
}

/* Input */
.quote-form-item .elementor-field-group-email .elementor-field {
	height: 45px;
	min-height: 45px;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 20px !important;
	font-size: 18px;
	font-weight: 400;
	color: #222222;
	border-radius: 16px;
}

/* Placeholder */
.quote-form-item .elementor-field-group-email .elementor-field::placeholder {
	color: #6f6f6f;
	opacity: 1;
}

/* Focus bonito */
.quote-form-item .elementor-field-group-email .elementor-field:focus {
	box-shadow: none !important;
	outline: none !important;
}

/* Botón wrapper */
.quote-form-item .e-form__buttons,
.quote-form-item .elementor-field-type-submit {
	width: auto !important;
	flex: 0 0 auto;
	margin: 0 !important;
}

/* Rompe el stretch de Elementor */
.quote-form-item.elementor-button-align-stretch .e-form__buttons,
.quote-form-item.elementor-button-align-stretch .elementor-field-type-submit {
	width: auto !important;
	flex: 0 0 auto !important;
}

/* Botón */
.quote-form-item .elementor-button {
	height: 52px;
	min-height: 52px;
	min-width: 145px;
	border: none !important;
	border-radius: 16px !important;
	background: #33a8cb !important;
	color: #ffffff !important;
	padding: 0 28px !important;
	margin: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
	transition: transform 0.2s ease, filter 0.2s ease, background 0.2s ease;
}

/* Hover */
.quote-form-item .elementor-button:hover,
.quote-form-item .elementor-button:focus {
	transform: translateY(-1px);
	filter: brightness(0.97);
}

/* Texto botón */
.quote-form-item .elementor-button-text {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.quote-form-item .elementor-button-content-wrapper {
	justify-content: center;
	align-items: center;
}

/* Oculta mensajes vacíos o spacing raro si aparece */
.quote-form-item .elementor-message {
	margin-top: 12px;
}

/* Responsive tablet/mobile */
@media (max-width: 767px) {
	.quote-form-item .elementor-form-fields-wrapper {
		flex-direction: row;
		align-items: center;
		gap: 8px;
		padding: 8px;
		border-radius: 18px;
	}

	.quote-form-item .elementor-field-group-email {
		flex: 1 1 auto;
		width: auto !important;
		min-width: 0;
	}

	.quote-form-item .elementor-field-group-email .elementor-field {
		height: 54px;
		min-height: 54px;
		font-size: 16px;
		padding: 0 16px !important;
	}

	.quote-form-item .e-form__buttons,
	.quote-form-item .elementor-field-type-submit {
		width: auto !important;
		flex: 0 0 auto !important;
	}

	.quote-form-item .elementor-button {
		height: 54px;
		min-width: 132px;
		width: auto !important;
		padding: 0 20px !important;
	}

	.quote-form-item .elementor-button-text {
		font-size: 16px;
	}
}

/* Values Container and Style */

.values-container {
	display: flex;
	gap: 0;
}

.values-container .values-item-container {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	padding-right: 42px;
	padding-top: 0;
}

/* Heading absolute */
.values-container .values-item-container>.elementor-widget-heading {
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0 !important;
	z-index: 2;
}

.values-container .values-item-container .elementor-heading-title {
	margin: 0 !important;
	font-size: 30px;
	line-height: 1.08;
	font-weight: 500;
	color: #15395b;
	max-width: 280px;
}

/* Reservar espacio debajo del heading absolute */
.values-container .values-item-container>.elementor-widget-text-editor {
	padding-top: 0px;
}

.values-container .values-item-container .elementor-widget-text-editor p {
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
	color: #4f555d;
	max-width: 300px;
}

/* Línea vertical dashed */
.values-container .values-item-container:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 34px;
	right: 0;
	height: calc(100% - 34px);
	border-right: 1px dashed #1eb4e8;
	opacity: 1;
}

/* Bolita azul */
.values-container .values-item-container:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 12px;
	height: 12px;
	background: #1eb4e8;
	border-radius: 50%;
	z-index: 3;
	transform: translate(50%, -50%);
}

@media (max-width: 991px) {

	/* Bolita azul */
	.values-container .values-item-container:not(:last-child)::after {
		top: 0;
		right: 0;
		left: -12px !important;
	}
}

@media (max-width: 1024px) {
	.values-container {
		flex-wrap: wrap;
		gap: 32px 28px;
	}

	.values-container .values-item-container {
		flex: 0 0 calc(50% - 14px);
		width: calc(50% - 14px);
		padding-right: 28px;
	}

	.values-container .values-item-container .elementor-heading-title {
		font-size: 24px;
		max-width: 240px;
	}

	.values-container .values-item-container>.elementor-widget-text-editor {
		padding-top: 0px;
	}

	.values-container .values-item-container .elementor-widget-text-editor p {
		max-width: 100%;
	}

	.values-container .values-item-container:not(:last-child)::before {
		top: 28px;
		height: 165px;
	}
}

@media (max-width: 767px) {
	.values-container {
		display: flex;
		flex-direction: column;
		gap: 26px;
	}

	.values-container .values-item-container {
		flex: 0 0 100%;
		width: 100%;
		padding-right: 0;
		padding-top: 18px;
	}

	.values-container .values-item-container>.elementor-widget-heading {
		position: relative !important;
		top: auto;
		left: auto;
		width: 100%;
	}

	.values-container .values-item-container .elementor-heading-title {
		font-size: 22px;
		line-height: 1.2;
		max-width: 100%;
	}

	.values-container .values-item-container>.elementor-widget-text-editor {
		padding-top: 14px;
	}

	.values-container .values-item-container .elementor-widget-text-editor p {
		max-width: 100%;
	}

	.values-container .values-item-container:not(:last-child)::before {
		display: none;
	}

	.values-container .values-item-container:not(:last-child)::after {
		left: 0;
		right: auto;
		top: 0;
	}
}

/* =========================================
   CENTERED SLIDER ARROWS - FIXED
   ========================================= */

.testimonials-section .elementor-widget-slides,
.testimonials-section .elementor-widget-slides .elementor-widget-container,
.testimonials-section .elementor-widget-slides .swiper,
.testimonials-section .elementor-widget-slides .swiper-wrapper {
	position: relative;
}

.testimonials-section .elementor-widget-slides .swiper {
	padding-bottom: 110px;
	padding-bottom: 50px;
}

/* Base */
.testimonials-section .elementor-widget-slides .elementor-swiper-button {
	position: absolute !important;
	top: auto !important;
	bottom: 24px !important;
	left: 50% !important;
	right: auto !important;
	margin: 0 !important;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #0d2746;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 20;
}

/* Prev */
.testimonials-section .elementor-widget-slides .elementor-swiper-button-prev {
	transform: translateX(-52px) !important;
}

/* Next */
.testimonials-section .elementor-widget-slides .elementor-swiper-button-next {
	transform: translateX(8px) !important;
}

/* Icon */
.testimonials-section .elementor-widget-slides .elementor-swiper-button i,
.testimonials-section .elementor-widget-slides .elementor-swiper-button svg {
	font-size: 14px;
	width: 14px;
	height: 14px;
	fill: #fff;
	color: #fff;
}

/* Opcional hover */
.testimonials-section .elementor-widget-slides .elementor-swiper-button:hover {
	opacity: 0.92;
}

/* Asegura que Elementor no vuelva a empujarlos */
.testimonials-section .elementor-widget-slides.elementor-arrows-position-outside .elementor-swiper-button-prev,
.testimonials-section .elementor-widget-slides.elementor-arrows-position-outside .elementor-swiper-button-next {
	left: 50% !important;
	right: auto !important;
}

/* Tablet */
@media (max-width: 1024px) {
	.testimonials-section .elementor-widget-slides .swiper {
		padding-bottom: 95px;
	}

	.testimonials-section .elementor-widget-slides .elementor-swiper-button {
		bottom: 18px !important;
		width: 42px;
		height: 42px;
	}

	.testimonials-section .elementor-widget-slides .elementor-swiper-button-prev {
		transform: translateX(-48px) !important;
	}

	.testimonials-section .elementor-widget-slides .elementor-swiper-button-next {
		transform: translateX(6px) !important;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.testimonials-section .elementor-widget-slides .swiper {
		padding-bottom: 82px;
	}

	.testimonials-section .elementor-widget-slides .elementor-swiper-button {
		bottom: 14px !important;
		width: 40px;
		height: 40px;
	}

	.testimonials-section .elementor-widget-slides .elementor-swiper-button-prev {
		transform: translateX(-44px) !important;
	}

	.testimonials-section .elementor-widget-slides .elementor-swiper-button-next {
		transform: translateX(4px) !important;
	}
}

/* =================================
   CONTACT FORM - 2 FIELDS PER ROW
   ================================= */

.contact-us-form .elementor-form-fields-wrapper {
	display: flex;
	flex-wrap: wrap;
	margin-left: -10px;
	margin-right: -10px;
}

/* Espaciado general entre fields */
.contact-us-form .elementor-field-group {
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 22px;
	box-sizing: border-box;
}

/* Dos campos por fila */
.contact-us-form .elementor-field-group.elementor-field-type-text,
.contact-us-form .elementor-field-group.elementor-field-type-email,
.contact-us-form .elementor-field-group.elementor-field-type-tel {
	width: 50%;
	max-width: 50%;
	flex: 0 0 50%;
}

/* Campos full width */
.contact-us-form .elementor-field-group.elementor-field-type-textarea,
.contact-us-form .elementor-field-group.elementor-field-type-submit {
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
}

/* Asegura que inputs y textarea ocupen todo el ancho */
.contact-us-form .elementor-field {
	width: 100%;
	box-sizing: border-box;
}

/* Botón alineado a la izquierda */
.contact-us-form .e-form__buttons {
	justify-content: flex-start;
}

/* =========================
   TABLET / MOBILE
   ========================= */
@media (max-width: 767px) {

	.contact-us-form .elementor-field-group.elementor-field-type-text,
	.contact-us-form .elementor-field-group.elementor-field-type-email,
	.contact-us-form .elementor-field-group.elementor-field-type-tel,
	.contact-us-form .elementor-field-group.elementor-field-type-textarea,
	.contact-us-form .elementor-field-group.elementor-field-type-submit {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}

	.contact-us-form .elementor-form-fields-wrapper {
		margin-left: 0;
		margin-right: 0;
	}

	.contact-us-form .elementor-field-group {
		padding-left: 0;
		padding-right: 0;
	}
}

.services-info-container {}


@media (min-width: 768px) {
	.elementor-371 .elementor-element.elementor-element-603d66f {
		--width: 63%;
	}
}

@media (min-width: 768px) {
	.elementor-371 .elementor-element.elementor-element-f9a1fe7 {
		--width: 37%;
	}
}

@media (min-width: 1700px) {
	.elementor-371 .elementor-element.elementor-element-603d66f {
		--width: 60%;
	}

	.elementor-371 .elementor-element.elementor-element-f9a1fe7 {
		--width: 40%;
	}
}

@media (min-width: 2050px) {
	.elementor-371 .elementor-element.elementor-element-603d66f {
		--width: 58%;
	}

	.elementor-371 .elementor-element.elementor-element-f9a1fe7 {
		--width: 42%;
	}
}

@media (min-width: 2500px) {
	.elementor-371 .elementor-element.elementor-element-603d66f {
		--width: 56%;
	}

	.elementor-371 .elementor-element.elementor-element-f9a1fe7 {
		--width: 44%;
	}
}

@media (min-width: 3000px) {
	.elementor-371 .elementor-element.elementor-element-603d66f {
		--width: 55%;
	}

	.elementor-371 .elementor-element.elementor-element-f9a1fe7 {
		--width: 45%;
	}
}

@media (min-width: 992px) {
	.featured-section-blogs-ft {
		height: 100%;
	}

	.featured-section-blogs-ft .elementor-loop-container {
		height: 100%;
	}
}

.featured-section-blogs-ft {}

.single-post-container .post-intro-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
	margin-bottom: 32px;
}

body.single.single-post.single-format-standard {
	background-image: linear-gradient(180deg, #E4E8E9 0%, #fbfbfc 60%);
}

.logo-intro-container-mobile {
	transform: translateY(-50%);
	top: 50% !important;
	left: 0 !important;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}

.loop-home-news-mobile {}

.loop-home-news-mobile .elementor-loop-container.elementor-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.loop-home-news-mobile .elementor-loop-container.elementor-grid .e-loop-item {
	flex: 0 0 calc(50% - 10px);
	/* 8px = gap/2 */
}

.loop-home-news-mobile .elementor-loop-container.elementor-grid .e-loop-item:nth-child(2) {
	/* */
}

.loop-home-news-mobile .elementor-loop-container.elementor-grid .e-loop-item:nth-child(3) img,
.loop-home-news-mobile .elementor-loop-container.elementor-grid .e-loop-item:nth-child(5) img {
	height: 315px;
}

.loop-home-news-mobile .elementor-loop-container.elementor-grid .e-loop-item:nth-child(5) {
	/* */
	margin-top: 30px;
}

.news-container {
	background: linear-gradient(180deg, #F4F6F6 0%, #F9FAFA 100%) !important;
}

.precta-container {
	background: linear-gradient(180deg, #EDF0F0 0%, #F1F3F4 100%) !important;
}

.intro-container {
	background: linear-gradient(180deg, #E8ECEC 0%, #EAEDEE 100%) !important;
}

@media (max-width: 991px) {

	.news-container,
	.navbar-container,
	.featured-section-blogs,
	.footer-text-titles {
		background: white !important;
	}

	.precta-container {
		background: white !important;
	}

	.intro-container {
		background: white !important;
	}

	.footer-container-menus {
		display: flex;

		/* */
	}

	.footer-container-menus .elementor-element-e3a632a,
	.footer-container-menus .elementor-element-56e885b {
		/* */

		width: 50%;
		margin-bottom: 50px;
	}

	.footer-container-menus .elementor-element-c7ac3d9 {
		order: 3;
		border: 0 !important;
	}

	.footer-container-menus .elementor-element-56e885b {
		/* */
		order: 2;
	}

	.featured-container.e-con {
		--container-max-width: 100%;
	}

	.job-header {
		display: grid;
		grid-template-columns: 1fr 50px;
		align-items: center;
	}

	.toggle-button-menu-control .elementor-menu-toggle__icon--open {
		line-height: 0;
	}
}

.service-number {
	font-size: 13px;
	color: white;
	letter-spacing: -0.03em;
}

@media (max-width: 991px) {
	.footer-text-titles .elementor-widget-heading {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.footer-text-titles .elementor-widget-heading::-webkit-scrollbar {
		display: none;
	}

	.footer-text-titles .elementor-heading-title {
		white-space: nowrap;
		overflow: visible;
		width: max-content;
	}
}

@media (max-width: 991px) {

	body,
	body main {
		overflow-x: hidden;
	}
}