/*Tipografías*/
@font-face {
  font-family: "Gotham-Bold";
  src: url("../fonts/Gotham-Bold.woff2") format("woff2"), url("../fonts/Gotham-Bold.woff") format("woff"), url("../fonts/Gotham-Bold.ttf") format("truetype"); }

@font-face {
  font-family: "Gotham-Medium";
  src: url("../fonts/Gotham-Medium.woff2") format("woff2"), url("../fonts/Gotham-Medium.woff") format("woff"), url("../fonts/Gotham-Medium.ttf") format("truetype"); }

@font-face {
  font-family: "Gotham-Book";
  src: url("../fonts/Gotham-Book.woff2") format("woff2"), url("../fonts/Gotham-Book.woff") format("woff"), url("../fonts/Gotham-Book.ttf") format("truetype"); }

/*Colores generales*/
:root {
  --color-naranja: #FF9E0F;
  --color-naranja-oscuro: #EC842B;
  --color-celeste: #004471;
  --color-gris: #444444;
  --color-violeta: #5e1aa0;
  --color-oro: #7a4800;
  --color-ocre: #9F8E81;
  --color-verde: #036b4f;
  --color-cian: #015670;
  --color-azul: #2563EB;
  --color-azul-oscuro: #0414C9;
  --color-celeste: #00A6FF;
  --color-hover: #0056b3;
  --color-blanco: #ffffff;
  --color-negro: #000;
}

.icon-ayuda-naranja,
.icon-interesa-naranja,
.icon-naranja img{
  filter: brightness(0) saturate(100%) invert(76%) sepia(40%) saturate(6332%) hue-rotate(345deg) brightness(99%) contrast(87%);
}

.icon-ayuda-celeste,
.icon-interesa-celeste,
.icon-celeste img{
  filter: brightness(0) saturate(100%) invert(14%) sepia(58%) saturate(6133%) hue-rotate(232deg) brightness(88%) contrast(112%);
}

.icon-ayuda-azul,
.icon-interesa-azul,
.icon-azul img{
  filter: brightness(0) saturate(100%) invert(14%) sepia(58%) saturate(6133%) hue-rotate(232deg) brightness(88%) contrast(112%);
}

.icon-ayuda-cian,
.icon-interesa-cian,
.icon-cian img{
  filter: brightness(0) saturate(100%) invert(21%) sepia(52%) saturate(2830%) hue-rotate(171deg) brightness(91%) contrast(101%);
}

.icon-ayuda-verde,
.icon-interesa-verde,
.icon-verde img{
  filter: brightness(0) saturate(100%) invert(31%) sepia(54%) saturate(1347%) hue-rotate(129deg) brightness(85%) contrast(102%);
}

.icon-ayuda-violeta,
.icon-interesa-violeta,
.icon-violeta img{
  filter: brightness(0) saturate(100%) invert(7%) sepia(70%) saturate(7217%) hue-rotate(271deg) brightness(118%) contrast(93%);
} 

/*Estilos generales*/
body{
  margin: 0;
  font-family: 'Gotham-Book', sans-serif;
}

p {
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;
    color: inherit;
    margin: 0;
}

section .container{
  max-width:1500px!important;
}

section .container-sm,
.container-sm{
  max-width: 1140px!important;
}

h1 {
  font-family: 'Gotham-Bold', sans-serif;
}

.heading-1{
  font-family: 'Gotham-Bold', sans-serif;
  font-size: 60px;
  line-height: 75px;
}

h2 {
  font-family: 'Gotham-Medium', sans-serif;
}

.heading-3{
  font-family: 'Gotham-Bold', sans-serif;
  font-size: 40px;
  line-height: 38px;
}

h4,
.heading-4{
  font-family: 'Gotham-Medium', sans-serif;
  font-size: 28px;
  line-height: 36px;
}

h6,
.heading-6{
  font-size: 22px;
  line-height: 20px;
  font-family: "Gotham-Medium", sans-serif;
}

p {
  font-family: 'Gotham-Book', sans-serif;
}

.text-medium{
  font-family: 'Gotham-Medium', sans-serif;
  color:#000;
}

