/*
Theme Name: Hello Biz Child
Template: hello-biz
Description: Tema hijo para Hello Biz
Version: 1.0
*/

@font-face {
  font-family: "Runalto";
  src: url("assets/fonts/Runalto.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
}

.grecaptcha-badge {
    visibility: hidden !important;
    opacity: 0 !important;
}

.page-id-147 .grecaptcha-badge {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Títulos */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: "Runalto", sans-serif;
}

/*INICIO*/
.video-home {
    height: 700px;
}

/*MENU*/
#menu-top .ehp-header__dropdown {
    top: 50px;
    padding: 10px 20px;
    border-radius: 10px;
}

img.ehp-header__site-logo {
    height: 35px;
    width: 100%;
}

/* Que el header esté por encima de todo */
.elementor-location-header,
header,
.site-header {
  position: relative;
  z-index: 99999;
}

/* Evita que secciones “hero” transparentes pisen el header */
.elementor-section,
.elementor-container,
.elementor-widget-wrap {
  position: relative;
  z-index: 1;
}

/*BTN*/
.btn-proximamente {
    font-style: italic;
}

/*FOOTER*/
footer {
    --width: 100% !important;
    padding: 0 !important;
}

footer .ehp-flex-footer__groups-row {
    padding-bottom: 100px;
}

footer p.ehp-flex-footer__description a {
    color: #BFC6D6;
}

footer p.ehp-flex-footer__description a:hover {
    color: white;
}

footer span.ehp-flex-footer__copyright-text a {
    color: white;
    transition: 0.2s;
}

footer span.ehp-flex-footer__copyright-text a:hover {
    color: #BFC6D6;
    transition: 0.2s;
}

/*CONTACTO*/
.contact-form form label {
    width: 100%;
    margin-bottom: 10px;
}

.contact-form form label input, .contact-form form label select, .contact-form form label textarea {
    background: #F7F7F7;
    font-family: 'Montserrat';
    border-color: #1b2d4938;
    min-height: 54px;
}

.contact-form form span.wpcf7-not-valid-tip {
    margin-top: 10px;
    margin-left: 5px;
    font-family: 'Montserrat';
}

.contact-form form span.wpcf7-list-item {
    margin-left: 0;
}

.contact-form form input[type="checkbox"] {
    min-height: 14px;
}

.contact-form form span.wpcf7-list-item-label {
    font-family: 'Montserrat';
}

.contact-form form input.wpcf7-submit {
    width: 100%;
    background: #1B2D49;
    border: 1px solid #1B2D49;
    border-radius: 10px;
    font-family: 'Montserrat';
    font-size: 20px;
    color: white;
    transition: 0.2s;
}
.contact-form form input.wpcf7-submit:hover {
    transition: 0.2s;
    background: white;
    color: #1B2D49;
}

