/* ============================================
   Paleta de marca Soto Solutions Systems
   Primario: #4472B9 | Oscuro: #1A1A37
   Fondo suave: #F4F7FA | Hover: #5C8CD6
   ============================================ */
:root {
	--notech-base: #4472B9;
	--notech-base-rgb: 68, 114, 185;
	--notech-black: #1A1A37;
	--notech-black-rgb: 26, 26, 55;
	--notech-extra: #F4F7FA;
	--notech-extra-rgb: 244, 247, 250;
	--notech-primary: #5C8CD6;
	--notech-primary-rgb: 92, 140, 214;
	--notech-bdr-color: #e2e6eb;
	--notech-bdr-color-rgb: 226, 230, 235;
}

/* Hover en botones y enlaces (Acción #5C8CD6) */
.thm-btn:hover,
a.thm-btn:hover,
.scroll-to-top:hover,
.footer-widget__newsletter-btn:hover,
button[type="submit"]:hover {
	background-color: #5C8CD6 !important;
	border-color: #5C8CD6 !important;
	color: #fff !important;
}
/* Navbar: solo la línea (::before) en hover/current, sin cambiar fondo del enlace */
.main-menu__list > li > a:hover,
.main-menu__list > li.current > a {
	background-color: transparent !important;
	border-color: transparent !important;
}
.main-menu-three .main-menu__list > li > a:hover,
.main-menu-three .main-menu__list > li.current > a,
.stricky-header.main-menu-three .main-menu__list > li > a:hover,
.stricky-header.main-menu-three .main-menu__list > li.current > a {
	background-color: transparent !important;
}
.main-menu__list > li.current > a::before,
.main-menu__list > li > a::before { background-color: #5C8CD6; }
.why-choose-one__tab-box .tab-buttons .tab-btn.active-btn span { background-color: #4472B9; }
.why-choose-one__tab-box .tab-buttons .tab-btn span:hover { background-color: #5C8CD6; }
.accrodion.active .accrodion-title { color: #4472B9; }
.brand-one .swiper-slide {
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 140px;
	box-sizing: border-box;
}
.brand-one .swiper-slide img {
	opacity: 1;
	transition: transform 0.3s ease, opacity 0.3s ease;
	max-height: 110px;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
.brand-one .swiper-slide:hover img {
	opacity: 1;
	transform: scale(1.1);
	position: relative;
	z-index: 2;
}
.brand-one .swiper-container {
	overflow: hidden;
}
.brand-one .swiper-wrapper {
	align-items: center;
}

/* Fondos de sección suaves donde aplique */
.why-choose-one { background-color: #F4F7FA; }
.brand-one {
	background-color: #F4F7FA;
	padding-bottom: 50px;
}
/* Contenedor ancho pero controlado; menos espacio arriba/abajo del título y marcas */
.brand-one .container {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	padding-top: 50px;
	padding-bottom: 0;
}
.brand-one__title {
	width: 100%;
	max-width: 100%;
}

/* Paginación slider: área táctil ≥ 44×44 px (WCAG 2.5.5) */
#main-slider-pagination .swiper-pagination-bullet {
	min-width: 44px;
	min-height: 44px;
	/* padding: 17px; */
	box-sizing: content-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: none;
	opacity: 1;
}
#main-slider-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
	margin-left: 12px;
}
#main-slider-pagination .swiper-pagination-bullet::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--notech-white);
	opacity: 0.4;
}
#main-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
	width: 13px;
	height: 13px;
	opacity: 1;
}

@media (max-width: 767px) {
	.brand-one .container {
		padding-left: 20px;
		padding-right: 20px;
	}
}
/* La raya no debe atravesar el texto: el título lleva un span con fondo para tapar las líneas en el centro */
.brand-one__title-text {
	display: inline-block;
	background-color: #F4F7FA;
	padding: 0 0.5em;
	position: relative;
	z-index: 1;
}
.faq-search { background-color: #F4F7FA; }
.faq-page { background-color: #F4F7FA; }
.contact-page { background-color: #F4F7FA; }

/* Contraste accesible (WCAG AA) en secciones con fondo #F4F7FA */
.why-choose-one .section-title__tagline,
.why-choose-one .section-title__title,
.why-choose-one__tab-text,
.why-choose-one__text,
.faq-search .section-title__tagline,
.faq-search .section-title__title,
.contact-page .section-title__tagline,
.contact-page .section-title__title {
	color: #1A1A37;
}
.contact-page .comment-form__title,
.contact-page .comment-form__text,
.contact-page label,
.contact-page .form-group label {
	color: #1A1A37;
}

/* FAQ: fondo blanco como formulario de contacto */
.faq-page__tab-faq-content {
	background-color: #fff;
	border: 1px solid #e2e6eb;
}
.faq-page__tab-faq-content-title-icon .icon-customer-service {
	font-size: 48px;
	color: #4472B9;
}
/* FAQ: acordeón con paleta de marca */
.faq-one-accrodion .accrodion.active .accrodion-title h4,
.faq-one-accrodion .accrodion-title h4:hover { color: #4472B9; }
.faq-one-accrodion .accrodion.active .accrodion-title h4::before {
	color: #4472B9;
	border-color: #4472B9;
}
.faq-one-accrodion .accrodion-title h4::before { border-color: #e2e6eb; }

/* Contacto: inputs visibles (fondo blanco + borde; evita que se fundan con #F4F7FA) */
.contact-page .comment-form__input-box input[type="text"],
.contact-page .comment-form__input-box input[type="email"],
.contact-page .comment-form__input-box input[type="tel"],
.contact-page .comment-form__input-box textarea {
	background-color: #fff !important;
	border: 1px solid #e2e6eb;
}

/* Header arriba: oscuro; al hacer scroll la barra fija pasa a blanco (ver bloque siguiente) */
.main-header-three { background-color: #1A1A37 !important; }
/* Navbar azul: teléfono y WhatsApp en blanco (o verde suave el WhatsApp) para que se lean */
.main-menu-three .main-menu__call-number .main-menu__contact-line,
.main-menu-three .main-menu__call-number .main-menu__contact-link--call,
.main-menu-three .main-menu__call-number .main-menu__contact-link--call span,
.main-menu-three .main-menu__call-number .main-menu__contact-link--call i {
	color: #fff !important;
}
.main-menu-three .main-menu__call-number .main-menu__contact-link--call:hover {
	opacity: 1;
	color: rgba(255, 255, 255, 0.9) !important;
}
.main-menu-three .main-menu__call-number .main-menu__contact-link--wa {
	color: #4ade80 !important;
}
.main-menu-three .main-menu__call-number .main-menu__contact-link--wa:hover {
	color: #86efac !important;
}
/* Icono contacto: navbar azul = comment-2.png; navbar blanco al hacer scroll = main-menu-icon-comment.png */
.main-menu__call-icon--light {
	display: none;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-icon--dark {
	display: none !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-icon--light {
	display: block !important;
}
.site-footer { background-color: #1A1A37 !important; }

/* Navbar: sin padding vertical (eje Y) */
.main-menu-three .main-menu__logo,
.stricky-header.main-menu-three .main-menu__logo { padding-top: 0; padding-bottom: 0; }
.main-menu-three .main-menu__right,
.stricky-header.main-menu-three .main-menu__right { padding-top: 0; padding-bottom: 0; }
.main-menu-three .main-menu__list > li,
.stricky-header.main-menu-three .main-menu__list > li { padding-top: 0; padding-bottom: 0; }

/* Navbar: textos del menú centrados en el eje Y */
.main-menu-three .main-menu__wrapper,
.stricky-header.main-menu-three .main-menu__wrapper {
	display: flex;
	align-items: center;
}
.main-menu-three .main-menu__left--two,
.stricky-header.main-menu-three .main-menu__left--two {
	display: flex;
	align-items: center;
}
/* Mantener call/search/idioma totalmente a la derecha */
.main-menu-three .main-menu__right,
.stricky-header.main-menu-three .main-menu__right {
	margin-left: auto;
}

/* Navbar responsive: alto justo (reduce padding del toggler hamburguesa) */
@media (max-width: 1199px) {
	.main-menu-three .mobile-nav__toggler,
	.main-menu .mobile-nav__toggler { padding: 14px 0; }
}
/* Selector de idioma móvil: visible junto al burger cuando main-menu__right está oculto */
.main-menu__lang-mobile { display: none; }
@media (max-width: 767px) {
	.main-menu__lang-mobile {
		display: inline-flex !important;
		margin-left: 12px;
		align-items: center;
		flex-shrink: 0;
	}
	.main-menu__lang-mobile .lang-dropdown__options {
		right: 0;
		left: auto;
	}
}
/* Cuando no hay contenido después del burger (main-menu__right oculto): burger a la derecha, alto compacto */
@media (max-width: 767px) {
	.main-menu-three .main-menu__left--two,
	.stricky-header.main-menu-three .main-menu__left--two {
		width: 100%;
	}
	.main-menu-three .main-menu__main-menu-box--two,
	.stricky-header.main-menu-three .main-menu__main-menu-box--two {
		margin-left: auto;
		display: flex;
		align-items: center;
	}
	.main-menu-three .main-menu,
	.main-menu-three .main-menu__wrapper {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.main-menu-three .mobile-nav__toggler,
	.main-menu .mobile-nav__toggler { padding: 10px 0; }
	.main-menu-three .main-menu__logo img,
	.stricky-header.main-menu-three .main-menu__logo img {
		max-height: 36px;
		width: auto;
		transform: scale(1.5);
	}
}

/* Navbar fija tras scroll: apariencia (fondo blanco, texto oscuro) — Soto Solutions Systems.
   Transición: .stricky-header con transform translateY(-120%) → translateY(0) y visibility, 500ms (CSS base). */
.stricky-header.stricky-fixed.main-menu-three {
	background-color: #fff !important;
	box-shadow: 0 2px 20px rgba(26, 26, 55, 0.08);
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__list > li > a {
	color: #5d6b7a !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__list > li.current > a,
.stricky-header.stricky-fixed.main-menu-three .main-menu__list > li > a:hover {
	color: #1A1A37 !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__list > li > a::before {
	background-color: #4472B9;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number p,
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number h5 a,
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number .main-menu__contact-line,
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number .main-menu__contact-link--call,
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number .main-menu__contact-link--call span,
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number .main-menu__contact-link--call i {
	color: #1A1A37 !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number h5 a span {
	color: #1A1A37 !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number .main-menu__contact-link--wa {
	color: #25D366 !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__call-number .main-menu__contact-link--wa:hover {
	color: #20bd5a !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__search-box::before {
	background-color: rgba(26, 26, 55, 0.12);
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__search {
	color: #1A1A37 !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__search:hover {
	color: #4472B9 !important;
}
/* En barra fija blanca: mostrar logo oscuro, ocultar claro */
.stricky-header.stricky-fixed.main-menu-three .main-menu__logo .logo-light {
	display: none !important;
}
.stricky-header.stricky-fixed.main-menu-three .main-menu__logo .logo-dark {
	display: block !important;
}

/* Tamaño de logos (acorde con plantilla: 155px) */
.main-menu__logo img,
.stricky-header .main-menu__logo img {
	max-width: 155px;
	height: auto;
	display: block;
}
.footer-widget__logo img,
.logo-box img {
	max-width: 155px;
	height: auto;
}
/* Selector de idioma en barra fija */
.stricky-header.stricky-fixed.main-menu-three .lang-dropdown__toggle {
	color: #1A1A37;
}
.stricky-header.stricky-fixed.main-menu-three .lang-dropdown__options a {
	color: #1A1A37;
}
.site-footer__bottom { border-top-color: rgba(255,255,255,0.1); }
.services-one { background-color: #1A1A37; }
.services-one .section-title__tagline { color: #5C8CD6; }
.services-one .section-title__title { color: #fff; }
.services-one__top-text { color: rgba(255,255,255,0.85); }
.services-one__content { border-color: rgba(255,255,255,0.15); }
.services-one__icon span { color: #4472B9; }
.services-one__title,
.services-one__title a { color: #fff; }
.services-one__text { color: rgba(255,255,255,0.75); }
/* Hover: fondo blanco, texto oscuro, borde primario (evitar texto invisible) */
/* 6 servicios: 3 columnas en desktop, altura uniforme, padding lateral */
.services-one__list {
	align-items: stretch;
	flex-wrap: wrap;
}
.services-one__list .services-one__single {
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
	display: flex;
}
.services-one__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 37px 24px 32px;
}
.services-one__content .services-one__icon,
.services-one__content .services-one__title {
	flex-shrink: 0;
}
.services-one__text {
	flex: 1;
}
@media (max-width: 991px) {
	.services-one__list .services-one__single {
		flex: 0 0 50%;
		max-width: 50%;
	}
}
@media (max-width: 767px) {
	.services-one__list .services-one__single {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
.services-one__single:hover .services-one__content {
	border-color: #4472B9;
	background-color: #fff;
}
.services-one__single:hover .services-one__title,
.services-one__single:hover .services-one__title a { color: #1A1A37; }
.services-one__single:hover .services-one__text { color: #5d6b7a; }
.services-one__single:hover .services-one__icon span { color: #4472B9; }

/* Scroll to top con primario; tamaño mínimo 48×48 px (tap target) */
.scroll-to-top { background: #4472B9; width: 48px; height: 48px; }
.scroll-to-top i { line-height: 48px; }

/* Preloader: logo más grande; en resoluciones altas aún más */
.preloader__image {
	max-width: 200px;
	width: 180px;
	height: auto;
}
@media (min-width: 1200px) {
	.preloader__image {
		width: 220px;
		max-width: 240px;
	}
}
@media (min-width: 1600px) {
	.preloader__image {
		width: 260px;
		max-width: 280px;
	}
}

/* Asegurar que la paginación del slider sea visible (bullets para indicar y cambiar de slide) */
.main-slider-three #main-slider-pagination {
	display: flex !important;
}

/* Slider hero: menos padding superior para que el contenido no quede tan bajo */
.main-slider-three .container {
	padding-top: 180px;
}
@media (max-width: 991px) {
	.main-slider-three .container {
		padding-top: 140px;
	}
}
@media (max-width: 767px) {
	.main-slider-three .container {
		padding-top: 100px;
	}
}

/* Segundo slide del hero: imagen a la par del texto (misma altura que en el primer slide) */
.main-slider-three__slide--reversed .main-slider-three__img--left {
	left: 160px;
	right: auto;
	top: 180px;
	bottom: auto;
	width: auto;
	max-width: 42%;
	max-height: calc(100% - 180px - 80px);
	opacity: 0;
	transform: translateX(-30px);
	transition: opacity 1000ms ease, transform 1000ms ease;
}
.main-slider-three__slide--reversed .main-slider-three__img--left img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: left top;
}
.swiper-slide-active.main-slider-three__slide--reversed .main-slider-three__img--left {
	opacity: 1;
	transform: translateX(0);
}
.main-slider-three__slide--reversed .main-slider-three__shape-1--left {
	left: 0;
	right: auto;
}
.main-slider-three__slide--reversed .main-slider-three__shadow--left {
	left: 0;
	right: auto;
}
.main-slider-three__slide--reversed .main-slider-three__social--right {
	left: auto;
	right: 80px;
}
.main-slider-three__slide--reversed .main-slider__content--right {
	text-align: right;
}
/* Mejor contraste del texto en el segundo slide */
.main-slider-three__slide--reversed .main-slider__content--right p {
	color: rgba(255, 255, 255, 0.95);
}
.main-slider-three__slide--reversed .main-slider-three__btn-box {
	justify-content: flex-end;
	display: flex;
}
@media (max-width: 1199px) {
	.main-slider-three__slide--reversed .main-slider-three__img--left {
		left: 100px;
		top: 140px;
		max-width: 38%;
		max-height: calc(100% - 140px - 80px);
	}
}
@media (max-width: 991px) {
	.main-slider-three__slide--reversed .main-slider-three__img--left {
		left: 50%;
		top: 140px;
		bottom: auto;
		max-width: 70%;
		max-height: 50%;
		transform: translate(-50%, 0);
	}
	.swiper-slide-active.main-slider-three__slide--reversed .main-slider-three__img--left {
		transform: translate(-50%, 0);
	}
	.main-slider-three__slide--reversed .main-slider-three__img--left img {
		object-position: center top;
	}
	.main-slider-three__slide--reversed .main-slider__content--right,
	.main-slider-three__slide--reversed .main-slider-three__btn-box {
		text-align: center;
		justify-content: center;
	}
	.main-slider-three__slide--reversed .main-slider-three__social--right {
		right: 24px;
	}
}
@media (max-width: 767px) {
	.main-slider-three__slide--reversed .main-slider-three__img--left {
		left: 50%;
		top: 100px;
		bottom: auto;
		max-width: 75%;
		max-height: 40%;
		transform: translate(-50%, 0);
	}
	.swiper-slide-active.main-slider-three__slide--reversed .main-slider-three__img--left {
		transform: translate(-50%, 0);
	}
	.main-slider-three__slide--reversed .main-slider-three__social--right {
		right: 16px;
	}
}

/* Style switcher oculto (eliminado del DOM, por si queda referencia en CSS/JS) */
.style-switcher {
	display: none !important;
}

/* Quiénes somos: imagen centrada (sin lista de beneficios) */
.why-choose-one__points-box {
	display: block;
	margin-top: 1.5rem;
	text-align: center;
}
.why-choose-one__points-img {
	display: flex;
	justify-content: center;
}
.why-choose-one__points-img img {
	max-width: 100%;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Selector de idioma: bandera actual, dropdown con otras opciones (details/summary nativo) */
.main-menu-three .lang-dropdown__toggle {
	color: inherit;
}
.main-menu__lang.lang-dropdown {
	position: relative;
	display: inline-flex;
	margin-left: 1rem;
	align-items: center;
}
.lang-dropdown__details {
	position: relative;
}
.lang-dropdown__toggle {
	list-style: none;
	cursor: pointer;
	padding: 4px 6px;
	font-size: 1.5rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.lang-dropdown__toggle::-webkit-details-marker,
.lang-dropdown__toggle::marker { display: none; }
.lang-flag {
	width: 32px;
	height: 24px;
	object-fit: cover;
	display: block;
}
.lang-dropdown__options {
	position: absolute;
	top: 100%;
	right: 0;
	margin: 4px 0 0;
	padding: 6px 0;
	list-style: none;
	background: #fff;
	border: 1px solid #e2e6eb;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	min-width: 48px;
	z-index: 100;
}
.lang-dropdown__options a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	font-size: 1.5rem;
	text-decoration: none;
	transition: background 0.15s;
}
.lang-dropdown__options a:hover {
	background: #F4F7FA;
}
/* Barra fija: estilos del dropdown */
.stricky-header.stricky-fixed .lang-dropdown__options {
	background: #fff;
	border-color: #e2e6eb;
}

/* Header: contacto (teléfono en una línea, WhatsApp en otra) */
.main-menu__call-number p {
	line-height: 16px;
}
.main-menu__contact-line {
	margin: 0 0 0.2em 0;
	font-size: 0.95em;
	font-weight: 500;
}
.main-menu__contact-line:last-child {
	margin-bottom: 0;
}
.main-menu__contact-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	text-decoration: none;
	opacity: 0.95;
	transition: opacity 0.2s;
}
.main-menu__contact-link:hover {
	opacity: 1;
	text-decoration: underline;
}
.main-menu__contact-link i {
	font-size: 0.9em;
	opacity: 0.9;
}
.main-menu__contact-link--call i {
	color: inherit;
}
.main-menu__contact-link--wa {
	color: #25D366;
}
.main-menu__contact-link--wa:hover {
	color: #20bd5a;
}

/* ============================================
   Áreas táctiles (tap targets) ≥ 48×48 px
   PageSpeed / accesibilidad móvil
   ============================================ */
@media (max-width: 1024px) {
	.main-menu .mobile-nav__toggler,
	.main-menu-three .mobile-nav__toggler {
		min-width: 48px;
		min-height: 48px;
		padding: 12px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
	}
	.lang-dropdown__toggle {
		min-width: 48px;
		min-height: 48px;
		padding: 12px;
	}
	.lang-dropdown__options a {
		min-height: 48px;
		padding: 12px 16px;
	}
	.main-slider-three__social li a {
		min-width: 48px;
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 12px;
		box-sizing: border-box;
	}
	.main-slider-three__social li+li {
		margin-top: 12px;
	}
	.mobile-nav__social a {
		min-width: 48px;
		min-height: 48px;
		padding: 12px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
	}
	.mobile-nav__social a+a {
		margin-left: 12px;
	}
	.mobile-nav__close {
		min-width: 48px;
		min-height: 48px;
		padding: 12px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		top: 12px;
		right: 12px;
	}
}
@media (max-width: 991px) {
	.site-footer__social a {
		min-width: 48px;
		min-height: 48px;
		width: 48px;
		height: 48px;
		padding: 0;
	}
	.site-footer__social a+a {
		margin-left: 12px;
	}
	.contact-page .thm-btn,
	.contact-page button[type="submit"],
	.main-slider-three__btn-box .thm-btn {
		min-height: 48px;
		padding: 14px 24px;
	}
}
