/*
@import url('https://fonts.cdnfonts.com/css/cocosharp-trial');
h1, h2, h3, p, li, a {
    font-family: 'CocoSharp Trial', Arial, sans-serif;
}
*/
/***********DECLARACIÓN DE FUENTES****************/
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.woff2') format('woff2'),
         url('../fonts/Roboto-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Medium.woff2') format('woff2'),
         url('../fonts/Roboto-Medium.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Bold.woff2') format('woff2'),
         url('../fonts/Roboto-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Regular.woff2') format('woff2'),
         url('../fonts/OpenSans-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Semibold.woff2') format('woff2'),
         url('../fonts/OpenSans-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Bold.woff2') format('woff2'),
         url('../fonts/OpenSans-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Fuente base */
body, button, input, select, textarea,
.ast-button, .ast-custom-button {
    font-family: 'Open Sans', sans-serif; font-weight: 400; }

/* Párrafos, enlaces, texto normal */
p, a, li, span,
.entry-content, .wp-block-paragraph {
    font-family: 'Open Sans', sans-serif; font-weight: 400; }

/* Negritas */
strong, b,
.wp-block-heading strong, .wp-block-paragraph strong, .has-bold-font-weight {
    font-weight: 700; }

/* Encabezados */
h1, h2, h3, h4, h5, h6,
.entry-title, .wp-block-heading { font-family: 'Roboto', sans-serif; font-weight: 600; }

/* Elementos específicos de Gutenberg */
.wp-block-quote, .wp-block-pullquote, .wp-block-button__link, .wp-block-search__button,
.wp-block-file__button { font-family: 'Open Sans', sans-serif; }

/* Widgets, menús, etc. */
.widget, .main-header-menu, .site-footer { font-family: 'Open Sans', sans-serif; }


/*OCULTAR ELEMENTOS*/
.ocultar {
	display: none;
}

/*TEXTO*/
p, a, li, span {
    line-height: 1.3; }

.justificado {
	text-align: justify!important;
}


/*-------------------*/


/*CONTENEDOR*/
/*Colocar columnas dentro del contenedor en el centro*/
.contenedor-centro {
    display: flex;
    justify-content: center; /* Centra horizontalmente los elementos dentro del contenedor */
    gap: 30px; /* Espacio entre las columnas */
    margin: 20px auto;
	padding: 20px;
    max-width: 1000px; 
}

.columna-igual-altura {
    flex: 1; /* Hace que ambas columnas se expandan igualmente */
    display: flex;
    flex-direction: column; /* Hace que el contenido interno se organice verticalmente */
    min-width: 0; /* Evita problemas de desbordamiento en columnas flex */
	max-width: 400px;
	min-height: 500px;
}

/*Colocar columna a espacio inferior de la primera columna*/
.bajar-15 {
	margin: 15px 0 -15px 0!important;
}

.bajar-30 {
	margin: 30px 0 -30px 0!important;
}

.contenedor-general {
  display: flex;
  flex-direction: column;
  align-items: center; /* Centra horizontalmente */
  gap: 0px; /* Espacio entre imagen y texto */
}

.texto-fondo-ajustado {
  display: block;
  width: fit-content;       /* Toma el ancho del contenido */
  margin: 0 auto;
  margin-top: 10px;
  padding: 10px 20px;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}


.contenedor-unidad {
  display: inline-block;
  padding: 20px 30px;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

/*Mover el contenedor hacia arriba en el hover*/
.contenedor-mover-arriba:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

/*Contenedor Flex Centro*/
.contenedor-flex-centro {
    display: flex;
	flex-direction: column;
	align-items: center;
    text-align: center;
}


/*BOTONES*/
.btn-subrayado a{
	color: #1C4E80!important; 
	background: white!important; 
	text-decoration: underline!important; 
	text-underline-offset: 5px!important; 
	text-decoration-color: #28A745!important;
	}

.btn-subrayado a:hover{
	   color: #28A745!important;
}

/*********CONTENEDORES CABECERA**********/
.contenedor-cabecera {
	display: flex; justify-content: center; align-items: center;
	background-size: contain!important;
    background-position: center;
    background-repeat: no-repeat;
}

/* Para móviles */
@media (max-width: 767px) {
    .contenedor-cabecera {
        background-size: cover!important;
        /*height: 350px;*/
    }
}

/**************CONTENEDOR FRASE CON BORDE************/
.frase-borde {
  text-align: center;
}

.frase-borde p {
  /* Estilos del párrafo */
  display: inline-block;
  margin: 1rem 3rem 2rem 3rem !important;
  padding: 2rem;
  border-radius: 10px;
  text-align: justify;
  
  /* --- LA CLAVE PARA EL BORDE ANIMADO --- */

  /* 1. Define un borde, pero hazlo transparente. Su grosor será el de la animación. */
  border: 2px solid transparent;

  /* 2. Define DOS fondos: uno sólido para el contenido y otro con el degradado animado. */
  background-image: 
    linear-gradient(white, white), /* Fondo del contenido (color sólido) */
    linear-gradient(45deg, #1C4E80, #46BCEF, #1C4E80); /* Fondo del borde (animado) */
  
  /* 3. El fondo se origina desde el borde */
  background-origin: border-box;

  /* 4. Recorta el primer fondo (sólido) al área del padding y el segundo (degradado) al área del borde. */
  background-clip: padding-box, border-box;

  /* 5. Prepara el degradado para la animación */
  background-size: 200% 100%;
  animation: color-border-glow 3s linear infinite;
}

/* Define la animación que mueve el degradado */
@keyframes color-border-glow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}


/*****************LISTAS**********/
.lista-visto {
  list-style: none;
  padding: 0!important;
}

.lista-visto li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
  line-height: 1.5;
}

.lista-visto li::before {
  content: "✔︎";
  position: absolute;
  left: 0;
  top: 0;
  color: black;
  font-weight: bold;
}

.lista-visto li strong {
  font-weight: bold;
}





/*******************************/
/****chat****/
.chat {
width: 100px; height: auto; position: fixed; bottom: 5px; right: 0px; z-index: 999;
}


/*Botones menu*/
.menu-item {
	border: 1px solid #000000;
  background-color:#5e9bc7;
	border-radius:3px;
	height: 35px;
	font-size: 0.85rem;
	padding: 5px;
} 
.menu-item:hover, .menu-item:focus {
	border: 1px solid #000000;
  background-color:#81c3f5;
	border-radius:3px;
	font-weight:bold;
	font-size: 0.9rem;
  box-shadow: 10px 10px 5px #888;
} 
 .current-menu-item  {
	border: 1px solid #000000;
  background-color:#005594;
	border-radius:3px;
} 

@media (max-width: 544px) {
    /* Estilos base para los ítems del menú en móviles */
    .ast-builder-menu-mobile .main-navigation .menu-item > .menu-link,
    .ast-builder-menu-mobile .main-navigation .menu-item > .ast-menu-toggle {
        border: 1px solid #000;
        background-color: #5e9bc7;
        border-radius: 3px;
        padding: 10px;
        font-size: 1rem;
        display: block;
    }

    /* Evitar fondo blanco en la flecha al hacer hover */
    .ast-builder-menu-mobile .main-navigation .menu-item > .ast-menu-toggle:hover {
        background-color: #81c3f5 !important;
    }

    /* Hover, Focus y Active en todo el menú */
    .ast-builder-menu-mobile .main-navigation .menu-item:hover > .menu-link,
    .ast-builder-menu-mobile .main-navigation .menu-item:hover > .ast-menu-toggle {
        background-color: #81c3f5 !important;
        font-weight: bold;
        font-size: 110%;
        box-shadow: 10px 10px 5px #888;
    }

    /* Ítem del menú actual y ancestros */
    .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link,
    .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link {
        background-color: #005594 !important;
    }

    /* Submenús y flecha cuando están abiertos */
    .ast-builder-menu-mobile .main-navigation .menu-item .ast-menu-toggle[aria-expanded="true"],
    .ast-builder-menu-mobile .main-navigation .menu-item .sub-menu {
        background-color: #5e9bc7 !important;
    }
}



/*FIJAR MENU EN DESKTOP Y MOVIL*/
/*Cabecera Fija*/
#ast-desktop-header, .ast-builder-menu-mobile .main-header-bar, #ast-mobile-header {
    position: fixed;
    top: 0.5;
    width: 100%;
	background: #fff;
	opacity: 0.95;
}
/*Ajustar al contenido*/
.site-content {
    padding-top: 80px;
}


#pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
    display: inline-block;
    font-size: 150%;
    line-height: 0;
    padding: 7px;
}

