@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Manrope:wght@200..800&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

body {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

body.rdc-reveal-enabled .rdc-reveal {
	--rdc-reveal-x: 0px;
	--rdc-reveal-y: 42px;
	--rdc-reveal-scale: 1;
	opacity: 0;
	transform: translate3d(var(--rdc-reveal-x), var(--rdc-reveal-y), 0) scale(var(--rdc-reveal-scale));
	filter: blur(10px);
	transition:
		opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.95s cubic-bezier(0.22, 1, 0.36, 1),
		filter 0.95s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--rdc-reveal-delay, 0ms);
	will-change: opacity, transform, filter;
}

body.rdc-reveal-enabled .rdc-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: blur(0);
}

body.rdc-reveal-enabled .rdc-reveal--up {
	--rdc-reveal-y: 46px;
}

body.rdc-reveal-enabled .rdc-reveal--rise {
	--rdc-reveal-y: 34px;
}

body.rdc-reveal-enabled .rdc-reveal--left {
	--rdc-reveal-x: -42px;
	--rdc-reveal-y: 18px;
}

body.rdc-reveal-enabled .rdc-reveal--right {
	--rdc-reveal-x: 42px;
	--rdc-reveal-y: 18px;
}

body.rdc-reveal-enabled .rdc-reveal--zoom {
	--rdc-reveal-y: 24px;
	--rdc-reveal-scale: 0.94;
}

@media (prefers-reduced-motion: reduce) {
	body.rdc-reveal-enabled .rdc-reveal,
	body.rdc-reveal-enabled .rdc-reveal.is-visible {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}
}

.grecaptcha-badge {
    visibility: hidden;
}

.seplinehead {
	border-top: 1px solid #ECEFEF;
	width: 100%;
}

.linkTels, .linkTelsTxt {
	color: #6E7A84;
	font-size: 14px;
}

.imgLogotop {
    width: auto;
     /* max-height: 70px; */
}

.tieneSub.activo a.linkSubCate.d-block.py-1 {
    color: #FFF !important;
}

.submenuSubcates {
	margin-top: 10px;
}

.submenuSubcates li.activo .linkSubCate {
	font-weight: 700;
	color: #FFFFFF !important;
	text-decoration: underline !important;
}

.listadoCates li.activo .linkSubCate {
	color: #D8ECF8 !important;
}

a.linkPhoneHead.me-3 {
    color: #6E7A84;
    text-decoration: none;
}	

.search-form { gap: 0; }

.search-form .search-input {
	background-color: #F7F7F7;
	border: 0;
	border-radius: 5px 0 0 5px;
	flex: 1 1 auto;
	margin-right: 0;
	box-shadow: none;
}

.search-form .search-input::placeholder {
	color: #515A62;
	opacity: 1;
}

.search-form .search-input:focus {
	background-color: #F7F7F7;
	box-shadow: none;
	outline: none;
}

/* BOTÓN */
.search-form .btn-search {
	background-color: #1E5673;
	color: #FFF;
	border: 0;
	border-radius: 0 5px 5px 0;
	margin-left: 0;
	white-space: nowrap;
    transition: .5s ease all;
}

.search-form .btn-search:hover,
.search-form .btn-search:focus {
	background-color: #5997b7!important;
	color: #FFF;
	box-shadow: none;
}

.backMenu {
	background-color: #1E5673;
}

.nav-item:first-child {
    padding-left: 0;
}

.nav-item {
    padding: 0 .7rem;
}

a.nav-link {
    color: #FFF!important;
    padding: 0!important;
    position: relative;
}

a.nav-link::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background-color: #5997b7;
    transition: width 0.3s ease;
}

a.nav-link:hover::after {
    width: 100%;
}

a.nav-link:hover {
    color: #5997b7!important;
}

.nav-item-products > a.nav-link::after,
.nav-item-software > a.nav-link::after {
	display: none;
}

.navbar-nav ul.dropdown-menu.show {
    background: #1e5673;
    border: 0;
}

a.dropdown-item {
    color: #FFF;
}

nav.navbar.navbar-expand-lg {
    padding-top: 0;
    padding-bottom: 0;
}

.nav-item-products {
	position: relative;
}

#mainNav {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.btnMobHead {
    font-size: 20px;
    color: #1E5673;
}

.btnMenuCnot {
    color: #1E5673!important;
	background-color: #F7F7F7!important;
}