.text-grey { color: #5E5E5E; }
.text-blue{color: #007cbf; }

.text-bold,
strong{ font-weight: 500; font-family: 'Gotham-Bold', sans-serif;}

small, .small {
  font-size: 80%;
  font-weight: 400;
}

/*Tamaños de texto*/
.tt-14{
  font-size:14px;
}

.tt-16{
  font-size:16px;
}

.fs-10 {
    font-size: 10px !important;
}


/*Tipografía*/
.gm{
  font-family: 'Gotham-Medium' !important;
  font-weight: 500 !important;
}

/*Oscurecidos*/
[class*="bg-"][class*="icono-"] img {
  width: 30px;
  opacity: 0.4;
  margin: 0px 18px;
}


/*Fondos de color*/
.bk-white {
  background-color: #ffffff;
}

.bk-extra-dark-blue {
    background-color: #001B35;
}

@media (max-width: 576px) {
  h1.hero-title,
  .heading-1{
    font-size: 36px!important;
    line-height: 45px!important;
  }

  h4, .heading-4{
    font-size: 20px;
    line-height: 33px;
  }


}

/*Cabecera*/
.header-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.page-template-page-opiniones .header-top{
	background-color: #03294F;
}

.header-top.scrolled {
  background-color: #03294F; 
  transition: background-color 0.3s ease;
}

.modal-open.header-top.scrolled {
  background-color: transparent; 
}

.cabecera-naranja{
  background: url(../images/hero/cabecera-naranja.svg) no-repeat top center;
  background-size: contain;
  height: 730px;
}

.cabecera-azul{
  background: url(../images/hero/cabecera-azul.svg) no-repeat top center;
  background-size: contain;
  height: 900px;
  width: 100%;
}

.cabecera-celeste{
  background: url(../images/hero/cabecera-azul-claro.svg) no-repeat top center;
  background-size: contain;
  height: 900px;
  width: 100%;
}

.cabecera-celeste-mobile{
  background: url(../images/hero/cabecera-celeste-mobile.svg) no-repeat top center;
  background-size: contain;
  height: 900px;
  width: 100%;
}

.fondo-naranja{
  background-color: var(--color-naranja);
}

.fondo-azul{
  background-color: var(--color-azul);
}

.fondo-celeste{
  background-color: var(--color-celeste);
}

.fondo-violeta{
  background-color: var(--color-violeta);
}

.fondo-ocre{
  background-color: var(--color-ocre);
}

@media (max-width: 576px) {
.cabecera-naranja{
  background: url(../images/hero/cabecera-naranja-mobile.svg) no-repeat top center;
}

.cabecera-azul{
  background: url(../images/hero/cabecera-azul.svg) no-repeat top center;
}

.cabecera-celeste{
  background: url(../images/hero/cabecera-azul-claro.svg) no-repeat top center;
}
}
.container.header-inner{
    max-width: 100%;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    padding: 2rem 5rem 2rem 2rem;
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: transparent;
    transition: background 0.3s ease;
    z-index: 10000;
}

.site-header.scrolled {
    background: #032b4b; /* o blanco si cambia en scroll */
}

body.menu-open .site-header {
    background: #032b4b; /* para que se vea sobre el móvil */
}

.language-selector {
    display: flex;
    align-items: center;
}
.navbar-toggler {
    background: transparent;
    border: none;
    font-size: 24px;
    cursor: pointer;
}
.navbar-toggler-icon {
    display: inline-block;
    width: 30px;
    height: 3px;
    background: #fff;
    position: relative;
    background: transparent!important;
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background: #fff;
    left: 0;
}
.navbar-toggler-icon::before {
    top: -10px;
}
.navbar-toggler-icon::after {
    bottom: -10px;
}

ul#menu-menu-principal {
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 0rem;
}

.menu-item a {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-family: 'Gotham-Medium', sans-serif;
    color: white;
    text-decoration: none;
}

.menu-item a:hover {
    color: rgba(255, 255, 255, 0.75);
}

@media (min-width: 992px) {
  .main-nav .dropdown {
    position: relative;
  }

  .main-nav .dropdown-menu {
    display: block; 
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
  }

  .main-nav .dropdown:hover > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .navbar-nav .dropdown-menu{
    position: absolute !important;
    left: 0;
    margin-top: -10px !important;
    width: 33rem;
  }

  .main-nav .dropdown-toggle:focus,
  .main-nav .dropdown-toggle:hover {
    outline: none !important;
    box-shadow: none !important;
  }
  .nav-link:focus, .nav-link:hover{
    color: rgba(255, 255, 255, 0.7) !important;
  }

}

/*.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
    color: #fff!important;
}*/

.dropdown-menu li.menu-item a{
    color:#212529;
    font-family: 'Gotham-Book';
}

.dropdown-menu li.menu-item.menu-item-type-post_type.nav-item:hover {
    background-color: #032b4b;
}

.dropdown-menu li.menu-item.menu-item-type-custom.menu-item-object-custom.nav-item:hover a {
    color: #fff;
}

.mobile-menu {
    display: none;
    background: #032b4b;
    padding: 1rem;
}
.mobile-menu .mobile-nav li {
    list-style: none;
    margin: 1rem 0;
}
.mobile-menu .mobile-nav a {
    color: white;
    font-weight: bold;
    text-decoration: none;
    font-size: 24px;
    font-family: "Gotham-Book", sans-serif !important;
    letter-spacing: 1px;
}
.mobile-menu .mobile-nav li::after {
    content: "•••";
    display: block;
    color: #00cfff;
    font-size: 2rem;
    text-align: center;
    margin-top: 0.2rem;
}
.hero-section.page-home{
    /*background: url(https://lfdipruebas.moovity.io/wp-content/uploads/2025/06/inventar.png) no-repeat top center;*/
    /*background-size: cover;*/
    height: 920px;
}

/*.hero-section.page-lfdi{
    padding-top: 200px;
}*/

@media (max-width: 576px){
  .mobile-menu{
    padding-top: 1rem!important;
  }
  .menu-open .menu-item a{
    color:#fff!important;
  }

  .hero-section.page-lfdi{
    padding-top: 150px;
	border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
  }
	
  .hero-section.page-lfdi{
	  padding-top: 100px;
  }
}

.contact-button a {
    color: #fff;
    font-family: 'Gotham-Medium';
    text-decoration: none;
    display: inline-block;
    transition: transform 0.3s ease;
}

.icon-header{
    margin-right:0.2rem;
}

.contact-button a:hover {
  transform: translateY(-3px);
}

.home-services-buttons .contact-button{
	margin-left:0px!important;
}

.breadcumbs-container {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 30px;
    padding: 10px 20px;
    color: #0c2340;
    font-family: "Gotham-Book", sans-serif;
    font-size: 16px;
    text-decoration: none;
    gap: 8px;
}

.breadcumbs-container::before {
    content: "";
    display: inline-block;
    background: url('../images/house.svg') no-repeat center center;
    background-size: contain;
    width: 16px;
    height: 16px;
}
@media (max-width: 1450px){
	.breadcumbs-container::before{
	    width:16px;
    height:16px;
	}
}


/* Mostrar menú móvil al hacer clic */
.menu-open .mobile-menu {
    display: block;
}

/* --- Desktop by default --- */
.main-nav {
    display: block;
}
.navbar-toggler,
.mobile-menu {
    display: none;
}

/* --- Mobile (breakpoint: max 991px) --- */
@media (max-width: 991px) {
    .scrolled .container.header-inner{
        background-color: #03294e;
    }

    .scrolled ol, ul {
    padding-left: 0rem!important;
    }

    .main-nav {
        display: none;
    }

    .navbar-toggler {
        display: block;
        background: none;
        border: none;
        font-size: 24px;
        color: #fff;
    }

    .navbar-toggler-icon {
        width: 30px;
        height: 3px;
        background: #fff;
        display: block;
        position: relative;
    }

    .navbar-toggler-icon::before,
    .navbar-toggler-icon::after {
        content: '';
        width: 30px;
        height: 3px;
        background: #fff;
        position: absolute;
        left: 0;
    }

    .navbar-toggler-icon::before {
        top: 5px;
    }

    .navbar-toggler-icon::after {
        top: 15px;
    }

    .mobile-menu {
        display: none;
        background: #032b4b;
        padding: 1.5rem;
    }

    .mobile-menu .mobile-nav li {
        list-style: none;
        margin-bottom: 1.2rem;
    }

    .mobile-menu .mobile-nav li::after {
        content: "•••";
        display: block;
        text-align: center;
        color: #00cfff;
        font-size: 1.2rem;
        margin-top: 0.2rem;
    }

    .mobile-menu .mobile-nav a {
        color: white;
        text-decoration: none;
        font-weight: bold;
    }

    body.menu-open .mobile-menu {
        display: block;
        margin-top:6rem;
    }
    .header-top .contact-button{
        display: none;
    }
    /* Menú móvil superpuesto */
    .mobile-menu {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #032b4b;
        z-index: 10000;
        padding-top: 6rem;
        overflow-y: auto;
        display: none;
    }

    .mobile-menu .mobile-nav{
        text-align: center;
    }

    body.menu-open .mobile-menu {
        display: block;
    }

    body.menu-open {
        overflow: hidden;
    }

    .mobile-menu .mobile-nav .sub-menu {
        display: none !important;
    }

}

/*Estilos del plugin GTranslate*/
.gttranslate {
  left: 78% !important;
  top: 2.3rem !important;
  z-index: 1000000;
  position: absolute;
  font-family: sans-serif;
}

/* Contenedor del desplegable (por defecto oculto) */
.gttranslate .gtranslate_wrapper {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid #ccc;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 5px;
  padding: 5px 0;
  min-width: 140px;
  z-index: 9999;
}

/* Mostrar opciones al hacer clic */
.gttranslate.open .gtranslate_wrapper {
  display: block;
}

/* Botón con idioma actual */
.gttranslate .gt-current {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: pointer;
  padding: 8px 12px;
  background: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 5px;
  min-width: 100px;
}

/* Icono bandera actual */
.gttranslate .gt-current img {
  width: 20px;
  height: auto;
}

/* Flecha */
.gttranslate .arrow-down {
  border: solid #333;
  border-width: 0 2px 2px 0;
  padding: 4px;
  transform: rotate(45deg);
  transition: transform 0.2s;
  margin-left: auto;
}

.gttranslate.open .arrow-down {
  transform: rotate(-135deg);
}

/* Opciones de idioma */
.gtranslate_wrapper a.glink {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  transition: background 0.2s;
}

@media (max-width: 1800px) {
  .gttranslate {
   left: 82%!important;
  }
}

@media (max-width: 1650px) {
  .gttranslate {
   left: 80%!important;
  }
li.menu-item.menu-item-type-post_type.nav-item a.nav-link {
    padding: 0px;
}	
	.menu-item {
    margin: -5px !important;
}
	.dropdown-menu a.nav-link{
padding: 0.5rem !important;
	}
	.contact-button {
    margin-left: 5rem!important;
}

}

@media (max-width: 1560px) {
  .gttranslate {
   left: 78%!important;
  }
	.container-sm .contact-button{
	margin-left:0px!important;
	}

}

@media (max-width: 1320px) {
    .gttranslate {
        left: 70%!important;
        top: 2rem!important;
    }
}

@media (max-width: 700px) {
    .gttranslate {
        left: 60%!important;
        top: 2rem!important;
    }
}

@media (max-width: 450px) {
    .container.header-inner{
        padding: 2rem 1rem 2rem 2rem;
    }
	.gttranslate {
		left: 55%!important;
		top: 2rem!important;
	}
}

/*Estilos de la modal*/
.custom-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0; 
  top: 0;
  width: 100%; 
  height: 100%;
  overflow: auto;
  width: 100vw;
  min-height: 100vh;
  background: url(../images/bk-modal-contacto.svg) #03294f no-repeat top left;
}

