/* ==========================
   PAGINA BLOG
   ========================== */

/* Contenedor principal centrado, ancho máximo fijo */
body.blog #primary {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
  width: 100% !important;
}

/* Grid de las tarjetas */
.posts-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin: 0 auto !important;
  justify-items: stretch !important;      /* Todas las tarjetas igual ancho */
  align-items: stretch !important;        /* Todas igual alto */
}

/* Tarjeta de blog uniforme */
body.blog #primary .site-main .hentry {
  border: 1px solid #085C3D;
  border-radius: 6px;
  padding: 16px;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  min-height: 340px;
  background: #fff;
  height: 100%;                /* Obligatorio para forzar igual alto */
}

/* SOLO "Leer más" visible, quita "Seguir leyendo" si lo hubiera */
a.leer-mas-link {
  color: #085C3D !important;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid #085C3D;
  margin-top: auto !important;
  display: inline-block;
  background: none;
}
a.leer-mas-link:hover {
  color: #06331f !important;
  border-color: #06331f;
}
a.sigue-leyendo, a.more-link {
  display: none !important;
}

/* Resultado: extractos más cortos con puntos suspensivos */
body.blog #primary .site-main .hentry > .entry-summary {
  flex-grow: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1em;
  line-height: 1.7;
  color: #273E39;
  margin-bottom: 0;
}

/* Imagen destacada */
body.blog #primary .post-thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  margin-bottom: 10px;
}

/* Ocultar widgets laterales solo en el blog */
body.blog #secondary.widget-area {
  display: none !important;
}

/* Ocultar fechas de publicaciones */
.entry-meta {
  display: none !important;
}

/* Ordenar los elementos: imagen, título, contenido y botón */
body.blog #primary .site-main .hentry .post-thumbnail { order: 1 !important; }
body.blog #primary .site-main .hentry .entry-header { order: 2 !important; margin-top: 10px; }
body.blog #primary .site-main .hentry .entry-summary { order: 3 !important; }
body.blog #primary .site-main .hentry .leer-mas-link { order: 4 !important; }

/* Paginación centrada */
.navigation.pagination { margin-top: 30px; text-align: center; }
.navigation.pagination .nav-links { display: inline-block; }
.navigation.pagination .page-numbers {
  border: 2px solid #085C3D;
  border-radius: 7px;
  padding: 10px 16px;
  margin: 0 8px;
  color: #085C3D;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  background-color: #f2f2ec;
  transition: background-color 0.3s, color 0.3s;
}
.navigation.pagination .page-numbers:hover,
.navigation.pagination .page-numbers.current {
  background-color: #085C3D;
  color: #ffffff;
  border-color: #085C3D;
}

/* Responsive: una columna en móviles */
@media (max-width: 768px) {
  body.blog #primary .site-main,
  .posts-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Ocultar título de la página del blog */
body.blog .page-title { display: none !important; }

/* Contenedor del sitio */
.site, #page, .contenedor-principal {
  max-width: 1160px;
  margin: 60px auto;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.09);
  border-radius: 8px;
  padding: 32px;
  border: 8px solid #085C3D;
  position: relative;
}

/* Ocultar título solo en páginas, no en entradas */
body.page .page-title,
body.page .entry-title {
  display: none !important;
}
/* Fuerza ancho completo de cada tarjeta, incluso si tienen poco contenido */
.posts-grid > * {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-self: stretch !important;
}

/* Para corregir posibles columnas estrechas por widgets/post especiales */
.posts-grid .widget, .posts-grid .sidebar, 
.posts-grid .widget-area, 
.posts-grid .item, 
.posts-grid .hentry {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ==========================
   TITULOS ENTRADAS
   ========================== */

body.blog #primary .site-main .hentry .entry-title {
  font-size: 0.50em !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  display: block !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow: visible !important;
  max-height: none !important;
}


body.blog #primary .site-main .hentry > .entry-summary {
  font-size: 0.70em !important;
}


/* ==========================
   BANNER PAGINA BLOG
   ========================== */
.blog-welcome-banner {
  background-color: #F2F2EC;
  padding: 30px 20px;
  border-radius: 12px;
  box-shadow: 2px 2px 12px rgba(8, 92, 61, 0.10);
  margin: 32px 0 !important;
  text-align: center;
  
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  line-height: 1.4;
}

