/*
Theme Name:     Hello Elementor Child
Theme URI:      https://tusitio.com
Description:    Tema hijo de Hello Elementor con posts dinámicos
Author:         Tu nombre
Author URI:     https://tusitio.com
Template:       hello-elementor
Version:        1.0.0
Text Domain:    hello-elementor-child
*/

.border {
  border-right: 2px solid #0D3B66; 
  padding-right: 12px;         
  margin-right: 12px;          
}

  .searchform {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .searchform label {
    font-weight: bold;
  }

  .searchform input[type="text"] {
    padding: 6px 32px 6px 14px;
    border: 1px solid #ccc;
    border-radius: 20px;
    font-size: 14px;
    width: 200px;
  }

  .searchform button {
    background: none;
    border: none;
    cursor: pointer;
    margin-left: -30px;
    padding: 0;
  }

  .searchform button svg {
    width: 18px;
    height: 18px;
    fill: #555;
	padding-top: 6px;
  }

	.searchform button svg:hover {
    background: #fff !important;
  }

  .searchform button:hover svg {
    fill: #3392cd;
  }
  
  
 .searchform button:hover {
    background-color: #FFF;
    color: #3392cd;
    text-decoration: none;
	border: none;
}

.elementor-11 .elementor-element .hfe-read-more {
    background: #3392cd;
    padding: 10px 16px;
    border-radius: 20px;
		border: 1px solid #3392cd;
}

.elementor-11 .elementor-element .hfe-read-more:hover {
    background: #fff;
    padding: 10px 16px;
    border-radius: 20px;
		border: 1px solid #3392cd;
}

.hfe-post-card .hfe-post-image {
  width: 100%;
  height: 200px;
  overflow: hidden;
  border-radius: 6px;
}

.hfe-post-card .hfe-post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;
}

.hfe-post-card {
  display: flex;
  flex-direction: column;
}

.hfe-post-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.hfe-post-content .hfe-read-more {
  margin-top: auto; 
}

#wpcf7-f430-p17-o1 label {
	width: 100%;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    width: 100%;
    border: 1px solid #3493cb;
    background: #3493cb;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
    border: 1px solid #3493cb;
    background: #fff;
		color: #3493cb;
}

a {
    background-color: transparent;
    color: #3493cb;
}

.hfe-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  font-family: 'Roboto', sans-serif;
}

.hfe-post-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff !important;
  overflow: hidden;
  transition: all 0.3s ease;
  font-family: 'Roboto', sans-serif;
}

.hfe-post-card:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.hfe-post-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.hfe-post-title {
  font-size: 1.1rem;
  margin: 0.8rem;
  font-weight: 700;
  font-family: 'Roboto', sans-serif;
}

.hfe-post-title a {
  text-decoration: none;
  color: #333;
}

.hfe-post-meta {
  font-size: 0.9rem;
  color: #777;
  margin: 0 0.8rem;
  font-family: 'Roboto', sans-serif;
}

.hfe-post-excerpt {
  margin: 0.8rem;
  color: #555;
  font-size: 0.95rem;
  line-height: 1.4;
  font-family: 'Roboto', sans-serif;
}

.hfe-read-more {
  display: inline-block;
  margin: 0.8rem;
  padding: 0.4rem 1rem;
  background: #3a5d2c !important;
  color: #fff !importante;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 500;
  transition: background 0.3s;
  font-family: 'Roboto', sans-serif;
}

.hfe-read-more:hover {
  background: #2d471f !important;
}

/* Animación de entrada suave */
.hfe-posts-grid.loading .hfe-post-card {
  opacity: 0;
  transform: translateY(20px);
}

.hfe-posts-grid.loaded .hfe-post-card {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition-delay: var(--delay, 0s);
}

/* Carga más fluida (sin saltos visuales) */
.hfe-posts-grid {
  min-height: 100px;
  will-change: opacity, transform;
}

.elementor-11 .elementor-element .hfe-read-more {
    background: #3392cd !important;
    padding: 10px 16px;
    border-radius: 20px;
    border: 1px solid #3392cd !important;
    color: #fff;
}
.elementor-11 .elementor-element .hfe-read-more:hover {
    background: #35ABFF !important;
}