.custom-modal-content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
}

.custom-modal-body {
    background: transparent;
    padding: 2rem;
    border-radius: 10px;
    max-width: 1440px;
    width: 100%;
    display: flex;
    flex-direction: row;
    margin: 0px auto;
    justify-content: space-around;
    align-items: center;
}

.close-modal {
  position: absolute;
  top: 7rem;
  right: 3rem;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
  z-index: 9999; 
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 9998;
}

#equipoModal {
    min-height: 100px !important;
    background: #fff;
    height: 43vh;
    margin-top: 50%;
    margin-left: 1rem;
    width: 92vw;
    border-radius: 5px;
    padding-left: 1rem;
    padding-right: 1rem;
}

#equipoModal .close-modal{
  top: 0rem;
  color: black;
}

.cta-modal {
  display:none;
}

@media (max-width: 992px) {
  .custom-modal-body{
    flex-direction: column;
    padding-top: 30rem;
  }
  
}

@media (max-width: 576px){
  .custom-modal-body{
    padding-left: 0rem;
    padding-right: 0rem;
  }

  .close-modal{
    right: 1rem;
  }
  .cta-modal {
	display:block;
  }
  input.wpcf7-form-control.wpcf7-submit.has-spinner.btn-orange {
    width: 100%;
  }

  .hero-section.page-home{
    margin-top:-30%;
  }
}


/*Estilos formularios*/
.form-contact {
  border-radius: 20px;
  -webkit-box-shadow: 0px 2px 32px rgba(116, 115, 114, 0.16);
  box-shadow: 0px 2px 32px rgba(116, 115, 114, 0.16);
  padding: 25px; 
  background-color:#fff;}
  @media (min-width: 576px) {
    .form-contact {
      padding: 30px; } }
  .form-contact label {
    font-family: 'Gotham-Medium', sans-serif !important; }

.form-hablemos input {
  height: 48px; }

.form-hablemos input[type="checkbox"] {
  height: 23px; }

.form-hablemos img[alt="bk-services-single-2"] {
  position: absolute;
  z-index: -2;
  left: 0;
  top: 50%; }

.form-hablemos img[alt="bk-services-single-3"] {
  position: absolute;
  z-index: -2;
  right: 0;
  top: 90%; }
  @media (min-width: 576px) {
    .form-hablemos img[alt="bk-services-single-3"] {
      top: 40%; } }

.form-hablemos .form-comercializacion .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #4F4E4D;
  color: white; }
  .form-hablemos .form-comercializacion .btn-submit-form:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-comercializacion .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  @media (min-width: 768px) {
    .form-hablemos .form-comercializacion .btn-submit-form {
      display: inline-block; } }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-comercializacion .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  .form-hablemos .form-comercializacion .btn-submit-form:hover {
    background-color: black;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-hablemos .form-comercializacion .btn-submit-form:hover {
        -webkit-transition: none;
        transition: none; } }

.form-hablemos .form-web .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #1B7F86;
  color: white; }
  .form-hablemos .form-web .btn-submit-form:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-web .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  @media (min-width: 768px) {
    .form-hablemos .form-web .btn-submit-form {
      display: inline-block; } }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-web .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  .form-hablemos .form-web .btn-submit-form:hover {
    background-color: black;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-hablemos .form-web .btn-submit-form:hover {
        -webkit-transition: none;
        transition: none; } }

.form-hablemos .form-marca .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #0D3466;
  color: white; }
  .form-hablemos .form-marca .btn-submit-form:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-marca .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  @media (min-width: 768px) {
    .form-hablemos .form-marca .btn-submit-form {
      display: inline-block; } }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-marca .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  .form-hablemos .form-marca .btn-submit-form:hover {
    background-color: black;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-hablemos .form-marca .btn-submit-form:hover {
        -webkit-transition: none;
        transition: none; } }

.form-hablemos .form-industrial .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #6F6760;
  color: white; }
  .form-hablemos .form-industrial .btn-submit-form:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-industrial .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  @media (min-width: 768px) {
    .form-hablemos .form-industrial .btn-submit-form {
      display: inline-block; } }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-industrial .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  .form-hablemos .form-industrial .btn-submit-form:hover {
    background-color: black;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-hablemos .form-industrial .btn-submit-form:hover {
        -webkit-transition: none;
        transition: none; } }