.blog-welcome-banner .banner-title,
.blog-welcome-banner .banner-subtitle,
.blog-welcome-banner .banner-text {
  color: #085C3D;
  font-weight: bold;
  display: block;
  width: 100%;
}

.blog-welcome-banner .banner-title {
  font-size: 2em;
  margin-bottom: 8px;
}

.blog-welcome-banner .banner-subtitle,
.blog-welcome-banner .banner-text {
  font-size: 1.3em;
}

/* UNIVERSAL MÓVIL - Todos dispositivos */
@media (max-width: 768px) {
  .blog-welcome-banner {
    padding: 28px 20px !important; /* Espacio equilibrado */
    margin: 32px 0 !important;
    line-height: 1.58 !important;
  }
  .blog-welcome-banner .banner-title {
    font-size: clamp(1.25em, 4vw, 1.4em) !important; /* Escala fluida */
  }
  .blog-welcome-banner .banner-subtitle,
  .blog-welcome-banner .banner-text {
     font-size: clamp(0.85em, 2.8vw, 1em) !important;
    
    /* UNIVERSAL anti-rompe */
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    letter-spacing: 0.02em !important; /* Micro-espacio anti-viuda */
  }
}

/* Extra-estrecho (355px+) */
@media (max-width: 360px) {
  .blog-welcome-banner {
    padding: 26px 18px !important;
  }
  .blog-welcome-banner .banner-subtitle,
  .blog-welcome-banner .banner-text {
    letter-spacing: 0.03em !important;
  }
}

/* ==========================
   TEXTOS Y TITULOS
   ========================== */
article .entry-content p {
  text-align: justify;
}

article .entry-content h1,
article .entry-content h2,
article .entry-content h3,
article .entry-content h4,
article .entry-content h5,
article .entry-content h6 {
  color: #085C3D;
  font-weight: 700;
}

h1.entry-title,
.page-title,
.entry-title,
.entry-title a {
  color: #085C3D !important;
  font-weight: 700 !important;
  text-align: left !important;  /* Cambiado de justify a left */
}

h2.entry-title {
  font-size: 20px !important;
  font-weight: 700 !important;
}

.home .entry-title {
  display: none;
}

/* ==========================
   CABECERA Y MENÚ (HTML: logo + marca REALES)
   ========================== */