/*BLOG*/
/* Tipografía y spacing general */
.blog-cards,
.blog-cards *{
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

.blog-cards .eael-entry-wrapper {
    padding: 0;
}

.blog-cards .eael-post-grid{
    column-gap: 22px !important;
    row-gap: 22px !important;
    align-items: stretch !important;
}

.blog-cards .eael-post-grid .eael-grid-post{
    height: auto !important;
    align-self: stretch !important;
}

.blog-cards .eael-grid-post-holder,
.blog-cards .eael-grid-post-holder-inner{
  height: 100% !important;
}

/* La tarjeta */
.blog-cards .eael-grid-post-holder{
    border: 1px solid rgba(13, 27, 59, .22) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 16px 40px rgba(13, 27, 59, .08) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

/* Hover */
.blog-cards .eael-grid-post-holder:hover{
    transform: translateY(-4px) !important;
    box-shadow: 0 22px 55px rgba(13, 27, 59, .12) !important;
}

.blog-cards .eael-entry-thumbnail {
    height: auto !important;
}

.blog-cards .eael-grid-post-holder-inner{
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.blog-cards .eael-entry-meta,
.blog-cards .eael-entry-header .eael-entry-meta{
    margin: 0 0 10px 0 !important;
}

.blog-cards .eael-entry-meta a,
.blog-cards .eael-entry-meta span{
    display: inline-block !important;
    border: 1px solid rgba(13, 27, 59, .30) !important;
    color: #0d1b3b !important;
    border-radius: 999px !important;
    padding: 4px 10px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Título */
.blog-cards .eael-entry-title{
    min-height: 92px;
}

.blog-cards .eael-entry-title a{
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #0d1b3b !important;
    text-decoration: none !important;
    display: block !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    overflow: hidden !important;
}

/* Quitar overlay/iconos */
.blog-cards .eael-entry-overlay{
    display: none !important;
}

/* Imagen abajo y alineada */
.blog-cards .eael-entry-media{
    order: 3 !important;          /* la manda al final */
    margin-top: auto !important;  /* empuja hacia abajo */
}

.blog-cards .eael-entry-thumbnail{
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f3f5f8 !important;
}

.blog-cards .eael-entry-thumbnail img{
    width: 100% !important;
    height: 320px !important;
    aspect-ratio: 16/9;
    object-fit: cover !important;
    display: block !important;
}

.blog-cards .eael-grid-post-excerpt,
.blog-cards .eael-post-elements-readmore-btn{
    display: none !important;
}

/*ENTRADAS DE BLOG*/
/* Montserrat en posts (single) */
.single-post .site-main,
.single-post .site-main * {
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

.single-post .single-post-hero img {
    border-radius: 10px;
    margin-bottom: 30px;
}

.single-post .single-post-hero h1.single-post-title {
    margin-top: 150px;
    font-size: 54px;
    font-family: "Runalto", sans-serif !important;
    font-weight: bold;
    padding-bottom: 30px;
}

.single-post p {
    font-size: 18px;
    text-align: justify;
}

.single-post a {
    color: #1B2D49;
    transition: 0.2s;
}

.single-post a:hover {
    color: #747991;
}

.single-post h2 {
    margin-top: 40px;
    transition: 0.2s;
}

.single-post .post-tags {
    display: none;
}

/* ====== Related posts block (single) ====== */
.single-related{
    padding: 56px 0 10px;
    margin-bottom: 100px;
}

.single-related__inner{
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

.single-related__title{
  margin: 0;
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0d1b3b;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.05;
}

.single-related__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.single-related__card{
    border: 1px solid rgba(13, 27, 59, .22);
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 16px 40px rgba(13, 27, 59, .08);
    transition: transform .25s ease, box-shadow .25s ease;
    display: flex;
    padding: 20px;
}

.single-related__card:hover{
  transform: translateY(-4px);
  box-shadow: 0 22px 55px rgba(13, 27, 59, .12);
}

.single-related__link{
    display: flex;          
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.single-related__pill{
  display: inline-block;
  border: 1px solid rgba(13, 27, 59, .30);
  color: #0d1b3b;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 13px;
  line-height: 1;
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 600;
  width: fit-content;
}

.single-related__card-title{
    font-weight: 800;
    font-size: 25px;
    line-height: 1.2;
    margin: 20px 0 20px 0;
}

.single-related__thumb{
  border-radius: 14px;
  overflow: hidden;
  background: #f3f5f8;
  margin-top: auto;
}

.comments-area a, .page-content a {
    text-decoration: none !important;
}

.single-related__thumb img{
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}

/* Responsive */
@media (max-width: 1199px) {
    .single-post main#content {
        max-width: 100%;
        padding: 0 20px 0 20px;
    }
}
@media (max-width: 1024px) {
    /*MENU*/
    #menu-top header .ehp-header__navigation {
        width: calc(93% - 80px) !important;
        left: 62px !important;
        padding: 20px 10px 20px 10px !important;
        border-radius: 0 0 10px 10px;
    }
}

@media (max-width: 900px){
  .single-related__grid{
        grid-template-columns: 1fr;
  }
  .single-post .single-post-hero h1.single-post-title {
        margin-top: 100px;
        font-size: 42px;
    }
}

/*404*/
body.error404 main#content {
    min-height: 60vh !important;
    height: 60vh;
}

body.error404 main#content p.sub-heading {
    font-family: "Runalto", sans-serif;
    font-size: 100px;
    font-weight: bold;
}

body.error404 main#content h1,
body.error404 main#content p,
body.error404 main#content input {
    font-family: 'Montserrat';
}

body.error404 main#content a,
body.search.search-results a {
    color: #212c47;
    transition: 0.2s;
}

body.error404 main#content a:hover,
body.search.search-results a:hover {
    color: #BFC6D6;
    transition: 0.2s;
}

/*RESULTADOS BUSQUEDA*/
body.search.search-results h1,
body.search.search-results h2,
body.search.search-results h3,
body.search.search-results p {
    font-family: 'Montserrat';
}

body.search.search-results .posts-container article {
    padding: 20px;
    border: 1px solid #212c47;
    border-radius: 10px;
}

body.search.search-results .posts-container article img.wp-post-image {
    border-radius: 10px;
    margin-bottom: 20px;
}

/*PAGINA COOKIES*/
.content-cookies a {
    color: #212c47;
}
.content-cookies a:hover {
    color: #BFC6D6;
}

.content-cookies h2 {
    font-size: 2rem !important;
    font-family: 'Montserrat';
    font-weight: bold;
}

.content-cookies p,
.content-cookies ul li {
    font-family: 'Montserrat';
    font-size: 17px !important;
    line-height: 1.5;
}

/*RESPONSIVE*/
@media (max-width: 1278px) {
    #menu-top ul {
        gap: 5px;
    }
    #menu-top ul a {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
  footer p {
      display: contents;
  }
}

@media (max-width: 614px) {
    .video-home {
        height: 400px;
    }
    .single-post .single-post-hero h1.single-post-title {
        margin-top: 70px;
        font-size: 33px;
    }
}

@media (max-width: 500px) {
        #menu-top header .ehp-header__navigation {
        width: calc(100% - 40px) !important;
        left: 20px !important;
    }
}