@media (min-width: 992px) {
	.nav-item-products {
		padding-right: 1rem;
	}

	.nav-item-software {
		position: relative;
	}

	.productsNavDropdown {
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 290px;
		background: #f7fbfd;
		border: 1px solid rgba(22, 43, 54, 0.12);
		border-radius: 8px;
        margin-top: 8px;
        box-shadow: 0 18px 44px rgba(10, 35, 48, 0.18);
        padding: 14px 10px 10px;
		opacity: 0;
		visibility: hidden;
		transform: translateY(8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
		z-index: 1200;
	}

	.nav-item-products:hover .productsNavDropdown,
	.nav-item-products:focus-within .productsNavDropdown,
	.productsNavItem:hover .productsSubNavDropdown,
	.productsNavItem:focus-within .productsSubNavDropdown {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.productsNavMenu,
	.productsSubNavMenu {
		margin: 0;
		padding: 0;
	}

	.productsNavItem {
		position: relative;
	}

	.productsNavLink,
	.productsSubNavLink {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		padding: 11px 14px;
		border-radius: 12px;
		color: #183242;
		text-decoration: none;
		font-weight: 600;
		line-height: 1.25;
		transition: background-color 0.2s ease, color 0.2s ease;
	}

	.productsNavLink i {
		font-size: 12px;
		color: #4a7b94;
	}

	.productsNavItem:hover > .productsNavLink,
	.productsNavItem:focus-within > .productsNavLink,
	.productsNavItem.is-active > .productsNavLink,
	.productsSubNavMenu li:hover > .productsSubNavLink,
	.productsSubNavMenu li:focus-within > .productsSubNavLink,
	.productsSubNavMenu li.is-active > .productsSubNavLink {
		background: #1e5673;
		color: #ffffff;
	}

	.productsNavItem:hover > .productsNavLink i,
	.productsNavItem:focus-within > .productsNavLink i,
	.productsNavItem.is-active > .productsNavLink i {
		color: #ffffff;
	}

	.productsSubNavDropdown {
		position: absolute;
		top: -12px;
		left: calc(100% - 2px);
		min-width: 270px;
		background: #ffffff;
		border: 1px solid rgba(22, 43, 54, 0.12);
		border-radius: 8px;
        margin-top: 8px;
        box-shadow: 0 18px 44px rgba(10, 35, 48, 0.18);
		padding: 12px;
		opacity: 0;
		visibility: hidden;
		transform: translateX(8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
		z-index: 1210;
	}

	.productsNavItem:hover .productsSubNavDropdown,
	.productsNavItem:focus-within .productsSubNavDropdown {
		transform: translateX(0);
	}

	.softwareNavDropdown {
		position: absolute;
		top: 100%;
		left: 0;
		width: 280px;
		background: #f7fbfd;
		border: 1px solid rgba(22, 43, 54, 0.12);
		border-radius: 8px;
        margin-top: 8px;
        box-shadow: 0 18px 44px rgba(10, 35, 48, 0.18);
        padding: 14px 10px 10px;
		opacity: 0;
		visibility: hidden;
		transform: translateY(8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
		z-index: 1200;
	}

	.nav-item-software:hover .softwareNavDropdown,
	.nav-item-software:focus-within .softwareNavDropdown {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.softwareNavLink {
		display: flex;
		align-items: center;
		padding: 12px 14px;
		border-radius: 12px;
		text-decoration: none;
		transition: background-color 0.2s ease, color 0.2s ease;
	}

	.softwareNavItem + .softwareNavItem {
		margin-top: 4px;
	}

	.softwareNavItem:hover .softwareNavLink,
	.softwareNavItem:focus-within .softwareNavLink,
	.softwareNavItem.is-active .softwareNavLink {
		background: #1e5673;
	}

	.softwareNavTitle {
		font-size: 16px;
		font-weight: 700;
		color: #183242;
		line-height: 1.25;
	}

	.softwareNavItem:hover .softwareNavTitle,
	.softwareNavItem:focus-within .softwareNavTitle,
	.softwareNavItem.is-active .softwareNavTitle {
		color: #ffffff;
	}
}

.softwareEyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid #1e5673;
	background: #dde4e9;
	color: #1e5673;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-radius: 999px;
}

.softwareLandingHero,
.softwareHeroSection {
	padding: 32px 0 10px;
	background:
		radial-gradient(circle at top left, rgba(30, 86, 115, 0.08), transparent 35%),
		radial-gradient(circle at bottom right, rgba(30, 86, 115, 0.14), transparent 30%),
		linear-gradient(180deg, #fbfdff 0%, #f2f6fa 100%);
}

.softwareLandingHeroBox,
.softwareHeroCard,
.softwareDemoInfoCard,
.softwareDemoFormCard,
.softwareIntroContent,
.softwareTechnicalContent,
.softwareGallerySection,
.softwareBannerSection,
.softwareEmptyState {
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(18, 43, 56, 0.08);
	box-shadow: 0 16px 46px rgba(22, 43, 54, 0.08);
	border-radius: 28px;
}

.softwareLandingHeroBox {
	padding: 42px;
}

.softwareLandingTitle,
.softwareHeroCard h1 {
	font-size: 38px;
	line-height: 1.04;
	font-weight: 700;
	color: #0f1e37;
	margin: 16px 0 14px;
	max-width: 14ch;
}

.softwareLandingLead,
.softwareHeroLead,
.softwareListDesc,
.softwareDemoFormCard p,
.softwareDemoStep p {
	color: #3d5573;
	font-size: 16px;
	line-height: 1.55;
}

.softwareListingSection {
	background:
		linear-gradient(180deg, #f2f6fa 0%, #ffffff 32%);
	padding-top: 42px;
}

.softwareListingGrid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

.softwareListCard {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
	gap: 28px;
	align-items: center;
	padding: 28px;
	border-radius: 28px;
	background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(244,248,252,0.9));
	border: 1px solid rgba(18, 43, 56, 0.08);
	box-shadow: 0 18px 42px rgba(22, 43, 54, 0.08);
	text-decoration: none;
	transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.softwareListCard:hover,
.softwareListCard:focus {
	transform: translateY(-4px);
	box-shadow: 0 28px 58px rgba(22, 43, 54, 0.12);
	border-color: rgba(30, 86, 115, 0.18);
}

.softwareListText h2 {
	color: #10213d;
	font-size: 30px;
	line-height: 1.08;
	margin: 16px 0 10px;
	font-weight: 700;
}

.softwareListDesc p:last-child,
.softwareHeroLead p:last-child,
.softwareRichText p:last-child,
.softwareDemoStep p:last-child {
	margin-bottom: 0;
}

.softwareListMedia {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 50% 55%, rgba(30, 86, 115, 0.18) 0, rgba(30, 86, 115, 0.18) 34%, transparent 35%);
	min-height: 290px;
}

.softwareListMedia img,
.softwareHeroMediaFrame img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}

.softwareHeroCard {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	gap: 36px;
	align-items: center;
	padding: 30px;
}

.boxInfoGen a {
    text-decoration: none!important;
}

.softwareHeroText {
	max-width: 700px;
}

.softwareHeroLead strong,
.softwareRichText strong,
.softwareDemoStep h3,
.softwareDemoFormCard h2,
.softwareListDesc strong {
	color: #1b3358;
}

.softwareHeroMedia {
	display: flex;
	justify-content: center;
}

.softwareHeroMediaFrame {
	width: 100%;
	min-height: 430px;
	border-radius: 28px;
	padding: 18px;
	background:
		radial-gradient(circle at 60% 55%, rgba(30, 86, 115, 0.18) 0, rgba(30, 86, 115, 0.18) 34%, transparent 35%),
		linear-gradient(180deg, rgba(255,255,255,0.95), rgba(247,250,253,0.9));
	border: 1px solid rgba(18, 43, 56, 0.06);
	display: flex;
	align-items: center;
	justify-content: center;
}

.softwareHeroActions {
	margin-top: 34px;
}

.softwareContentSection {
	padding: 14px 0 28px;
}

.softwareRichText {
	padding: 34px;
	color: #203b5f;
	font-size: 16px;
	line-height: 1.65;
}

.softwareRichText ul,
.softwareRichText ol {
	padding-left: 1.2rem;
}

.softwareSectionHeading {
	margin-bottom: 18px;
}

.softwareSectionHeading h2 {
	margin: 14px 0 0;
	color: #10213d;
	font-size: 28px;
	font-weight: 700;
}

.softwareGallerySection,
.softwareTechnicalSection,
.softwareBannerSection {
	margin-top: 30px;
	padding: 28px;
}

.softwareGallerySection {
	margin-left: calc(50% - 50vw + (100vw - 100%) / 2);
	margin-right: calc(50% - 50vw + (100vw - 100%) / 2);
	padding-left: max(22px, calc((100vw - 1320px) / 2));
	padding-right: max(22px, calc((100vw - 1320px) / 2));
	border-radius: 0;
}

.softwareGalleryShell {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
}

.softwareGalleryViewport {
	position: relative;
	height: 700px;
	max-height: 700px;
	overflow: hidden;
	cursor: grab;
	background: #000000;
	border-radius: 28px;
	box-shadow: 0 24px 54px rgba(10, 15, 20, 0.28);
}

.softwareGalleryStage {
	width: 100%;
	height: 100%;
}

.softwareGalleryStage canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
}

.softwareGalleryViewport.is-dragging {
	cursor: grabbing;
}

.softwareGalleryNav {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 0;
	background: #1e5673;
	color: #fff;
	box-shadow: 0 10px 24px rgba(30, 86, 115, 0.22);
}

.softwareBannerImage {
	width: 100%;
	border-radius: 24px;
	display: block;
}

.softwareExternalLinkWrap {
	margin-top: 28px;
	text-align: center;
}

.softwareDemoSection {
	padding: 10px 0 60px;
}

.softwareDemoInfoCard,
.softwareDemoFormCard {
	padding: 32px;
	height: 100%;
}

.softwareDemoStep {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px;
	align-items: flex-start;
}

.softwareDemoStep + .softwareDemoStep {
	margin-top: 22px;
}

.softwareDemoStepIndex {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #1e5673;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 16px;
}

.softwareDemoFormCard .form-label {
	color: #1b3358;
	font-size: 14px;
	font-weight: 700;
}

.softwareDemoFormCard .form-control {
	min-height: 58px;
	border-radius: 16px;
	border: 1px solid #d6dfeb;
	padding: 16px 18px;
	font-size: 16px;
}

.softwareDemoFormCard textarea.form-control {
	min-height: 160px;
	resize: vertical;
}

.softwareSubmitButton {
	width: 100%;
	font-size: 16px;
	background: #1E5673;
	color: #FFF !important;
    border: 1px solid #1E5673 !important; 
	border-radius: 5px;
	padding: 12px 18px;
	text-decoration: none !important;
}

.softwareEmptyState {
	padding: 34px;
}

.softwareLightbox {
	position: fixed;
	inset: 0;
	background: rgba(13, 24, 35, 0.86);
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease, visibility 0s linear 1s;
}

.softwareLightbox.is-visible {
	opacity: 1;
	visibility: visible;
	transition: opacity 1s ease;
}

.softwareLightboxDialog {
	position: relative;
	width: min(1120px, calc(100vw - 40px));
	height: min(80vh, calc(100vh - 40px));
	padding: 26px;
	border-radius: 28px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
	display: flex;
	align-items: center;
	justify-content: center;
	transform: scale(0.96);
	opacity: 0;
	transition: transform 1s ease, opacity 1s ease;
}

.softwareLightbox.is-visible .softwareLightboxDialog {
	transform: scale(1);
	opacity: 1;
}

.softwareLightboxBody {
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.softwareLightboxBody img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	display: block;
	border-radius: 20px;
}

.softwareLightboxVideoRatio {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
}

.softwareLightboxVideoRatio iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 20px;
}

.softwareLightboxClose {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #1e5673;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

body.softwareLightboxOpen {
	overflow: hidden;
}

.bannerHome {
	min-height: 350px;
	background: center center / cover no-repeat;
	color: #fff;
	border-bottom-right-radius: 80px;
}

.bannerHome .row { min-height: 350px; --bs-gutter-x: 0;}

.boxTextBannerHome {
    max-width: 500px;
    min-height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
}

.boxTextBannerHome.bannerTextPosCenter {
    align-items: center;
    text-align: center;
}

.boxTextBannerHome.bannerTextPosRight {
    align-items: flex-end;
    text-align: right;
}

.subtitBannHome {
    color: #E74B3C;
    color: #FFF;
}

.descBannHome {
	margin: 10px 0 0;
	font-size: 18px;
	line-height: 1.35;
	font-weight: 500;
	max-width: 520px;
}

.boxCardSide {
    width: 100%;
}

.titBannHome {
    font-weight: 600;
    font-size: 34px;
}

.boxCateProds {
    width: 100%;
    background: #ECEFEF;
    border-radius: 10px;
    padding: 15px 0;
    margin-top: 50px;
    box-shadow: -18px 2px 31px -3px rgba(0, 0, 0, 0.18);
    -webkit-box-shadow: -18px 2px 31px -3px rgba(0, 0, 0, 0.18);
    -moz-box-shadow: -18px 2px 31px -3px rgba(0, 0, 0, 0.18);
}

.boxCateProds h2 {
    color: #162B36;
    font-size: 26px;
    font-weight: 500;
    margin-bottom: 14px;
    padding: 0 15px;
}

ul.listadoCates {
    list-style: none;
    padding-left: 0;
}

.listadoCates li {
    padding: 10px 15px;
    border-bottom: 1px solid #FFF;
}

a.linkCate {
    gap: 0;
    text-decoration: none !important;
    color: #162B36;
	transition: all ease .5s;
	font-weight: 500;
}

.linkCateMain {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.cateToggleIcon {
	flex-shrink: 0;
}

.linkCate:hover {
  color: #439bc7;
}

.listadoCates li.activo {
    background-color: #1E5673;
    color: #FFF;
}

.listadoCates li.activo a.linkCate {
    color: #FFF;
}

.iconCate {
	transition: all ease 1s;
    width: 26px;
    height: 26px;
	display: inline-block;
	flex-shrink: 0;

	background-color: #1e5673;

	-webkit-mask: var(--icon-url) no-repeat center;
	mask: var(--icon-url) no-repeat center;

	-webkit-mask-size: contain;
	mask-size: contain;
}

.listadoCates li.activo .iconCate {
  background-color: #FFF;
}

.linkCate:hover .iconCate {
  background-color: #439bc7; /* tono más oscuro */
}

.boxProdsH {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media (min-width: 992px) {
	.boxProdsH {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 50px;
	}
}

.boxProds {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media (min-width: 992px) {
	.boxProds {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.cardProdH {
	background: #fff;
	border-radius: 8px;
	padding: 20px;
	box-shadow: -10px 2px 31px -3px rgba(0, 0, 0, 0.18);
	height: 100%;
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
    grid-auto-rows: auto;
    align-items: start;
	column-gap: 8px;
    transition: all ease .5s;
}

.cardProdH:hover {
    transform: translate3d(8px, -8px, 10px);
	box-shadow: -10px 2px 31px -3px rgba(0, 0, 0, 0.38);
}

.imgCPH {
	max-width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.btnCPH {
	background: transparent;
	border: 1px solid #162B36;
	color: #162B36;
	border-radius: 5px;
	padding: .5rem 1rem;
	display: inline-block;
	font-size: 14px;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.btnCPH:hover,
.btnCPH:focus {
	background: #162B36;
	color: #fff;
	border-color: #162B36;
}

.btnOutRDC26 {
    color: #1E5673 !important;
    border-color: #1E5673 !important;
    border-radius: 5px;
    padding: 6px 12px;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.btnOutRDC26:hover,
.btnOutRDC26:active,
.btnOutRDC26:focus {
    background: #1E5673!important;
    color: #FFF !important;
    border-color: #1E5673 !important;
}

.descCPH {
    color: #6E7A84;
    font-size: 14px;
}

.tituloCPH {
    font-size: 22px;
    color: #162B36;
	white-space: pre-line;
}

.midBannerHome {
    min-height: 600px;
    background: center bottom / cover no-repeat;
    color: #fff;
    position: relative;
}

.midBannerHome.midBannerHomeSimple {
    min-height: auto;
    background: transparent;
    padding: 40px 0;
}

.midBannerHome .row {
    min-height: 600px;
    --bs-gutter-x: 0;
}

.midBannerHomeSimple .row {
    min-height: auto;
}

.midBannerPicture {
    display: block;
    width: 100%;
    text-align: center;
}

.midBannerPictureImg {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: cover;
    object-position: center;
}

.boxMidBannerH {
    display: flex;
    gap: 15px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
}

.col1MidBan {
    width: 60%;
}

.col2MidBan {
    width: 40%;
    text-align: center;
}

.titMidBanHome {
    font-size: 30px;
    color: #FFF;
    font-weight: bold;
    line-height: 1;
}

.subtitMidBanHome {
    font-size: 14px;
    color: #FFF;
}

.btnGenRDC {
    background-color: #1E5673;
    color: #FFF !important;
    border: 0;
    border-radius: 5px;
    padding: 6px 12px;
    text-decoration: none !important;
}

img.midBannImg {
    width: 80%;
    margin: 0 auto;
    max-width: 320px;
}

.cardHomeH {
	background: #fff;
	border-radius: 8px;
	padding: 20px;
	box-shadow: -10px 2px 31px -3px rgba(0, 0, 0, 0.18);
	height: 100%;
	display: flex;
	gap: 16px;
    transition: all ease .5s;
}

.cardHomeH:hover {
    transform: translate3d(8px, -8px, 10px);
    box-shadow: -10px 2px 31px -3px rgba(0, 0, 0, 0.38);
}

.imgCH2 {
	max-width: 100%;
	height: auto;
	width: 200px;
	display: block;
}

.descCH {
    color: #6E7A84;
    font-size: 16px;
}

.tituloCH {
    font-size: 20px;
    color: #162B36;
}

.col2CPH {
    display: flex;
}

.itemNovedad {
    background: #F6F6F6;
    overflow: hidden;
    border-radius: 8px;
	display: block;
    text-decoration: none !important;
	height: 100%;
    transition: all ease .5s;
}

.itemNovedad:hover {
    transform: translate3d(8px, -8px, 10px) scale3d(1.04,1.04,1.04);
    box-shadow: -10px 2px 31px -3px rgba(0, 0, 0, 0.18);
}

img.imgNovedadSm {
    width: 100%;
    height: 150px;
    object-fit: cover;
    object-position: center;
}

.boxDescNov {
    padding: 15px;
}

p.fechaNovSm {
    color: #ADADAD;
    font-size: 13px;
}

.descNovSm {
    color: #6E7A84;
}

.novedadesPagination .page-link {
    color: #1E5673;
    border-color: #d7e2e9;
    padding: 10px 14px;
    min-width: 44px;
    text-align: center;
}

.novedadesPagination .page-item.active .page-link {
    background-color: #1E5673;
    border-color: #1E5673;
    color: #FFF;
}

.novedadesPagination .page-link:hover,
.novedadesPagination .page-link:focus {
    color: #FFF;
    background-color: #1E5673;
    border-color: #1E5673;
    box-shadow: none;
}

.novedadesPagination .page-item.disabled .page-link {
    color: #9aa7b2;
    background-color: #f3f6f8;
    border-color: #d7e2e9;
}

.fndInfoFoo {
    background: #1E5673;
    color: #FFF;
	padding-top: 15px;
    padding-bottom: 15px;
}

.itemInfoFooter {
    display: flex;
    gap: 15px;
}

.iconItemInfoFooter {
    width: 60px;
}

.iconItemInfoFooter img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    object-position: center;
}

p.titItemInfoFooter {
    margin-bottom: 0px;
	font-weight: bold;
    font-size: 18px;
}

.textItemInfoFooter span {
    font-size: 16px;
}

img.logoFooter {
    width: 100%;
    max-width: 240px;
    margin-bottom: 15px;
}

a.linkPhoneFoot {
    color: #162B36!important;
    font-size: 20px;
    text-decoration: none!important;
    font-weight: 600;
}

span.tituloHelpFoo {
    color: #1E5673;
    display: block;
    font-size: 14px;
}

.bloqueFoot1 {
    display: flex;
    gap: 15px;
}

.contImgPhone {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    background: #f1f1f1;
    padding: 10px;
}

img.iconPhoneFoot {
    width: 100%;
    max-width: 28px;
}

.nombreSucursal {
    color: #162B36;
    font-weight: 600;
    margin-bottom: 5px;
    display: block;
    font-size: 18px;
}

.infoSucursal {
    color: #6E7A84;
    font-size: 16px;
}

.infoSucursal a {
    color: #6E7A84!important;
    text-decoration: none!important;
}

form#formContactFast {
    background: #F7F7F7;
    padding: 30px 80px;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 20px;
}

.xtFormFooter {
    color: #162B36 !important;
    font-size: 20px;
    font-weight: 600;
}

.contentFieldsFormFoo {
    display: grid;
    gap: 10px;
    justify-content: space-between;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

p.legalFooter {
    font-size: 12px;
}

a.btnWspSite {
    position: fixed;
    bottom: 10px;
    right: 20px;
    z-index: 9999;
    display: block;
    width: 50px;
}

a.btnWspSite img {
    width: 100%;
    display: block;
}

.titBannHomeBlu {
    color: #1E5673;
    font-size: 38px;
    font-weight: 600;
}

.titBannHomeBlu.inverted {
    color: #FFF;
}

.bannerInte {
	min-height: 300px;
	background: center center / cover no-repeat;
	color: #fff;
	border-bottom-right-radius: 80px;
}

.bannerInte .row { min-height: 300px; --bs-gutter-x: 0;}

.subtitSecc {
    color: #1E5673;
    font-size: 28px;
    font-weight: 600;
}

.boxInfoGen {
    background-color: #1E5673;
    width: 100%;
    max-width: 360px;
    color: #FFF;
    padding: 30px 20px;
    border-radius: 15px;
    font-weight: bold;
    font-size: 18px;
}

a.linkMailGen, a.linkPhoneBox {
    color: #FFF !important;
    text-decoration: none !important;
}

span.generalline {
    font-size: 14px;
    font-weight: normal;
}

a.linkMailGen {
    font-size: 14px;
}

#btnEnviarDist {
    background-color: #1E5673;
    color: #FFF;
    border: 0;
    border-radius: 0 5px 5px 0;
    margin-left: 0;
    white-space: nowrap;
}

form.formDistribuidores {
    padding: 25px;
    border-radius: 15px;
    background: #F7F7F7F7;
}

button.btn.btnEnviarMsj {
    background-color: #1E5673;
    color: #FFF;
    border: 0;
    border-radius: 5px;
    margin-left: 0;
    white-space: nowrap;
    padding: 6px 25px;
    width: 100%;
}

.cardProd {
    background:#FFF;
    border: 1px solid #d7e2e9;
    border-radius: 14px;
    padding: 24px;
    height: 100%;
	display: flex;
	flex-direction: column;
    align-items: start;
	column-gap: 14px;
	text-decoration: none;
	color: #162B36;
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(22, 43, 54, 0.08);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.rowcardProd{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    gap: 24px;
}

.cardProd:hover,
.cardProd:focus {
    transform: translateY(-6px);
    border-color: rgba(30, 86, 115, 0.22);
    box-shadow: 0 26px 54px rgba(22, 43, 54, 0.14);
}

.cardProd .col1CPH {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.cardProd .col2CPH {
    position: relative;
    z-index: 1;
    min-height: 220px;
    justify-content: center;
    align-items: center;
    padding: 12px;
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 50%, rgba(30, 86, 115, 0.16) 0, rgba(30, 86, 115, 0.16) 34%, transparent 35%),
        linear-gradient(180deg, #f9fbfd 0%, #edf3f7 100%);
}

.cardProd .tituloCP {
    margin-bottom: .75rem;
    font-size: 28px;
    line-height: 1.08;
    font-weight: 700;
    color: #10213d;
	white-space: pre-line;
}

.cardProd .descCP {
    color: #5a6b78;
    font-size: 16px;
    line-height: 1.6;
}

.cardProd .descCP p:last-child,
.cardProd .descCP ul:last-child,
.cardProd .descCP ol:last-child {
    margin-bottom: 0;
}

.cardProd .imgCP {
    width: 100%;
    max-width: 240px;
    max-height: 220px;
    height: 100%;
    display: block;
    object-fit: contain;
    margin: 0 auto;
}

.titleCateLis {
    font-size: 14px;
    font-weight: normal;
    margin-top: 50PX;
    margin-bottom: 15px;
    color: #6E7A84;
}


/* prods */

/* ===== Layout multimedia ===== */
.mediaGrid{
  display:grid;
  grid-template-columns:1fr 210px; /* visor / thumbs */
  gap:16px;
  align-items: stretch; 
      height: 450px;
}
@media (max-width:991.98px){ .mediaGrid{ grid-template-columns:1fr; } }

/* Visor: 16:9 para YouTube (sirve también para imágenes) */
.mediaViewerCont{
  width:100%;
  position: relative;
}
.mediaViewer{
  width:100%;
  aspect-ratio:16/9;
  border: 1px solid #cfcfcf;               /* mejor fondo para video */
  border-radius:8px;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.mediaViewer img,
.mediaViewer iframe{
  width:100%; height:100%;
  object-fit:contain;            /* imágenes: mantener proporción */
  display:block;
  border:0;
}

/* Thumbs: 3 visibles con scroll vertical; horizontal en mobile */
.mediaThumbs{
  display:flex; flex-direction:column; gap:10px;
  height: 100%; 
  overflow-y:auto; padding-right:2px; scroll-behavior:smooth;
}
@media (max-width:991.98px){
  .mediaThumbs{ flex-direction:row; overflow-x:auto; overflow-y:hidden; height: auto;  }
}

.thumb{
  position:relative; padding:0; border:0; background:#fff;
  border-radius:6px; overflow:hidden; cursor:pointer; outline:none;
  height:110px; flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(0,0,0,.06) inset;
  transition:box-shadow .15s ease, transform .15s ease;
}
.mediaThumbs .thumb{
  flex: 0 0 auto;
  height: calc((100% - 20px) / 3);   /* 20px = 2 gaps de 10px entre 3 ítems */
  position: relative;
  padding: 0; border: 0; background: #fff;
  border-radius: 6px; overflow: hidden; cursor: pointer; outline: none;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06) inset;
  transition: box-shadow .15s ease, transform .15s ease;
}
.thumb:hover,.thumb:focus{ box-shadow:0 0 0 2px #1E5673 inset; }
.thumb.is-active{ box-shadow:0 0 0 2px #162B36 inset; }

.thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.thumbPlay{
  position:absolute; right:6px; bottom:6px;
  background:rgba(0,0,0,.6); color:#fff; font-size:12px; line-height:1;
  padding:4px 6px; border-radius:3px;
}

/* Info */
.nombreProducto {
    font-weight: 600;
    color: #1E5673;
    font-size: 28px;
}
.descripcionProducto{ color:#515A62; }

.breadcrumbs {
    margin-top: 50PX;
}

li.breadcrumb-item {
    font-size: 14px;
    font-weight: normal;
    color: #6E7A84;
}

.pr0 {
    padding-right: 0!important;
}

li.breadcrumb-item a {
    color: #6E7A84!important;
	text-decoration: none!important;
}

@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.rotating {
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite;
  display: inline-block;
}

.imgLightboxBackdrop{
	position:fixed;
	inset:0;
	background:rgba(0,0,0,.85);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:1050;
}
.imgLightboxBackdrop .imgLightboxFigure{
	max-width:90vw;
	max-height:90vh;
	display:flex;
	align-items:center;
	justify-content:center;
}
.imgLightboxBackdrop img{
	max-width:100%;
	max-height:100%;
}
.imgLightboxClose{
	position:absolute;
	top:15px;
	right:20px;
	background:transparent;
	border:0;
	font-size:2.5rem;
	color:#fff;
	cursor:pointer;
	line-height:1;
}

.linkSubCate {
	text-decoration: none !important;
    color: #162B36 !important;
}

.container.h-100.d-flex.align-items-center.justify-content-start {
    z-index: 200;
    position: relative;
}

.imgHomeBaa {
    position: absolute;
    top: 0;
	left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

img.imgHomeBaa_1 {
    position: absolute;
    top: 30px;
    width: 150px;
    left: 35px;
}

img.imgHomeBaa_2 {
    bottom: 35px;
    position: absolute;
    width: 120px;
    left: 35px;
}

img.imgHomeBaa_3 {
    position: absolute;
    left: 50%;
    margin-left: -400px;
    width: 200px;
    bottom: 35px;
}

img.imgHomeBaa_4 {
    position: absolute;
    right: 50%;
    margin-right: -100px;
    width: 100px;
    bottom: 65px;
}

img.imgHomeBaa_5 {
    position: absolute;
    right: 50%;
    margin-right: -250px;
    width: 100px;
    bottom: 65px;
}

img.imgHomeBaa_6 {
    position: absolute;
    right: 50%;
    margin-right: -400px;
    width: 100px;
    bottom: 65px;
}

img.imgHomeBaa_7 {
    position: absolute;
    right: 0px;
    width: 390px;
    top: 105px;
}

.cajaBannerPedrro {
    margin: 0 180px;
	margin-top: -80px;
}

.boxMarcaTop {
    margin-bottom: 35px;
    text-align: center;
    width: fit-content;
    color: #a8a6ab;
    font-size: 30px;
    line-height: 1;
    font-weight: bold;
}

.boxMarcaTop span {
    color: #fd270d;
}

.listSocialFoot {
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
    display: flex;
    gap: 12px;
    font-size: 20px;
    margin-top: 15px;
}

a.linkFootSocial {
    color: #1E5673;
    text-decoration: none;
    font-size: 24px;
    transition: all ease .5s;
    display: inline-block;
}

a.linkFootSocial:hover {
    transform: scale(1.2);
    filter: drop-shadow(2px 2px 2px rgb(30 86 115 / 30%));
}

body.pix-disable-default-cursor {
    cursor: none !important
}

body.pix-disable-default-cursor a,body.pix-disable-default-cursor * {
    cursor: none !important
}

.pix-custom-cursor {
    z-index: 9999999999999;
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    will-change: transform;
    display: none;
}

.pix-custom-cursor.bg-exclusion {
    mix-blend-mode: exclusion
}

.pix-custom-cursor .pix-cursor-inner {
    width: 72px;
    height: 72px;
    margin-top: -50%;
    margin-left: -50%;
    border-radius: 50%;
    transform-origin: center;
    transform: scale(0.25);
    will-change: transform,opacity;
    transform-style: flat;
    transition: opacity .2s ease-in-out,transform .2s ease-in-out;
    background-color: #1E5673;
}

.pix-custom-cursor .pix-cursor-inner:not(.bg-exclusion) {
    opacity: .3
}

.pix-custom-cursor .pix-cursor-inner.bg-default {
    background: #000;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 10%, rgba(0, 0, 0, 0.5) 100%)
}

.pix-custom-cursor.hide-cursor {
    opacity: 1;
}

.pix-custom-cursor.cursor-focus .pix-cursor-inner {
    transform: none
}

.pix-custom-cursor.cursor-focus .pix-cursor-inner:not(.bg-exclusion) {
    opacity: .2
}

.pix-custom-cursor {
  transition: opacity .2s ease-in-out;
}

.pix-custom-cursor .pix-cursor-inner {
  transition: 
    opacity .2s ease-in-out,
    transform .2s ease-in-out;
}

.pix-custom-cursor.cursor-hover .pix-cursor-inner {
  transform: scale(0.75); /* 150% de 0.25 */
  opacity: .15;
}


.containerTitleSecWb {
	display: flex;
	justify-content: space-between;
}

button#softwareDemoSubmit:hover {
    color: #1E5673 !important;
    border: 1px solid #1E5673 !important;
}

.contDescargables {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

a.btnDescargaFile {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #1E5673!important;
    gap: 6px;
    text-decoration: none!important;
}

a.btnDescargaFile i.fa {
    font-size: 40px;
	transition: .5s all;
}

a.btnDescargaFile:hover i.fa {
    text-shadow: 0px 0px 10px rgb(30 86 115 / 50%);
}