/* ---- CABECERA DESKTOP ---- */
.navigation-top .wrap {
  display: flex;
  align-items: center;
  min-height: 66px;
  padding-left: 28px !important;
  padding-right: 28px !important;
  gap: 22px;
  background: #F2F2EC;
  position: relative;
}
/* Logo y Marca en cabecera */
.crown-branding {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.crown-logo {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: block;
}
.crown-marca {
  font-family: 'Roboto Slab', serif;
  font-size: 21px;
  font-weight: 700;
  color: #085C3D;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 240px;
}
/* ---- CABECERA TABLET ---- */
@media (max-width: 900px) {
  .navigation-top .wrap {
    min-height: 48px;
    padding-left: 12px !important;
    padding-right: 12px !important;
    gap: 12px;
  }
  .crown-logo {
    width: 32px;
    height: 32px;
  }
  .crown-marca {
    font-size: 17px;
    max-width: 170px;
  }
}
/* ---- CABECERA MÓVIL ---- */
@media (max-width: 600px) {
  .navigation-top .wrap {
    min-height: 46px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 10px;
  }
  .crown-logo {
    width: 24px;
    height: 24px;
  }
  .crown-marca {
    font-size: 16px;
    max-width: 110px;
  }
  .menu-toggle {
    margin-left: auto !important;
    margin-right: 8px !important;
    z-index: 2;
  }
}

/* Fondo barra cabecera */
.navigation-top {
  background-color: #F2F2EC !important;
}

/* ==========================
   HOMEPAGE Y CONTENEDORES
   ========================== */
.page .site-content,
.single .site-content,
.blog .site-content,
.home.blog .site-content {
  max-width: 1200px;
  margin: 40px auto;
  padding: 30px;
  box-sizing: border-box;
}

.home .site-content-contain {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.home .site-content-contain > .wrap {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.home .panel-content > .wrap {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Rayas verde decorativa */
.site::before, #page::before, .contenedor-principal::before {
  content: "";
  display: block;
  width: 100%;
  height: 6px;
  background: #085C3D;
  border-radius: 8px 8px 0 0;
  margin-bottom: 24px;
}

/* Títulos Roboto Slab */
article .entry-content h1,
article .entry-content h2,
article .entry-content h3,
article .entry-content h4,
article .entry-content h5,
article .entry-content h6,
h1.entry-title,
.page-title,
.entry-title,
.entry-title a {
  font-family: 'Roboto Slab', serif !important;
  font-weight: 700 !important;
  color: #085C3D !important;
}

/* Texto normal Roboto */
body,
body *:not(article .entry-content h1):not(article .entry-content h2):not(article .entry-content h3):not(article .entry-content h4):not(article .entry-content h5):not(article .entry-content h6),
body *:not(h1.entry-title):not(.page-title):not(.entry-title):not(.entry-title a) {
  font-family: 'Roboto', Arial, sans-serif !important;
}

/* Negritas en texto con strong o b */
strong, b {
  font-family: 'Roboto', Arial, sans-serif !important;
  font-weight: 700 !important;
}
/* Contenedor del bloque de menús PÁGINA DE INICIO */
.crowd-menu {
  background-color: #F2F2EC;
  border-radius: 12px;
  box-shadow: 2px 2px 12px rgba(8,92,61,0.10);
  border: 1.6px solid #eceee4;
  padding: 30px 20px;
  max-width: 420px;
  margin: 32px auto;
}

/* Layout interno */
.crowd-menu nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
}

.crowd-menu .row-buttons {
  display: flex;
  gap: 12px;
  width: 100%;
  justify-content: center;
}

/* Tarjeta que se levanta completa */
.btn-card {
  background: #F2F2EC;               /* mismo fondo que la caja */
  border-radius: 7px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Borde verde queda en el botón blanco, no en la tarjeta */
.big-card {
  width: 98%;
  max-width: 340px;
  margin: 13px 0;
}

/* La caja general se mueve, NO el botón */
.btn-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.10);
}

/* Botón blanco dentro de la tarjeta */
a.btn-plat {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  padding: 14px 18px;
  min-width: 160px;

  background: #FFFFFF;               /* fondo blanco */
  border: 2px solid #085C3D;
  border-radius: 7px;
  color: #0736E3;
  font-weight: bold;
  text-decoration: none;
  white-space: normal;
  word-break: break-word;
  font-size: 1em;

  box-shadow: 1.2px 1.2px 8px rgba(8,92,61,0.10);
  transition: background-color 0.2s ease,
              color 0.2s ease,
              border-color 0.2s ease;
}

/* Botón grande centrado */
a.btn-plat.big {
  width: 100%;
  padding: 16px 20px;
}

/* Solo cambia color del botón, no se mueve */
a.btn-plat:hover,
a.btn-plat:focus {
  background-color: #085C3D;
  color: #FFFFFF;
  border-color: #085C3D;
}

/* Flechas */
.crowd-menu .arrows {
  display: flex;
  gap: 44px;
  justify-content: center;
  margin-top: -11px;
  font-size: 26px;
}

/* Responsive móvil */
@media (max-width: 480px) {
  .crowd-menu .row-buttons {
    flex-direction: column;
    gap: 8px;
    width: 100%;
    align-items: stretch;
  }

  .btn-card {
    width: 100%;
  }
}


/* ==========================
   PIE DE PÁGINA
   ========================== */
footer, .site-footer, #colophon, .footer-widgets, .footer {
  background-color: #F2F2EC !important;
  color: #085C3D !important;
  padding: 20px !important;
}

footer .widget, .site-footer div, #colophon .widget, #colophon div {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.site-footer {
  position: relative;
  margin-top: 36px;
}

.site-footer::before {
  content: "";
  display: block;
  width: 100%;
  height: 6px;
  background: #085C3D;
  border-radius: 8px 8px 0 0;
  position: absolute;
  top: -30px; 
  left: 0;
}