.form-hablemos .form-estudio-patentes .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #D27D00;
  color: white; }
  .form-hablemos .form-estudio-patentes .btn-submit-form:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-estudio-patentes .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  @media (min-width: 768px) {
    .form-hablemos .form-estudio-patentes .btn-submit-form {
      display: inline-block; } }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-estudio-patentes .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  .form-hablemos .form-estudio-patentes .btn-submit-form:hover {
    background-color: black;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-hablemos .form-estudio-patentes .btn-submit-form:hover {
        -webkit-transition: none;
        transition: none; } }

.form-hablemos .form-financiacion .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #008F54;
  color: white; }
  .form-hablemos .form-financiacion .btn-submit-form:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-financiacion .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  @media (min-width: 768px) {
    .form-hablemos .form-financiacion .btn-submit-form {
      display: inline-block; } }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-financiacion .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  .form-hablemos .form-financiacion .btn-submit-form:hover {
    background-color: black;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-hablemos .form-financiacion .btn-submit-form:hover {
        -webkit-transition: none;
        transition: none; } }

.form-hablemos .form-prototipos .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #450082;
  color: white; }
  .form-hablemos .form-prototipos .btn-submit-form:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-prototipos .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  @media (min-width: 768px) {
    .form-hablemos .form-prototipos .btn-submit-form {
      display: inline-block; } }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-prototipos .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  .form-hablemos .form-prototipos .btn-submit-form:hover {
    background-color: black;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-hablemos .form-prototipos .btn-submit-form:hover {
        -webkit-transition: none;
        transition: none; } }

.form-hablemos .form-registro-patentes .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #0274B1;
  color: white; }
  .form-hablemos .form-registro-patentes .btn-submit-form:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none; }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-registro-patentes .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  @media (min-width: 768px) {
    .form-hablemos .form-registro-patentes .btn-submit-form {
      display: inline-block; } }
  @media (prefers-reduced-motion: reduce) {
    .form-hablemos .form-registro-patentes .btn-submit-form {
      -webkit-transition: none;
      transition: none; } }
  .form-hablemos .form-registro-patentes .btn-submit-form:hover {
    background-color: black;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-hablemos .form-registro-patentes .btn-submit-form:hover {
        -webkit-transition: none;
        transition: none; } }

.newsletter input.form-control {
  height: 48px;
  border-radius: 8px; }

.advice-card .form-group {
  width: 100%; }
  .advice-card .form-group button {
    width: 100%; }
  .advice-card .form-group input.form-control {
    height: 40px;
    border-radius: 8px; }
  .advice-card .form-group input.btn-orange {
    padding: 10px 25px !important; }
  @media (min-width: 992px) {
    .advice-card .form-group {
      width: auto; }
      .advice-card .form-group button {
        width: auto; }
      .advice-card .form-group input.btn-orange {
        padding: 10px 25px !important; } }

.form-hablemos .wpcf7-list-item.first.last {
  margin: 0px; }
  .form-hablemos .wpcf7-list-item.first.last label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }
    .form-hablemos .wpcf7-list-item.first.last label span {
      padding-left: 5px !important; }
    @media (min-width: 768px) {
      .form-hablemos .wpcf7-list-item.first.last label {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; } }

.form-hablemos-landing {
  padding: 0px 15px;
  border-radius: 10px; }
  .form-hablemos-landing label {
    color: white; }

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: #ffb900;
  font-size: 12px;
  margin: 0px 0px 15px 0px; }

.wpcf7-not-valid-tip {
  margin-top: -10px;
  margin-bottom: 20px;
  font-size: 12px;
  background-color: #dc3232;
  color: white;
  padding: 3px; }

/*Footer*/
.footer-lfdi a {
    color: #5E5E5E;
    text-decoration: none;
}
.footer-lfdi a:hover {
    opacity: 0.7;
}

ul.footer-menu {
    padding-left: 0rem!important;
}

.footer-menu li {
    margin-bottom: 0.6rem;
    list-style: none;
}
.footer-menu a {
    padding-left: 0px;
    text-decoration: none;
    color: #5E5E5E;
    font-family: 'Gotham-Book', sans-serif;
}
.footer-menu a:hover {
    text-decoration: none;
    color: #007bff;
}

.bottom-footer a{
    color: #000;
    text-decoration: none;
}

.bottom-footer a:hover{
    color: #0056b3;
    text-decoration: underline!important;
}   

.bloq-derechos{
    color: #212529;
    font-family: 'Gotham-Book';
}

@media (max-width:576px){
  .footer{
    border-top-right-radius: 25px;
    border-top-left-radius: 25px;
    padding: 50px 0px;
    margin-top: -25px;
  }
}

/*Servicios*/
.home-services-buttons{
  padding: 600px 0px 150px 0px;
  background:url("../images/servicios/bk-otros-servicios.svg") no-repeat bottom center;
  background-size: cover;
  margin-top: -575px;
}

.tarjeta-servicio {
    background-color: #f5f5f5;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: block;
    padding: 25px 20px;
    margin-right: 1rem!important;
    margin-bottom:1rem;
    min-height: 236px;
}
.tarjeta-servicio:nth-of-type(2n+1) {
    margin-right: 0;
}
.tarjeta-servicio:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.tarjeta-servicio .titulo-servicio {
    font-size: 24px;
    line-height: 34px;
    font-family: "Gotham-Bold", sans-serif !important;
}

.tarjeta-servicio .enlace-servicio {
    text-decoration: none;
}

.tarjeta-servicio .texto-servicio{
    color: #5E5E5E !important;
}

.tarjeta-servicio a{
    text-decoration: none;
}