/* === ESTILOS DE MENU === */
.navigation-top .menu > li > a,
.navigation-top .main-menu > li > a,
.site-header .menu > li > a {
  color: #085C3D !important;
  font-weight: 700 !important;
  font-family: 'Roboto Slab', serif !important;
  letter-spacing: 0.2px;
  text-shadow: none !important;
  opacity: 1 !important;
}

.navigation-top .menu > li > a:hover,
.navigation-top .menu > li > a:focus {
  color: #06331f;
}

/* Menú móvil */
.menu-toggle,
.menu-toggle span {
  color: #085C3D !important;
  font-weight: 700 !important;
}

/* Menús en widgets o plugins */
.widget_nav_menu .menu-item a {
  color: #085C3D !important;
  font-weight: 700 !important;
}

/* Submenús */
.navigation-top .menu li ul.sub-menu li a:hover,
.navigation-top .menu li ul.sub-menu li a:focus,
.navigation-top .menu li ul.sub-menu li.current-menu-item > a,
.navigation-top .menu li ul.sub-menu li.current_page_item > a {
  background: #085C3D !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* === OTROS AJUSTES GENERALES === */
input.submit,
a.comment-reply-link {
  color: #085C3D;
  font-weight: bold;
  background-color: transparent;
  border: 2px solid #085C3D;
  padding: 6px 12px;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 4px;
}

input.submit:hover,
a.comment-reply-link:hover {
  background-color: #085C3D;
  color: #ffffff;
}

label[for="comment"],
h3.comment-reply-title,
.nav-subtitle,
.nav-title,
.wp-block-search__label {
  color: #085C3D;
  font-weight: bold;
}

a.post-edit-link {
  color: #085C3D;
  font-weight: bold;
  background-color: #ffffff;
  border: 2px solid #085C3D;
  padding: 6px 12px;
  text-decoration: none;
  border-radius: 5px;
  display: inline-block;
  transition: all 0.3s ease;
  cursor: pointer;
}

a.post-edit-link:hover {
  background-color: #085C3D;
  color: #ffffff;
  border-color: #085C3D;
}



.navigation-top .wrap {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding-left: 0 !important;
  padding-right: 0 !important;
  gap: 10px;
  background: #F2F2EC;
  position: relative;
}
.crown-branding {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.crown-logo {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.crown-marca {
  font-size: 16px;
  font-family: 'Roboto Slab', serif;
  font-weight: 700;
  color: #085C3D;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 110px;
}
.menu-toggle {
  margin-left: auto !important;
  margin-right: 8px !important;
  z-index: 2;
}

/* BOTÓN VERDE EN BUSCADOR */
/* Aplica a cualquier botón de submit dentro de formularios de búsqueda */
.search-form button,
.widget_search .search-submit,
input[type="submit"].search-submit,
input[type="submit"].search-form {
  background: #085C3D !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 0.4em 1em !important;
  transition: background 0.2s;
}

/* Lupa en el interior, color blanco */
.search-form button .icon-search,
.widget_search .search-submit .icon-search,
.search-form button svg,
.widget_search .search-submit svg {
  fill: #fff !important;
  color: #fff !important;
}

/* Hover */
.search-form button:hover,
.widget_search .search-submit:hover,
input[type="submit"].search-submit:hover {
  background: #06331f !important;
}

.error404 .page-content,
.error404 .page-content p,
.error404 .page-content h2,
.error404 .page-content h3 {
  color: #085C3D !important;
  font-weight: 600;
}

/* Cambia el color y negrita del placeholder "Buscar ..." */
.search-form input::placeholder,
.widget_search input::placeholder,
input[type="search"]::placeholder {
  color: #085C3D !important;
  font-weight: 700;
  opacity: 1 !important;
}



/*FIJADO EN CSS ADICIONAL */
/* Estilo para el bloque branding en toda la web */
.site-branding-text {
    border: 8px solid #085C3D;
    padding: 18px 18px 10px 18px;
    border-radius: 8px;
    margin-bottom: 25px;
    background: #F2F2EC;
}

/* Título siempre en verde, en todas las páginas */
.site-title a {
    color: #085C3D !important;
    font-weight: bold;
    text-decoration: none;
}

/* Descripción: margen superior estándar */
.site-description {
    margin-top: 10px;
    font-weight: bold;
}


/* Fondo blanco en .wrap (que contiene el branding) */
.site-branding {
    background: #fff !important;
}

.site-branding-text {
    border: 8px solid #085C3D;
    padding: 18px 18px 10px 18px;
    border-radius: 8px;
    margin-bottom: 25px;
    background: #F2F2EC;
}

/* Quitar la palabra "Menú" y mantener los iconos */
.menu-toggle {
    font-size: 0 !important; /* Oculta solo el texto */
}
.menu-toggle svg {
    font-size: 22px !important;
}

/* MENÚ MÓVIL - SOLUCIONES DE DESPLAZAMIENTO Y ANCHO */
@media (max-width: 800px) {
  /* Asegura que el menú desplegado queda fijo y ocupa la pantalla */
  .main-navigation.toggled-on {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw !important;
    height: 100vh;
    background: #fff;
    z-index: 9999;
    box-sizing: border-box;
    overflow-y: auto;
  }
  /* Corrige desplazamiento o superposición de branding */
  .main-navigation.toggled-on ~ .crown-branding,
  .main-navigation.toggled-on .crown-branding {
    display: none !important;
  }
  /* Mantiene la hamburguesa alineada arriba a la izquierda */
  .menu-toggle {
    position: relative;
    z-index: 10001;
    display: block;
    margin: 0 auto 0 0;
    top: initial;
    left: initial;
  }
}


 /*ELIMINA EL FONDO GRISACEO DE LA FOTO PORTADA ENTRADAS */

.single-featured-image-header {
  background: #fff !important;
  box-shadow: none !important;
  border: none !important;
}


 /*FIN */


/* Eliminar puntos suspensivos de la marca */
.crown-marca {
    max-width: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
}

/* Borde verde y fondo del bloque branding */
.crown-branding {
    border: 6px solid #085C3D !important;
    border-radius: 8px !important;
    padding: 7px 16px !important;
    background: #F2F2EC !important;
    margin-right: 34px !important; /* Separación visual del menú */
}

/* Centra la cabecera horizontalmente */
.navigation-top .wrap {
    justify-content: center !important;
}

/* Opcional: centrar menú en móviles también */
@media (max-width: 800px) {
  .navigation-top .wrap {
    flex-direction: column !important;
    align-items: center !important;
  }
  .crown-branding {
    margin: 0 0 10px 0 !important;
  }
}


/* Borde verde y bordes redondeados en toda la barra de cabecera */
.navigation-top {
  border: 8px solid #085C3D !important;
  border-radius: 12px !important;
  margin: 12px !important;
  background-color: #F2F2EC !important;  /* Asegura fondo igual en cabecera */
  box-sizing: border-box !important;  
}


.navigation-top {
  position: sticky;
  top: 0;
  max-width: 1160px;
  margin: 0 auto !important; /* Sin margen arriba para pegar */
  border: 8px solid #085C3D !important;
  border-radius: 12px !important;
  background-color: #F2F2EC !important;
  box-sizing: border-box !important;
  z-index: 999;
  padding-left: 15px;
  padding-right: 15px;
}

/* Asegura que el contenido interno del menú se centre y no se desborde */
.navigation-top .wrap {
  max-width: 1160px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center !important;
}

/* Ajuste para menú móvil centrado */
@media (max-width: 800px) {
  .navigation-top .wrap {
    flex-direction: column !important;
    align-items: center !important;
  }
}

/* Color navegador */
body {
  background: #F2F2EC !important;
}

/*CAMBIAR EL COLOR TEXTO Y TITULOS */
/* Sobrescribe solo una vez optimizado */
h1.entry-title,
.page-title,
.entry-title,
.entry-title a {
  font-size: 2.4em !important; /* Cambiado para notar el cambio */
  margin-top: 1.5em !important;
  margin-bottom: 1em !important;
  font-weight: 700 !important;
  color: #085C3D !important;
}

article .entry-content p,
body.blog #primary .site-main .hentry .entry-summary {
  color: #222 !important;
  font-size: 1.05em !important;
  line-height: 1.8 !important;
}

/*ELININA PUBLICIDAD DE WORDPRESS */
.site-info {
  display: none !important;
}

/*TAMAÑO TITULOS ENTRADAS */


.single-post .entry-title {
  font-size: 1.6em !important; /* O el tamaño que desees */
  margin-top: 0.6em !important;
  margin-bottom: 0.4em !important;
}

/* Solo afecta a los enlaces DE LISTAS en widgets, NO a botones personalizados */
.widget ul li a,
.widget ol li a,
.widget_categories a,
.widget_recent_entries a {
  color: #085C3D !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-bottom-color 0.2s;
}
.widget ul li a:hover,
.widget ol li a:hover,
.widget_categories a:hover,
.widget_recent_entries a:hover {
  color: #085C3D !important;
  border-bottom: 2px solid #085C3D !important;
  text-decoration: none !important;
}

/* Solo afecta a los wiget de las páginas y entradas referente a entradas recientes */

.wp-block-latest-posts__post-title {
  color: #085C3D !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-bottom-color 0.2s;
}
.wp-block-latest-posts__post-title:hover {
  color: #085C3D !important;
  border-bottom: 2px solid #085C3D !important;
  text-decoration: none !important;
}

/* Solo afecta a los wiget de las páginas y entradas referente a categorias */
.wp-block-categories-list a {
  color: #085C3D !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-bottom-color 0.2s;
}
.wp-block-categories-list a:hover {
  color: #085C3D !important;
  border-bottom: 2px solid #085C3D !important;
  text-decoration: none !important;
}



/* Solo afecta a los Enlaces del bloque de navegación */
/* Enlaces normales del menú principal */
/* Estilo base: enlaces principales en color verde */
.wp-block-navigation a.wp-block-navigation-item__content {
  color: #085C3D !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  background: transparent !important;
  transition: all 0.2s ease;
  display: block; /* asegurarse que ocupe todo el espacio del item */
}

/* Cuando pasas el ratón o enfocas un ítem, sombrear toda la fila de verde y poner texto en blanco */
.wp-block-navigation-item:hover,
.wp-block-navigation-item:focus-within {
  background-color: #085C3D !important;
}

.wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-block-navigation-item:focus-within > .wp-block-navigation-item__content {
  color: #fff !important;
}

/* Para los submenús: fondo verde oscuro y texto blanco en hover y focus */
.wp-block-navigation-submenu-container {
  background-color: #085C3D !important;
}

.wp-block-navigation-submenu-container a.wp-block-navigation-item__content {
  color: #fff !important;
  background: transparent !important;
}

.wp-block-navigation-submenu-container a.wp-block-navigation-item__content:hover,
.wp-block-navigation-submenu-container a.wp-block-navigation-item__content:focus {
  background: #074b2f !important;
  color: #fff !important;
}

/* Para los ítems de submenú (padres con hijos), sombreado completo y texto en blanco al pasar el ratón */
.wp-block-navigation-item.has-child:hover,
.wp-block-navigation-item.has-child:focus-within {
  background-color: #085C3D !important;
}

.wp-block-navigation-item.has-child:hover > .wp-block-navigation-item__content,
.wp-block-navigation-item.has-child:focus-within > .wp-block-navigation-item__content {
  color: #fff !important;
}

/* FUERZA SIN ESPACIOS ARRIBA/ABAJO en TODAS PÁGINAS ≤1200px - Alta Especificidad */
@media (max-width: 1200px) {
  /* Contenedor principal - TODAS las páginas */
  body .site-content-contain,
  body .site-content-contain > .wrap,
  body .panel-content > .wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0px 0 0 !important;
    box-sizing: border-box !important;
    min-height: auto !important;
  }
  
  /* Site y contenido principal - TODAS */
  body .site,
  body .site-main,
  body #primary,
  body .site-content,
  main#primary > .content-area {
    padding: 0 !important;
    margin: 0 !important;
  }
  
  /* Entry content - TODAS */
  body .entry-content,
  article.post .entry-content {
    padding: 0 !important;
    margin: 0 0 1rem 0 !important;
  }
  
  /* Footer pegado - TODAS */
  body .site-footer {
    margin-top: 0 !important;
    padding-top: 0.5rem !important;
    padding-bottom: 1rem !important;
  }
}

/* Sección completa (dos filas de 3 columnas) */
.home-cards {
  margin: 32px 0 40px;
}

/* Filas de columnas dentro de la sección */
.home-cards.wp-block-columns,
.home-cards .wp-block-columns {
  gap: 24px;
  margin-bottom: 24px;
}

/* Tarjetas más cuadradas y compactas*/
.home-cards .wp-block-column {
  background: #F2F2EC;
  border-radius: 26px;
  padding: 20px 20px 22px;
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 420px;
  min-height: 210px;
  position: relative;  /* NUEVO: para ::before */
  overflow: hidden;    /* NUEVO */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  opacity: 0;
  transform: translateY(40px);
}

/* Overlay verde INSTANTÁNEO */
.home-cards .wp-block-column::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #085C3D;
  opacity: 0;
  z-index: 1;
  transition: opacity 0.2s ease;
  pointer-events: none;
  border-radius: 26px;
}

.home-cards .wp-block-column:hover::before {
  opacity: 1;
}

/* Hover lift y sombra */
.home-cards .wp-block-column:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
/* TODOS textos blancos en hover (sincronizados) */
.home-cards .wp-block-column:hover * {
  color: #FFFFFF !important;
  transition: color 0.2s ease;
}

/* Base textos (resto igual) */
.home-cards .wp-block-heading {
  color: #085C3D;
  font-size: 1.15rem;
  margin-bottom: 10px;
  position: relative;  /* z-index sobre ::before */
  z-index: 2;
}