/* Colores personalizados (basado en ACF) */
.tarjeta-servicio.naranja { background-color: #fff7ed; color: var(--color-naranja);}
.tarjeta-servicio.celeste { background-color: #ebf9ff; color: var(--color-celeste);}
.tarjeta-servicio.gris { background-color: #f1f1f1; color: var(--color-gris);}
.tarjeta-servicio.violeta { background-color: #faf2fd; color: var(--color-violeta);}
.tarjeta-servicio.oro { background-color: #fff6cc; color: var(--color-oro);}
.tarjeta-servicio.verde { background-color: #d1fae5; color: var(--color-verde);}
.tarjeta-servicio.cian { background-color: #cffafe; color: var(--color-cian); }
.tarjeta-servicio.azul { background-color: #e0f2fe; color: var(--color-azul);}


.tarjeta-servicio.azul a,
.tarjeta-servicio.cian a,
.tarjeta-servicio.verde a,
.tarjeta-servicio.oro a,
.tarjeta-servicio.violeta a,
.tarjeta-servicio.gris a,
.tarjeta-servicio.celeste a,
.tarjeta-servicio.naranja a{
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
}

@media (max-width: 576px){
  .imagen-servicio img{
    max-width: 280px!important;
  }
  .tarjeta-servicio{
    margin-right:0px!important;
  }

  /*section.bloque-servicios-home.py-5{
    background:none;
  }*/
  
}

/* Enlaces por color accesible */
.tarjeta-servicio.naranja a { color: var(--color-naranja); font-family: "Gotham-Medium", sans-serif !important; }
.tarjeta-servicio.celeste a { color: var(--color-celeste); font-family: "Gotham-Medium", sans-serif !important; }
.tarjeta-servicio.gris    a { color: var(--color-gris); font-family: "Gotham-Medium", sans-serif !important; }
.tarjeta-servicio.violeta a { color: var(--color-violeta); font-family: "Gotham-Medium", sans-serif !important; }
.tarjeta-servicio.oro     a { color: var(--color-oro); font-family: "Gotham-Medium", sans-serif !important; }
.tarjeta-servicio.verde   a { color: var(--color-verde); font-family: "Gotham-Medium", sans-serif !important; }
.tarjeta-servicio.cian    a { color: var(--color-cian); font-family: "Gotham-Medium", sans-serif !important; }
.tarjeta-servicio.azul    a { color: var(--color-azul); font-family: "Gotham-Medium", sans-serif !important; }

/* Hover general accesible */
.tarjeta-servicio.azul a:hover,
.tarjeta-servicio.cian a:hover,
.tarjeta-servicio.verde a:hover,
.tarjeta-servicio.oro a:hover,
.tarjeta-servicio.violeta a:hover,
.tarjeta-servicio.gris a:hover,
.tarjeta-servicio.celeste a:hover,
.tarjeta-servicio.naranja a:hover {
    color: var(--color-hover);
    text-decoration: none;
}

/* Títulos accesibles */
.titulo-naranja { color: var(--color-naranja); }
.titulo-celeste { color: var(--color-celeste); }
.titulo-gris    { color: var(--color-gris); }
.titulo-violeta { color: var(--color-violeta); }
.titulo-oro     { color: var(--color-oro); }
.titulo-verde   { color: var(--color-verde); }
.titulo-cian    { color: var(--color-cian); }
.titulo-azul    { color: var(--color-azul); }
.titulo-blanco  { color: var(--color-blanco); }
.titulo-negro  { color: var(--color-negro); }
.titulo-ocre {color: var(--color-ocre);}

/* Botón base */
.button {
    display: inline-block;
    padding: 15px 25px;
    border-radius: 5px;
    font-family: 'Gotham-Medium', sans-serif;
    color: #000;
    background-color: #fff;
    font-size: 16px;
    text-decoration: none;
    margin-right: 2rem;
}

.button:hover{
    background-color: #000;
    color: #fff;
    transition: 0.2s ease-in-out;
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
}

.novedades-button {
    font-size: 14px;
    width: 12rem;
    text-align: center;
    padding-left: 3rem;
    padding-right: 3rem;
	margin-right: 0rem;
}

/* Botones por color accesible */
.button.naranja { background-color: var(--color-naranja); color: var(--color-negro);}
.button.celeste { background-color: var(--color-celeste); }
.button.gris    { background-color: var(--color-gris); }
.button.violeta { background-color: var(--color-violeta); color: var(--color-blanco)!important; }
.button.oro     { background-color: var(--color-oro); }
.button.verde   { background-color: var(--color-verde); color: var(--color-blanco)!important; }
.button.cian    { background-color: var(--color-cian); color: var(--color-blanco)!important;}
.button.azul    { background-color: var(--color-azul); color: var(--color-blanco)!important;}
.button.ocre{ background-color: var(--color-ocre); }

.azul .button { background-color: var(--color-blanco); color: var(--color-azul) }

/*Hover botones*/
.button.naranja:hover { background-color: var(--color-negro); color: var(--color-blanco)!important; }

/*Bloques CTA Botones*/
.bloque-cta .button.naranja{background-color: var(--color-blanco); color: var(--color-negro);}
.bloque-cta .button.naranja:hover{background-color: var(--color-negro)!important; color: var(--color-blanco)!important;}


/*Botones de formularios*/
.btn-blue {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border-radius: 8px;
    border: none;
    padding: 15px 25px;
    display: block;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    background-color: var(--color-azul);
    color: var(--color-blanco);
    transition: all 0.2s ease-in-out;
    font-family: 'Gotham-Book';    
}

.btn-green {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border-radius: 8px;
    border: none;
    padding: 15px 25px;
    display: block;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    background-color: var(--color-verde);
    color: var(--color-blanco);
    transition: all 0.2s ease-in-out;
    font-family: 'Gotham-Book';
}

.btn-white {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border-radius: 8px;
    border: none;
    padding: 15px 25px;
    display: block;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    background-color: var(--color-blanco);
    color: var(--color-negro);
    transition: all 0.2s ease-in-out;
    font-family: 'Gotham-Book';    
}

input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
    width: 100%;
}


.imagen-servicio img {
    max-width: 160px;
    height: auto;
}

.svg-inline--fa.fa-w-14{
  width: .875em;
  margin-left: 0.4em;
}

@media (max-width: 576px) {
  .button{
    margin:0px;
	width: 100%!important;
  }
	
  .button.naranja{
	width:100%;
  }
}

/*Carrusel Reseñas*/
.carousel-indicators {
  position: static;
  display: flex;
  justify-content: center;
  margin-top: 3rem;
  gap: 8px;
}

.carousel-indicators [data-bs-target] {
  width: 15px!important;
  height: 15px!important;
  border-radius: 50%;
  background-color: #000!important;
  border: none;
  opacity: 1;
  transition: background-color 0.3s ease;
}



@media (max-width: 767.98px) {
  #carouselResenas .carousel-indicators {
   display: none;
  }
}


/*Bloque Como ayudar*/
.bg-naranja {
  background-color: var(--color-naranja); 
}

.bg-azul {
  background-color: #86D5FF; 
}

.bg-celeste{
  background-color: #86D5FF;
}

.bg-violeta{
  background-color: #dabaff;
}

.bg-ocre{
  background-color: #DDD1C8 !important;
}

@media (max-width: 767px) {
  .bg-naranja {
    width: 50px;
    height: 50px;
  }

  .bg-naranja img {
    width: 22px;
    height: 22px;
  }

  .bg-azul {
    width: 50px;
    height: 50px;
  }

  .bg-azul img {
    width: 22px;
    height: 22px;
  }
}

/*Bloque proyectos*/
.btn-primary {
  background-color: #007dc3;
  color: white;
  padding: 0.6rem 1.5rem;
  border-radius: 0.5rem;
  font-weight: 600;
}

.btn-orange {
  background-color: #f58220;
  color: white;
  padding: 0.6rem 1.5rem;
  border-radius: 0.5rem;
  font-weight: 600;
}

.card-title {
  font-size: 1rem;
  font-weight: bold;
}

.card-body {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.news-card {
  border-radius: 10px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.07);
  transition: all 0.3s ease;
}
.news-card img{
  border-radius:10px;
}

.news-card:hover {
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.12);
  -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
  transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
}

.text-medium {
  font-weight: 500;
}

.fs-20 {
  font-size: 20px;
}

.pl-1 {
 padding-left: 1rem;
}

/*Carrusel Marcas*/
.brands-carousel .slick-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  height: 120px;
  box-sizing: border-box;
}

.brands-carousel img {
  max-height: 80px;
  width: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.brands-carousel .slick-dots li button:before {
  font-size: 15px !important;
  color: #999 !important;
  opacity: 0.5 !important;
}

.brands-carousel .slick-dots li.slick-active button:before {
  color: #333 !important;
  opacity: 1 !important;
}

@media (max-width: 576px) {
  .marcas,
  .activar_marcas{
    display: none;
  }
}

/*CTA Formulario*/
.cta-formulario form {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.cta-formulario form p {
    margin-bottom: 0;
    flex: 1 1 auto;
}

.cta-inline-form {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
}

.cta-inline-form input[type="tel"] {
  flex: 1 1 auto;
  min-width: 250px;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border-radius: 6px;
  border: 1px solid #ccc;
  width: 100%!important;
}

.cta-inline-form input[type="submit"] {
  padding: 0.75rem 2rem;
  font-weight: bold;
  white-space: nowrap;
  background-color: var(--color-naranja);
  border: none;
  color: #000;
  border-radius: 8px;
  transition: background-color 0.3s;
}

.cta-inline-form input[type="submit"]:hover {
  background-color: #d5771d;
}

@media (max-width: 576px){
  .cta-formulario{
    display: none;
  }
}

/*Bloques cta*/
.bloque-cta{
  border-radius:20px;
  margin-left: 3rem;
  margin-right: 3rem;
}

.bloque-cta{
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}

.cta-servicios{
  border-top-right-radius: 25px;
  border-top-left-radius: 25px;
  border: 1px white solid;
  background-repeat: no-repeat;
  background-position: top start;
  background-size: contain;
  padding: 40px 0px;
  border-radius: 0px;
  border: 0px;
  background-color: var(--color-azul);
}

.bloque-cta .button{
background-color:#fff!important;
color:#000!important;
}
.bloque-cta.azul,
.cta-servicios.style-azul{
  background-color: var(--color-azul);
}

.bloque-cta.naranja,
.cta-servicios.style-naranja{
  background-color: var(--color-naranja);
}

.bloque-cta.ocre,
.cta-servicios.style-ocre{
  background-color: var(--color-ocre);
}

.bloque-cta.violeta,
.cta-servicios.style-violeta{
  background-color: var(--color-violeta);
}

.bloque-cta.verde,
.cta-servicios.style-verde{
  background-color: var(--color-verde);
}

.bloque-cta.cian,
.cta-servicios.style-cian{
  background-color: var(--color-cian);
}

.bloque-cta.gris,
.cta-servicios.style-gris{
  background-color: var(--color-gris);
}

.cta-servicios .img-fluid{
  width: 145px;
}

@media (max-width: 576px) {
  .cta-servicios img.vibora{
    display: block;
    margin: 0px auto;
  }
  .cta-servicios{
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
  }
}

/*Quienes somos*/
h1.hero-title{
  font-size: 60px;
  line-height: 75px;
}
h2.hero-subtitle{
  font-size: 1rem;
  line-height: 36px;
  font-family: 'Gotham-Book';
}

.quienes-somos{
  margin-top:-330px;
}

.quienes-somos .video-container{
  position: relative;
  z-index: 10;
}

.text-block-square {
  padding: 80px 45px 40px 45px;
  border-radius: 20px;
  -webkit-box-shadow: 0px 2px 32px rgba(116, 115, 114, 0.16);
  box-shadow: 0px 2px 32px rgba(116, 115, 114, 0.16);
  padding: 80px 20px 40px 20px;
  margin-top: -70px;  
}

.module-staff {
  position: relative;
}

.module-staff img[alt="bk-top"] {
  position: absolute;
  top: -790px;
  z-index: -1;
}

.module-staff img[alt="bk-bottom"] {
    bottom: -380px;
    position: absolute;
    z-index: -1;
}

.module-staff .secondary-staff img{
  width: 108px;
  height: 108px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 54px;
}

.main-staff {
    padding: 25px;
    border-radius: 10px;
}

.secondary-staff {
    padding: 25px;
    border-radius: 10px;
}

.module-staff .secondary-staff img{
  width: 108px;
  height: 108px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 54px;
}

.text-naranja {
    color: var(--color-naranja)!important;
}

@media (max-width:576px){
  .module-staff img[alt="bk-bottom"]{
    bottom: -100px;
  }
}

/*Estilos del popup*/
.call-form-popup {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--color-blanco);
    border-top: 3px solid var(--color-naranja);
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 9996;
    transition: transform 0.3s ease;
    transform: translateY(100%);
    padding: 10px 0;
}

.call-form-popup.show {
    transform: translateY(0);
}

.call-form-popup-inner {
    max-width: 100%;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center; /* cambiado a center */
    justify-content: center;
    gap: 15px;
}

.popup-close {
    position: absolute;
    top: -10px;
    right: 5px;
    font-size: 2rem;
    background: none;
    border: none;
    color: #000;
    cursor: pointer;
    z-index: 10;
    display: none;
}


@media (max-width: 576px) {
    .call-form-popup-inner {
      max-width: 1140px;
      margin: 0 auto;
    }
    .call-form-popup{
      border-top-left-radius: 50px;
      /*padding: 30px 0 0;*/
    }
}

.call-form-popup .popup-title {
    font-weight: 700;
    font-size: 22px;
    white-space: nowrap;
    margin: 0;
    color: #0c2340;
    display: flex; /* añadido */
    align-items: center; /* añadido */
}

.call-form-popup .popup-form .wpcf7 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.call-form-popup .popup-form .wpcf7-form {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.call-form-popup .popup-form .wpcf7-form-control-wrap {
    margin: 0;
}

.call-form-popup .popup-form input[type="text"] {
    flex: 1 1 auto;
    min-width: 200px;
    max-width: 300px;
}

.call-form-popup .popup-form input[type="submit"] {
    background-color: var(--color-naranja);
    color: var(--color-negro);
    border: none;
    padding: 8px 24px;
    border-radius: 5px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

@media (max-width: 576px){
  .call-form-popup .popup-form input[type="submit"]{
    width: 100%;
  }

  .call-form-popup{
    border:0px;
  }
}

/*Contacto*/
.contact-social{
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  width: 30px;
  height: auto;
}

.bk-azul{
  background-color: #00A6FF;
}

.bk-azul a{
  text-decoration: none;
}

.container-custom {
  width: 1500px;
  padding-left: 60px;
  padding-right: 60px;
}

.contact .contact-info {
    margin-top: -200px;
}

.contact .form-contact {
    margin-top: -500px;
}

@media (max-width: 576px){
	.contact .form-contact{
		margin-top: -450px;
	}
}

/*Estilos de formularios*/
.contacto .form-contact {
  margin-top: -500px;
  margin-bottom: 80px;
}

.form-group {
    margin-bottom: 1rem;
}

.form-check {
    position: relative;
    display: block;
    padding-left: 1.25rem;
    margin-bottom: 2rem!important;
}

@media (max-width:576px){
  .contact .contact-info{
    margin-top: 50px;
  }

  .text-mobile{
    text-align: center!important;
  }
}

/*Página del blog*/
.blog-grid{
  margin-top: -440px;
}

.blog-card {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.blog-card:hover {
    -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
    text-decoration: none;
}

.blog-card-img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.blog-card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 20px;
}

.blog-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #1c1c1c;
    line-height: 1.4;
    margin-bottom: 10px;
}

.blog-card-img {
    padding: 1.5rem;
    border-radius: 10px!important;
}

.blog-card-link {
    color: #007bff;
    font-weight: 600;
    text-decoration: none;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
}

.blog-card-link:hover {
    color: #0056b3;
}

.blog-pagination ul.page-numbers {
    display: flex;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog-pagination ul.page-numbers li {
    display: flex;
}

.blog-pagination ul.page-numbers li .page-numbers {
    border: none;
    background: none;
    color: #1c1c1c;
    font-weight: 500;
    padding: 3px 12px;
    border-radius: 50%;
    transition: background 0.2s ease, color 0.2s ease;
    text-decoration: none;
}

.blog-pagination ul.page-numbers li .page-numbers.current {
    background-color: #002b5c;
    color: #fff;
}

.blog-pagination ul.page-numbers li .page-numbers:hover {
    background-color: #f2f2f2;
    color: #1c1c1c;
}

@media (max-width: 576px){
  .blog-grid{
    margin-top: -570px;
  }
}

/*Single post*/
.card-blog-info {
  padding: 40px 30px;
  border-radius: 20px;
}

.card-blog-info iframe {
    width: 100%;
    height: 410px;
}


/* Sticky adaptado al layout real */
.single{
  background-color: #f5f5f5;
}

.single.single-fi_project{
  background-color: #fff;
}

.single-post-layout {
    display: flex;
    gap: 40px;
    margin-top: -440px;
    margin-bottom: 30px;
}

.card-blog-info {
    background: #fff;
    padding: 20px;
    min-height: 1200px; /* asegurar scroll */
    flex: 1;
}

.sidebar-sticky-wrapper {
    position: relative;
    width: 100%;
    max-width: 419.328px;
    border-radius: 20px;
}

.sidebar-inner{
    border-radius: 20px;
    background: #fff !important;
}

.sticky-sidebar {
    position: sticky;
    top: 135px;
}

.card-blog-info h1, .card-blog-info h2,
h3.wp-block-heading{
    font-size: 28px;
    line-height: 30px;
}

.card-blog-info h2:after, .card-blog-info h3:after,
h3.wp-block-heading:after {
    content: url(../images/viboritas/vibora-celeste.svg);
    width: 59px;
    height: 10px;
    display: block;
    margin-bottom: 30px;
}

.sidebar-inner input.wpcf7-form-control.wpcf7-submit.has-spinner.btn-orange {
    width: 100%;
}

@media (max-width: 991px) {
    .single-post-layout {
        flex-direction: column;
    }

    .sidebar-sticky-wrapper {
        max-width: 100%;
    }

    .sticky-sidebar {
        position: static;
        top: auto;
    }
}

.post-taxonomies p {
    margin-bottom: 10px;
}

.badge {
    display: inline-block;
    padding: 0.4rem 0.9rem;
    margin: 0 0.3rem 0.4rem 0;
    font-size: 14px;
    font-weight: 500;
    border-radius: 20px;
    text-decoration: none;
}

.tag-badge {
    background-color: var(--color-azul);
    color: var(--color-azul-oscuro);
}

a.badge.tag-badge {
    border-radius: 100px;
    background-color: var(--color-azul-oscuro);
    color: var(--color-blanco);
    padding: 10px 15px;
    margin: 5px;
    font-size: 14px !important;
    font-family: 'Gotham-Book';
    font-weight: 100;
}

.category-badge {
    background-color: var(--color-naranja);
    color: var(--color-naranja-oscuro);
}

a.badge.category-badge {
    border-radius: 100px;
    background-color: var(--color-naranja-oscuro);
    color: var(--color-negro);
    padding: 10px 15px;
    margin: 5px;
    font-family: 'Gotham-Book';
    font-weight: 100;
    font-size: 14px;
}

.single .bloque-cta {
    margin: 3rem 0;
}

/*Single Common*/
.hero-section img[alt="bk-services-single-1"] {
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;
}

.hero-section img[alt="bk-services-single-2"] {
    position: absolute;
    z-index: -2;
    left: 0;
    top: 50%;
}

.hero-section img[alt="bk-services-single-3"] {
  position: absolute;
  z-index: -2;
  right: 0;
  top: 40%;
}

body[class*="single-fi_"]:not(.single-fi_project),
body.page-template-page-landing,
body.page-template-page-base {
  background-color:#fff;

  /* Enlaces del menú */
  .menu-item a {
    color: #000!important;
  }

  .menu-item a:hover {
    color: #007cbf !important;
  }

  /* Cabecera scrolleada */
  .header-top.scrolled {
    background-color: #fff !important;
  }

  /* Botón de contacto */
  .contact-button a {
    color: #000;
  }

  .breadcumbs-container {
    background: rgba(0, 27, 53, 0.2);
  }

  /*Toogler menu mobile*/
  .navbar-toggler-icon::before, .navbar-toggler-icon::after{
    background-color: black;
  }

  /*Sticky*/
  .scrolled .container.header-inner{
    background-color: #fff;
  }
}


.cta-cpts .form-registro-patentes .btn-submit-form {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 8px;
  border: none;
  padding: 15px 25px;
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #0274B1;
  color: white; 
}
.cta-cpts .form-registro-patentes .btn-submit-form:hover {
  -webkit-transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
  transform: scale(1) rotate(0deg) translateX(0px) translateY(-3px) skewX(0deg) skewY(0deg);
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  .cta-cpts .form-registro-patentes .btn-submit-form {
    -webkit-transition: none;
    transition: none; } 
}
@media (min-width: 768px) {
  .cta-cpts .form-registro-patentes .btn-submit-form {
    display: inline-block; } 
}
@media (prefers-reduced-motion: reduce) {
  .cta-cpts .form-registro-patentes .btn-submit-form {
    -webkit-transition: none;
    transition: none; } 
}
.cta-cpts .form-registro-patentes .btn-submit-form:hover {
  background-color: black;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; 
}
@media (prefers-reduced-motion: reduce) {
  .cta-cpts .form-registro-patentes .btn-submit-form:hover {
    -webkit-transition: none;
    transition: none; } 
}

.cta-cpts .form-registro-patentes .wpcf7-form-control-wrap.dato-boton {
    display: none;
}

/* Estilos de vídeos YouTube */
.video-thumb-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: rgb(255, 196, 145); /* fallback en carga */
    background-blend-mode: multiply;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 12px;
    cursor: pointer;
    overflow: hidden;
}

/* Ícono de play centrado */
.video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    z-index: 2;
}

/* Modal y vídeo incrustado se mantienen igual */
.custom-video-modal {
    position: fixed;
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,0.85);
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.custom-video-modal-content {
    position: relative;
    max-width: 960px;
    width: 90%;
    background: #000;
}

.video-modal-close {
    position: absolute;
    top: -40px;
    right: 0;
    font-size: 2rem;
    color: white;
    cursor: pointer;
}

.video-embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.video-embed-container iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
}

/*Clusters*/
.clusters{
    box-shadow: 0px 0px 30px 0px rgba(204, 204, 204, 1);
    padding: 2rem 1rem 1rem 1rem;
    margin-right: 3rem;
}

a.enlace-clusters {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: center;
}

@media(max-width:576px){
  .clusters{
    margin-right:0px;
  }  
}

/*Preguntas frecuentes*/
.custom-faq-accordion {
    border-top: 1px solid #000;
}

.faq-item {
    border-bottom: 1px solid #000;
    overflow: hidden;
}

.faq-question {
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    padding-bottom: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-family: inherit;
}

.faq-toggle {
    font-size: 1.5rem;
    line-height: 1;
    transition: transform 0.3s ease;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.4s ease;
    font-size: 1rem;
    font-weight: 400;
    color: #333;
}

.faq-item.open .faq-answer {
  max-height: 500px;
  opacity: 1;
  padding: 1rem 0;
}

.faq-item.open .faq-toggle::before {
  content: '-';
}
.faq-toggle::before {
  content: '+';
  display: inline-block;
  transition: all 0.2s ease;
}

/*Plantilla Detalle de servicios*/
.page-servicios {
  width: 100%;
  background-size: contain;
  height: 900px;
}

/*Plantilla de servicios*/
.page-template-page-servicios .bloque-publicaciones-destacadas{
    margin-top: -300px;
}

.imagen-servicio {
    padding-left: 0px;
}


/*Plantilla de proyectos*/
.blog-grid.destacados-proyectos {
  margin-top: -100px !important;
  position:relative;
}

.page-proyectos{
  height:700px;
  background-size:contain;
}

.hero-section.page-lfdi.page-proyectos,
.hero-section.page-lfdi.page-base{
  padding-top: 100px;
}

.hero-section.page-lfdi.page-proyectos h1{
  font-size: 60px;
  line-height: 75px;
}

.projects-bk img[alt="left"] {
    position: absolute;
    left: 0;
    top: 130% !important;
    width: 35%;
    z-index: -2;
}

.projects-bk img[alt="right"] {
    position: absolute;
    right: 0;
    top: 110% !important;
    width: auto;
    z-index: -2;

}

@media (max-width: 576px){
	.page-servicios{
		height: 700px;
	}
	.page-template-page-servicios .bloque-publicaciones-destacadas{
		margin-top: 0px!important;
	}
}

/*Detalle de proyectos*/
/*CSS Video proyectos*/
.delimitador{
    width: 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(0%);
    padding-bottom: 23.25%;
    overflow: hidden;
}
    
.video-proyectos video {
    width: 100%!important;
    height: 37rem;
    object-fit: cover;
    object-position: 25% 20%;
}

.video-proyectos {
    z-index: -1;
    position: relative;
}

.delimitador{
	margin-bottom: -30rem;
}

/*Encabezado de proyectos*/
.hero-projects-single img.hero-project-single {
    position: absolute;
    width: 100%;
    bottom: -5px;
    left: 0px;
}

section.hero-projects-single.container-fluid {
    height: 730px;
    position: relative;
}

.hero-about-us .row, .hero-projects-single .row {
    padding-top: 160px;
}

.contact-button{
    z-index: 100;
    position: relative;
}

/*Bloque botones*/
.bloque-botones a {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border-radius: 8px;
    border: none;
    padding: 15px 25px;
    display: block;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    background-color: #007cbf;
    color: white;
    transition: all 0.2s ease-in-out;
    margin-top: 1rem;
    font-family: 'Gotham-Book';
}

/*Bloque galeria*/
#carouselDesktop {
  width: 900px;
  margin: 0px auto;
}

.carousel-control-prev {
    left: -90px!important;
}

.carousel-control-next {
    right: -90px!important;
}

.modo-trabajo .rounded-3 img {
  width:6rem;
  object-fit: contain;
}

.modo-trabajo .stretched-link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/*Bloque de descargas*/
.botonera a:after {
    content: '\f56d';
    font-family: 'Font Awesome 5 Free';
    margin-left: 0.5rem;
    font-weight: bold;
}

/*Formularios*/
.form-hablemos input:not([type="checkbox"]),
.form-registro-patentes input:not([type="checkbox"]),
.form-contact input:not([type="checkbox"]) {
    height: 48px;
    font-family: 'Gotham-Book';
}


.form-control{
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

input#texto-boton {
  display: none;
}

textarea.form-control {
    height: auto;
}

span.fs-10.margen-form {
    top: 4px;
    left: 35px;
    position: absolute;
}

.form-group.form-check {
    text-align: left;
}

/*Estilos de landing*/
.landing-intro {
    margin-top: 50px;
}

.page-template-page-landing nav.main-nav{
  display: none;
}

.page-template-page-landing .form-registro-patentes {
    padding: 1rem;
    border-radius: 1rem;
}

.form-group.texto-boton {
    display: none;
}

/*Pagina 404*/
.social-media-404 img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(3320%) hue-rotate(180deg) brightness(118%) contrast(97%);
}

.bk-registro-patentes {
    background-color: #00A6FF;
}

.bk-registro-patentes a{
  text-decoration: none;
}

img.social-icons {
  filter: brightness(0) saturate(100%) invert(21%) sepia(62%) saturate(3725%) hue-rotate(222deg) brightness(93%) contrast(92%);
  width: 30px;
  height: auto;
}

.page-404{
  padding-top: 30vh;
  padding-bottom: 20vh;
}

@media (max-width: 576px) {


}

svg.svg-inline--fa.fa-user.fa-w-14 {
    width: 3rem;
}

.page-template-page-opiniones .heading-4{
	font-size: 20px;
	line-height: 26px;
	margin-top: 1rem;
}

span.on-hover-text {
    display: none !important;
}