.home-cards p, .home-cards p a {
  margin: 0;
  line-height: 1.45;
  max-width: 340px;
  color: #000000 !important;
  position: relative;
  z-index: 2;
}

/* Iconos (si añades imágenes arriba)*/
.home-cards .wp-block-image img {
  max-width: 56px;
  border-radius: 16px;
  background: #ffffff;
  padding: 10px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.12);
  margin-bottom: 10px;
  position: relative;
  z-index: 2;
}

/* Responsive, enlaces, títulos (iguales) */
@media (max-width: 768px) {
  .home-cards .wp-block-columns { flex-direction: column; }
}
/* Enlaces dentro de las tarjetas: sin línea ni subrayado, sin forzar color */
.entry-content .home-cards a,
.entry-content .home-cards a:visited,
.entry-content .home-cards a:hover,
.entry-content .home-cards a:focus {
  text-decoration: none;
  box-shadow: none;
  border-bottom: none;
}
/* Centrar los títulos de las tarjetas */
.home-cards .wp-block-column h2,
.home-cards .wp-block-column h3,
.home-cards .wp-block-column h4,
.home-cards .wp-block-column .wp-block-heading {
  text-align: center !important;
}
/* Títulos de las tarjetas: si el título es enlace, siempre en verde (base) */
.home-cards .wp-block-heading a,
.home-cards .wp-block-column h2 a,
.home-cards .wp-block-column h3 a,
.home-cards .wp-block-column h4 a {
  color: #085C3D !important;
}
/* Justificar párrafo izquierda en tablet tamaño superior 900*/
@media (min-width: 900px) and (max-width: 1199px) {
  .home-cards p {
    text-align: left !important;
    hyphens: none;
  }
}

/* Márgenes estilo móvil en tablet en página de inicio + adicional */
@media (min-width: 900px) and (max-width: 1199px) {
  /* Contenedor principal home: mismo aire móvil */
  #post-8 .entry-content,
  #post-12 .entry-content {
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  /* Elementos internos hereden */
  #post-8 .wp-block-image img,
  #post-8 .wp-block-group,
  #post-8 .wp-block-columns,
  #post-8 h2.wp-block-heading,
  #post-8 h3,
  #post-8 p,
  #post-8 .footer-disclaimer {
    max-width: calc(100% - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Imágenes responsive como móvil */
  #post-8 .wp-block-image figure.aligncenter img {
    width: 89vw !important;
    max-width: 89vw !important;
  }
}

@media (min-width: 900px) and (max-width: 1199px) {
  /* TODOS paneles twentyseventeen-panel + entry-content */
  .twentyseventeen-panel .entry-content,
  article[class*="post-"] .entry-content:has(.wp-block-heading) {
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  /* h2 específicamente en panels */
  .twentyseventeen-panel h2.wp-block-heading,
  .twentyseventeen-panel h2.entry-title,
  article[class*="post-"] h2.wp-block-heading {
    padding-left: 24px !important;
    padding-right: 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Botones CTA */
  .twentyseventeen-panel div[style*="padding: 16px"],
  .twentyseventeen-panel div[style*="background-color: transparent"] {
    padding-left: 20px !important;
    padding-right: 20px !important !important;
  }
}


/* --- ARREGLO FINAL: MENÚ TABLET + BUSCADOR DESPLEGABLE CORREGIDO (VISIBLE) --- */
@media screen and (min-width: 768px) and (max-width: 1350px) {

  /* 1. Comprimir menú para ganar espacio */
  .main-navigation a {
    padding: 0.5em 0.5em !important;
    font-size: 13px !important;
  }

  /* 2. Reducir logo un poco */
  .custom-logo-link img {
    max-width: 160px !important;
  }

  /* --- BUSCADOR INTELIGENTE CORREGIDO (VISIBLE + CLICK FIJO) --- */

  .menu-item.buscador-menu {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;

    margin-top: -5px !important;
    height: auto !important;
    width: auto !important;
    min-width: 40px !important; /* Espacio para botón visible */
  }

  /* Botón SIEMPRE VISIBLE y fijo */
  .buscador-menu .search-submit {
    position: relative !important; /* Mantiene tu original */
    display: inline-block !important;
    background-color: #0f5132 !important;
    color: #ffffff !important;
    border-radius: 4px !important;

    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    z-index: 1000 !important;

    top: 0 !important;
    right: 0 !important;
    margin: 0 !important;

    flex-shrink: 0 !important; /* No se comprime */
  }

  .buscador-menu .search-submit svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #ffffff !important;
    vertical-align: middle !important;
    display: inline-block !important;
    margin-top: -2px !important;
  }

  /* Campo: sale a IZQUIERDA del botón fijo */
  .buscador-menu .search-field {
    display: block !important;
    width: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    opacity: 0;

    position: absolute;
    left: -160px; /* Fuera a izquierda inicialmente */
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
    z-index: 999;
    height: 36px !important;
  }

  /* Hover/Focus: expande input a izquierda */
  .menu-item.buscador-menu:hover .search-field,
  .buscador-menu .search-field:focus {
    width: 150px !important;
    padding: 0 10px !important;
    background: #ffffff !important;
    border: 1px solid #0f5132 !important;
    opacity: 1;
    border-radius: 4px !important;
    left: -155px !important; /* Posición exacta al lado del botón */
  }

  /* Sobrescribe PHP solo lo necesario */
  .buscador-menu form {
    position: relative !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
  }
}

/* === BUSCADOR ANTI-FORBIDDEN GLOBAL (TODOS DISPOSITIVOS + WIDGETS) === */
/* Botón DESACTIVADO hasta tener texto */

.search-form .search-submit,
.buscador-menu .search-submit,
.widget_search .search-submit {
  pointer-events: none !important;
  opacity: 0.6 !important;
  transition: all 0.2s ease !important;
}

/* Texto escrito → botón ACTIVO */
.search-form .search-field:not(:placeholder-shown) ~ .search-submit,
.search-form .search-field:focus ~ .search-submit,
.buscador-menu .search-field:not(:placeholder-shown) ~ .search-submit,
.widget_search .search-field:not(:placeholder-shown) ~ .search-submit {
  pointer-events: auto !important;
  opacity: 1 !important;
}

/* Hover/focus input activa botón */
.search-form .search-field:focus ~ .search-submit,
.buscador-menu:hover .search-field:focus ~ .search-submit,
.widget_search .search-field:focus ~ .search-submit {
  pointer-events: auto !important;
  opacity: 1 !important;
}

/* Estilos visuales consistentes */
.search-submit {
  background-color: #0f5132 !important;
  border-radius: 4px !important;
}
.search-submit:hover:not(:disabled) {
  background-color: #085C3D !important;
}