/**
Theme Name: Ciriec Polis
Author: Display None
Author URI: https://www.displaynone.es
Description: Theme for Ciriec Polis
*/
/* Importar fuentes Sofia Sans Condensed */
@import url('https://fonts.googleapis.com/css2?family=Sofia+Sans+Condensed:wght@700&display=swap');
/* Variables CSS para fuentes y colores */ :root {
  /* Fuentes */
  --font-primary: 'Sofia Sans Condensed', sans-serif;
  --font-weight-bold: 700;
  /* Colores principales */
  --color-bg-primary: #EBE6E1; /* Fondo principal - beige claro */
  --color-bg-alternate: #FAF6F1; /* Fondo alterno - beige muy claro */
  --color-bg-white: #FFF; /* Fondo blanco */
  --color-bg-button: #45A671; /* Fondo botón - verde medio */
  /* Colores de texto */
  --color-text-primary: #05755B; /* Texto principal - verde oscuro */
  --color-text-secondary: #45A671; /* Texto secundario - verde medio */
  --color-text-default: #404040; /* Texto por defecto - gris oscuro */
  --color-text-white: #FFF; /* Texto blanco */
  --color-text-black: #000; /* Texto negro */
  /* Tamaños de fuente */
  --font-size-title-large: 37px; /* Título principal centrado */
  --font-size-title-medium: 27px; /* Título de noticias */
  --font-size-date: 20px; /* Fecha de noticias */
  --font-size-button: 18px; /* Texto de botones */
  --font-size-default: 16px; /* Texto por defecto */
  /* Line heights */
  --line-height-title-medium: 29px; /* Line height para títulos de noticias */
  --line-height-default: 22px; /* Line height para texto por defecto */
  /* Espaciados */
  --spacing-section: 40px; /* Espaciado entre secciones */
  --spacing-section-small: 10px; /* Espaciado entre secciones pequeño */
  /* Dimensiones de imagen */
  --image-width: 527px; /* Ancho de imagen de noticias */
  --image-height: 260px; /* Alto de imagen de noticias */
  --image-band-width: 7px; /* Ancho de banda verde en imagen */
  --image-band-color: #45A671; /* Color de banda verde en imagen */
  /* Border radius */
  --border-radius-button: 3px; /* Radio de borde para botones */
}
/* Aplicar fuente principal al body */
body {
  font-family: "Open Sans", sans-serif;
}
/* Clases de utilidad para fuentes */
.font-sofia-bold {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
}
/* Clases de utilidad para colores de fondo */
.bg-primary {
  background-color: var(--color-bg-primary);
}
.bg-alternate {
  background-color: var(--color-bg-alternate);
}
.bg-white {
  background-color: var(--color-bg-white);
}
.bg-button {
  background-color: var(--color-bg-button);
}
/* Clases de utilidad para colores de texto */
.text-primary {
  color: var(--color-text-primary);
}
.text-secondary {
  color: var(--color-text-secondary);
}
.text-default {
  color: var(--color-text-default);
}
.text-white {
  color: var(--color-text-white);
}
.text-black {
  color: var(--color-text-black);
}
/* Clases de utilidad para tamaños de fuente */
.title-large {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-title-large);
  color: var(--color-text-primary);
  text-align: center;
}
.title-medium {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-title-medium);
  line-height: var(--line-height-title-medium);
  color: var(--color-text-primary);
}
.text-date {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-date);
  color: var(--color-text-secondary);
}
.text-default-size {
  font-size: var(--font-size-default);
  line-height: var(--line-height-default);
  color: var(--color-text-default);
}
.button-text {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-button);
  color: var(--color-text-white);
  background-color: var(--color-bg-button);
  border-radius: var(--border-radius-button);
  padding: 12px 24px;
  text-decoration: none;
  display: inline-block;
}
/* Clases para espaciados */
.section-spacing {
  margin-bottom: var(--spacing-section);
}
/* Clases para imágenes con banda */
.image-with-band {
  width: var(--image-width);
  height: var(--image-height);
  position: relative;
}
.image-with-band::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: var(--image-band-width);
  height: 100%;
  background-color: var(--image-band-color);
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Sección de Noticias - Homepage                             */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Contenedor principal de noticias */
.news-section {
  background-color: var(--color-bg-primary);
  width: 100%;
  flex: 1;
  align-self: stretch;
}
.news-container {
  width: 100%;
  margin: 0;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg-white);
}
/* Título de la sección */
.news-section-title {
  font-size: var(--font-size-title-large);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  padding: 15px 2.5rem;
  line-height: 32px;
  font-family: var(--font-primary);
  text-align: center;
  background: var(--color-bg-primary);
}
.news-section-title span {
  color: var(--color-text-primary);
}
.home h2.news-section-title {
  margin: 0 auto;
  padding: 15px 2.5rem;
  background: var(--color-bg-primary);
  width: 100%;
  text-align: center;
  color: var(--color-text-black);
}
/* Contenedor de artículos */
.news-articles {
  display: flex;
  flex-direction: column;
  /*gap: var(--spacing-section);*/
  width: 100%;
  flex: 1;
}
/* Artículo individual - El fondo ocupa todo el ancho */
.news-article {
  background-color: var(--color-bg-alternate);
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0;
  min-height: var(--image-height);
  overflow: visible;
  gap: 0;
}
/* En pantallas grandes, limitar el ancho total del contenido centrado */
@media (min-width: 981px) {
  .news-article {
    padding: 2em;
  }
}
@media (min-width: 1300px) {
  .news-article {
    padding-left: calc((100% - 1240px) / 2);
    padding-right: calc((100% - 1240px) / 2);
  }
}
/* Alternar fondo para cada artículo */
.news-article:nth-child(even) {
  background-color: var(--color-bg-white);
}
/* Imagen del artículo */
.news-article-image {
  width: var(--image-width);
  height: var(--image-height);
  background-size: cover;
  background-position: center;
  position: relative;
  flex-shrink: 0;
}
/* Banda verde en la imagen */
.news-article-image::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: var(--image-band-width);
  height: 100%;
  background-color: var(--image-band-color);
}
/* Contenido del artículo */
.news-article-content {
  padding: 0 0 0 40px;
  /*flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;*/
}
/* Fecha del artículo */
.news-article-date {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-date);
  line-height: 20px;
  color: var(--color-text-secondary);
  margin-bottom: 0px;
}
/* Título del artículo */
.news-article-title {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-title-medium);
  line-height: var(--line-height-title-medium);
  color: var(--color-text-primary);
  margin-bottom: 5px;
  text-transform: uppercase;
}
.news-article-title a {
  color: inherit;
  text-decoration: none;
}
.news-article-title a:hover {
  text-decoration: none;
  color: #1c4c3c;
}
/* Extracto del artículo */
.news-article-excerpt {
  font-family: "Open Sans", sans-serif;
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-default);
  line-height: var(--line-height-default);
  color: var(--color-text-default);
  margin-bottom: 15px;
  /*  flex: 1;*/
}
/* Botón "LEER MÁS" */
.news-article-read-more {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-button);
  color: var(--color-text-white);
  background-color: var(--color-bg-button);
  border-radius: var(--border-radius-button);
  padding: 2px 15px;
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.3s ease;
  /*align-self: flex-start;*/
}
.news-article-read-more:hover {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  text-decoration: none;
}
.news-container {
  padding: 0;
}
.site-footer {
  background-color: var(--color-bg-white);
}
/* Las imágenes siempre se mantienen en la misma posición (izquierda)
   Solo alterna el color de fondo entre beige y blanco */
/* Responsive Design */
@media (max-width: 1200px) {
  .footer-logos-container {
    padding: 0 15px;
  }
  .news-article-image {
    width: 100%;
    max-width: var(--image-width);
  }
}
@media (max-width: 980px) {
  .news-section-title {
    font-size: var(--font-size-title-large);
  }
  .news-article {
    flex-direction: column;
  }
  .news-article-image {
    width: calc(100% - 5rem);
    order: initial;
    max-width: 100%;
    margin: 2.5rem 2.5rem 0 2.5rem;
    padding: 0;
  }
  .news-article-content {
    padding: 20px 2.5rem 2.5rem 2.5rem;
  }
  .news-article-date {
    font-size: 18px;
  }
}
@media (max-width: 480px) {
  .news-section-title {
    font-size: var(--font-size-title-large);
  }
  .news-article-title {
    font-size: 22px;
    line-height: 26px;
  }
  .news-article-content {
    padding: 2.5rem;
  }
  .news-article-read-more {
    padding: 10px 20px;
    font-size: 16px;
  }
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Footer con Logos                                          */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Contenedor del footer */
.footer-logos {
  background-color: #F4F9F2;
  padding: 40px 0 25px 0;
  width: 100%;
  flex: 1;
  align-self: stretch;
  border-top: 40px solid var(--color-bg-white);
}
.footer-logos-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  max-width: 800px;
}
/* Título del footer (opcional) */
.footer-logos-title {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-title-large);
  color: var(--color-text-primary);
  text-align: center;
  margin-bottom: 40px;
}
/* Contenedor de logos */
.footer-logos-grid {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px;
  flex-wrap: wrap;
  width: 100%;
  flex: 1;
}
/* Logo individual */
.footer-logo-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  min-width: 200px;
  max-width: 300px;
}
/* Imagen del logo */
.footer-logo-image {
  max-height: 118px;
  height: auto;
  width: auto;
  object-fit: contain;
  margin-bottom: 15px;
  transition: .3s ease;
}
.footer-logo-image:hover {
  /* transform: scale(1.05);*/
  opacity: .7;
}
/* Texto descriptivo del logo */
.footer-logo-text {
  font-family: "Open Sans", sans-serif;
  font-weight: var(--font-weight-normal);
  font-size: 14px;
  color: var(--color-text-default);
  line-height: 1.4;
  max-width: 250px;
}
/* Responsive Design para footer */
/*@media (max-width: 1200px) {
  .footer-logos-grid {
    gap: 40px;
  }
}
@media (max-width: 980px) {
  .footer-logos {
    padding: 40px 0;
  }
  .footer-logos-title {
    font-size: 28px;
    margin-bottom: 30px;
  }
  .footer-logos-grid {
    flex-direction: column;
    gap: 30px;
  }
  .footer-logo-item {
    min-width: unset;
    max-width: unset;
    width: 100%;
  }
  .footer-logo-image {
    max-height: 100px;
  }
}
@media (max-width: 480px) {
  .footer-logos {
    padding: 30px 0;
  }
  .footer-logos-title {
    font-size: 24px;
    margin-bottom: 25px;
  }
  .footer-logos-grid {
    gap: 25px;
  }
  .footer-logo-image {
    max-height: 80px;
  }
  .footer-logo-text {
    font-size: 12px;
  }
}*/
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Footer Subfooter - Menú Legal y Redes Sociales               */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Contenedor del subfooter */
.footer-subfooter {
  background-color: #05755B;
  background-size: 50%; /* 80% del tamaño del contenedor */
  background-position: left center;
  background-repeat: no-repeat;
  height: 200px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  align-self: stretch;
  position: relative;
}
.footer-subfooter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(3, 97, 75, 0.4);
  z-index: 1;
}
.footer-subfooter-container {
  background: url("../../imgs/ciriec-polis-simbolo.png") left center no-repeat;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
  z-index: 2;
}
/* Logo del subfooter */
.footer-subfooter-logo {
  position: absolute;
  left: 40px;
  top: 50%;
  transform: translateY(-50%);
  width: 150px;
  height: 150px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 3;
}
/* Contenedor de contenido (redes + menú) */
.footer-subfooter-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
/* Redes sociales del footer */
.footer-social-links {
  display: flex;
  gap: 20px;
  align-items: center;
}
.footer-social-link {
  color: white;
  text-decoration: none;
  font-size: 18px;
  transition: .3s ease;
}
.footer-social-link:hover {
  color: #FFF !important;
  opacity: .6;
}
/* Menú legal del footer */
.footer-legal-menu {
  display: flex;
  color: #FFF !important;
}
.footer-legal-nav {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 30px;
}
.footer-legal-nav li {
  margin: 0;
  padding: 0;
}
.footer-legal-nav a, .footer-legal-link {
  font-family: "Open Sans", sans-serif;
  font-weight: var(--font-weight-normal);
  font-size: 16px;
  color: white;
  text-decoration: none;
  transition: .3s ease;
}
.footer-legal-nav a:hover, .footer-legal-link:hover {
  color: #FFF !important;
  opacity: .6;
}
/* Responsive Design para subfooter */
@media (max-width: 980px) {
  .footer-subfooter {
    height: auto;
  }
  .footer-subfooter-container {
    background: url("../../imgs/ciriec-polis-simbolo.png") center center no-repeat;
    flex-direction: column;
    text-align: center;
    padding: 0 20px;
  }
  .footer-subfooter-content {
    align-items: center;
    padding: 40px 0;
  }
  .footer-legal-nav {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
  .footer-subfooter-logo {
    width: 100px;
    height: 100px;
    left: 20px;
  }
}
@media (max-width: 480px) {
  .footer-social-links {
    gap: 15px;
  }
  .footer-legal-nav {
    gap: 10px;
  }
  .footer-legal-nav a, .footer-legal-link {
    font-size: 14px;
  }
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Header Top Bar - Redes Sociales y Enlaces                    */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Contenedor de la barra superior */
.header-top-bar {
  background-color: #2e765d !important;
  background-size: 40%; /* 80% del tamaño del contenedor */
  background-position: left center;
  background-repeat: no-repeat;
  height: 45px !important;
  width: 100%;
  flex: 1;
  align-self: stretch;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 20px;
}
/* Contenido de la barra superior */
.header-top-content {
  height: 45px !important;
  background: url("../../imgs/ciriec-polis-simbolo.png") left center no-repeat;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
/* Redes sociales */
.header-social {
  display: flex;
  gap: 15px;
  align-items: center;
}
.header-social-link {
  color: white;
  text-decoration: none;
  font-size: 18px;
  transition: .3s ease;
}
.header-social-link:hover {
  color: #FFF !important;
  opacity: .6;
}
/* Enlaces y menú del lado derecho */
.header-top-links {
  display: flex;
  gap: 20px;
  align-items: center;
}
/* Menú secundario del header top bar */
.header-top-secondary-menu {
  display: flex;
}
.header-secondary-nav {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 20px;
}
.header-secondary-nav li {
  margin: 0;
  padding: 0;
}
.header-secondary-nav a, .header-secondary-link {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: 20px;
  color: white;
  text-decoration: none;
  transition: .3s ease;
}
.header-secondary-nav a:hover, .header-secondary-link:hover {
  color: #FFF !important;
  opacity: .6;
}
/* GTranslate Plugin */
.gtranslate-wrapper {
  display: inline-block;
  margin-left: 10px;
}
/* Estilos para el widget de GTranslate */
.gtranslate-wrapper select, .gtranslate-wrapper .gt_switcher {
  /* QUITA ESTILO GLOSSY DE SAFARI */
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  /* fin */
  background: url('../../imgs/icono-select.png') right center no-repeat;
  background-color: rgba(255, 255, 255, 0.25);
  border: none;
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 18px;
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: all 0.3s ease;
  height: 26px;
  width: 90px;
}
.gtranslate-wrapper select:hover, .gtranslate-wrapper .gt_switcher:hover {
  background-color: rgba(255, 255, 255, 0.4);
  border-color: white;
}
/* Ocultar banner de traducción si aparece */
body {
  top: 0 !important;
}
.site-branding {
  background-color: var(--color-bg-white);
}
/* Responsive Design para top bar */
@media (max-width: 980px) {
  .header-top-bar {
    height: 40px;
    padding: 0 15px;
  }
  .header-social {
    gap: 10px;
  }
  .header-top-links {
    gap: 15px;
  }
  .header-top-link {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .header-top-bar {
    height: 35px;
    padding: 0 10px;
  }
  .header-social {
    gap: 8px;
  }
  .header-top-links {
    gap: 10px;
  }
  .header-top-link {
    font-size: 12px;
  }
  .header-secondary-nav a, .header-secondary-link {
    font-size: 18px;
  }
  .header-secondary-nav {
    gap: 10px;
  }
  .gtranslate-wrapper select, .gtranslate-wrapper .gt_switcher {
    width: 60px;
  }
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Header Logo                                                  */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Contenedor del logotipo */
.header-logo {
  background-color: var(--color-bg-white);
  padding: 20px 0;
  width: 100%;
  flex: 1;
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header-logo-container {
  width: 100%;
  margin: 0;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* Imagen del logotipo */
.header-logo-image {
  width: 387px;
  height: 112px;
  object-fit: contain;
  transition: transform 0.3s ease;
}
.header-logo-image:hover {
  transform: none /*scale(1.05);*/
}
/* Botón hamburguesa - Oculto en desktop */
.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 50px;
  height: 50px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 1001;
  transition: all 0.3s ease;
}
button.mobile-menu-toggle {
  background: none;
}
.header-logo-container button.active {
  position: absolute;
  right: 0;
  top: 10px;
}
.hamburger-line {
  width: 100%;
  height: 5px;
  background-color: #2e765d;
  border-radius: 2px;
  transition: all 0.3s ease;
}
/* Animación de hamburguesa a X */
.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
  opacity: 0;
  transform: translateX(-20px);
}
.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
  transform: translateY(-15px) rotate(-45deg);
  margin-top: 9px;
}
/* Responsive Design para header logo */
@media (max-width: 980px) {
  .header-logo-container {
    justify-content: space-between;
    padding: 0 2.5rem;
  }
  .header-logo-link {
    flex: 0 0 auto;
  }
  .mobile-menu-toggle {
    display: flex;
  }
  .header-logo-image {
    width: 170px;
    height: 112px;
  }
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Header Menu Navigation                                      */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Contenedor del menú de navegación */
.header-menu {
  background-color: var(--color-bg-primary);
  padding: 14px 0;
  width: 100%;
  flex: 1;
  align-self: stretch;
  position: relative;
  z-index: 10;
  margin: 0 auto;
}
.header-menu-container {
  width: 100%;
  margin: 0;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* Menú de navegación */
.header-nav {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 20px;
  align-items: center;
}
/* Items del menú */
.header-nav-item {
  position: relative;
}
.header-nav-link {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: 22px;
  color: var(--color-text-black);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 0;
  transition: color 0.3s ease;
}
.header-nav-link:hover {
  color: var(--color-text-primary);
  text-decoration: none;
}
/* Icono de dropdown */
.dropdown-icon {
  width: 12px;
  height: 12px;
  fill: currentColor;
  transition: transform 0.3s ease;
}
.header-nav-item:hover .dropdown-icon {
  transform: rotate(180deg);
}
/* Dropdown menu (oculto por defecto) */
.header-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: var(--color-bg-white);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  width: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
  margin-left: 0 !important;
  padding: 10px 0;
}
@media (min-width: 981px) {
  /* Dropdown Radar políticas */
  #menu-item-180 .header-dropdown {
    width: 230px;
  }
}
.header-nav-item:hover .header-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.header-dropdown-item {
  display: block;
}
.header-dropdown-link {
  display: block;
  padding: 12px 20px;
  color: var(--color-text-default);
  text-decoration: none;
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: 22px;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.3s ease;
}
.header-dropdown-link:last-child {
  border-bottom: none;
}
.header-dropdown-link:hover {
  background-color: #f0f0f0 /*var(--color-bg-alternate)*/ ;
  color: var(--color-text-primary);
  text-decoration: none;
}
/* Responsive Design para header menu */
@media (max-width: 980px) {
  .header-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 400px;
    height: 100vh;
    background-color: var(--color-bg-white);
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.2);
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1000;
    overflow-y: auto;
    padding: 80px 0 20px;
  }
  .header-menu.mobile-menu-active {
    right: 0;
  }
  .header-menu-container {
    padding: 0;
    flex-direction: column;
    align-items: stretch;
  }
  .header-nav {
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
  .header-nav-item {
    width: 100%;
    border-bottom: 1px solid #e0e0e0;
  }
  .header-nav-link {
    padding: 18px 24px;
    justify-content: space-between;
    font-size: 20px;
    color: var(--color-text-default);
    background-color: transparent;
    transition: background-color 0.3s ease;
    text-transform: uppercase;
  }
  .header-nav-link:hover, .header-nav-link:focus {
    background-color: #f5f5f5;
    color: var(--color-bg-button);
  }
  /* Icono de dropdown en mobile */
  .dropdown-icon {
    transform: rotate(-90deg);
    transition: transform 0.3s ease;
  }
  .header-nav-item.submenu-open .dropdown-icon {
    transform: rotate(0deg);
  }
  /* Submenús en mobile */
  .header-dropdown {
    position: static;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    transform: none;
    box-shadow: none;
    background-color: #f9f9f9;
    transition: all 0.4s ease;
  }
  .header-nav-item.submenu-open .header-dropdown {
    opacity: 1;
    visibility: visible;
    max-height: 500px;
  }
  .header-dropdown-link {
    padding: 14px 24px 14px 48px;
    border-bottom: 1px solid #e8e8e8;
    text-align: left;
    font-size: 20px;
    color: #444;
    text-transform: uppercase;
  }
  .header-dropdown-link:hover {
    background-color: #efefef;
    color: var(--color-bg-button);
  }
  .header-dropdown-item:last-child .header-dropdown-link {
    border-bottom: none;
  }
  /* Overlay cuando el menú está abierto */
  body.mobile-menu-open::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 3;
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  body.mobile-menu-open {
    overflow: hidden;
  }
}
@media (max-width: 480px) {
  .header-menu {
    max-width: 100%;
  }
  .header-nav-link {
    font-size: 16px;
    padding: 16px 20px;
  }
  .header-dropdown-link {
    padding: 12px 20px 12px 40px;
    font-size: 15px;
  }
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Cabecera Hero - Homepage                                   */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Contenedor de la cabecera */
.hero-header {
  width: 100%;
  min-height: 160px;
  background-image: url('../../imgs/ciriec-polis-header.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex: 1;
  align-self: stretch;
}
/* Hero header en la home - 300px */
.home .hero-header {
  min-height: 300px;
}
/* Contenido de la cabecera */
.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--color-text-white);
  padding: 0 20px;
  width: 100%;
}
/* Overlay oscuro sobre la imagen */
.hero-content::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.hero-content {
  background-color: rgba(26, 43, 35, 0.7);
}
/* Título principal de la cabecera */
.hero-title {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: 39px /*var(--font-size-title-large)*/ ;
  color: var(--color-text-white);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
  line-height: 1.2;
  padding: 10px;
  opacity: 0.6;
}
/* Subtítulo de la cabecera (opcional) */
.hero-subtitle {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-normal);
  font-size: 18px;
  color: var(--color-text-white);
  margin-top: 15px;
  opacity: 0.9;
}
/* Responsive Design para cabecera */
@media (max-width: 980px) {
  .hero-header {
    min-height: 250px;
  }
  .hero-title {
    font-size: 30px;
    line-height: 30px;
  }
  .hero-subtitle {
    font-size: 16px;
  }
}
@media (max-width: 480px) {
  .hero-header {
    min-height: 200px;
  }
  .hero-title {
    font-size: 27px;
    line-height: 27px;
  }
  .hero-subtitle {
    font-size: 14px;
  }
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Container                                                */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Estilos para el contenedor ast-container */
.ast-container {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  font-size: var(--font-size-default);
}
/* Asegurar que los elementos dentro ocupen todo el ancho */
.ast-container > * {
  width: 100%;
  flex-shrink: 0;
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Archive Page                                                  */
/* .............................................................. */
/* -------------------------------------------------------------- */
.archive-description {
  margin: 20px 0 40px;
  font-size: 16px;
  line-height: 1.6;
  color: #666;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Pagination                                                    */
/* .............................................................. */
/* -------------------------------------------------------------- */
.news-pagination {
  margin-top: 20px;
  padding: var(--spacing-section);
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
.pagination-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.pagination-list li {
  margin: 0;
  padding: 0;
}
.pagination-list a, .pagination-list span {
  display: inline-block;
  padding: 6px 18px;
  min-width: 45px;
  text-align: center;
  text-decoration: none;
  color: var(--color-text-primary);
  background: #EBE6E1;
  border-radius: var(--border-radius-button);
  transition: all 0.3s ease;
  font-size: var(--font-size-default);
  font-weight: var(--font-weight-bold);
  font-family: var(--font-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pagination-list a:hover {
  background: var(--color-bg-button);
  border-color: var(--color-bg-button);
  color: var(--color-text-white);
  /* transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);*/
}
.pagination-list .current {
  background: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
  font-weight: var(--font-weight-bold);
  transform: scale(1.15);
}
.pagination-list .dots {
  border: none;
  background: transparent;
  padding: 12px 8px;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
}
/* Estilos para los botones de anterior/siguiente */
.pagination-list a[rel="prev"], .pagination-list a[rel="next"] {
  padding: 12px 24px;
  font-weight: var(--font-weight-bold);
  background: var(--color-bg-alternate);
  border-color: var(--color-text-primary);
}
.pagination-list a[rel="prev"]:hover, .pagination-list a[rel="next"]:hover {
  background: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
/* No results */
.no-results {
  text-align: center;
  padding: 60px 20px;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
.no-results p {
  font-size: 18px;
  color: #666;
  margin: 0;
}
/* Responsive */
@media (max-width: 980px) {
  .news-pagination {
    margin-top: 40px;
    padding-top: 30px;
  }
  .pagination-list {
    gap: 5px;
  }
  .pagination-list a, .pagination-list span {
    padding: 10px 14px;
    min-width: 40px;
    font-size: 14px;
  }
  .pagination-list a[rel="prev"], .pagination-list a[rel="next"] {
    padding: 10px 18px;
  }
}
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*                            RADAR POLÍTICAS / RECURSOS Y ESTUDIOS                               */
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
.radar-politicas-page {
  max-width: 1300px;
  margin: 0 auto;
  font-family: "Open Sans", sans-serif;
  background: var(--color-bg-white);
}
/* Header del Radar */
.radar-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: var(--spacing-section) 0;
  flex-wrap: wrap;
  gap: 20px;
  padding-top: 0;
}
.radar-title {
  font-size: var(--font-size-title-large);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin: 0;
  line-height: var(--line-height-title-medium);
  font-family: var(--font-primary);
  text-transform: uppercase;
}
.radar-main {
  color: var(--color-text-primary);
}
.radar-separator {
  color: var(--color-text-secondary);
  margin: 0 10px;
}
.radar-main a {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
.radar-main a:hover {
  color: var(--color-accent);
  text-decoration: none;
}
.radar-sub {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-normal);
}
/* Búsqueda */
.radar-search {
  position: relative;
  min-width: 300px;
}
/* Buscador alineado a la derecha */
.radar-search-right {
  position: relative;
  max-width: 400px;
  margin: 30px auto;
}
#search-politicas, #search-recursos {
  width: 100%;
  padding: 25px 50px 25px 16px !important;
  border: 1px solid #999;
  border-radius: var(--border-radius-button);
  font-size: var(--font-size-default);
  background: var(--color-bg-white);
  transition: border-color 0.3s ease;
  font-family: "Open Sans", sans-serif;
}
.search-input:focus {
  outline: none;
  border-color: var(--color-text-primary);
}
.search-input::placeholder {
  font-family: "Open Sans", sans-serif;
  color: #909090;
  font-style: italic;
}
.search-button {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: #2e765d;
  padding: 4px;
  transition: color 0.3s ease;
}
.search-button:hover {
  color: var(--color-text-primary);
}
/* Tabs */
.radar-tabs {
  display: flex;
  margin-bottom: 0;
  border-bottom: none;
  justify-content: center;
  margin-bottom: 30px;
  gap: 12px;
}
.tab-button {
  background: #EBE6E1;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 22px;
  color: #555;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
}
.tab-button:hover {
  color: #FFF;
  background: var(--color-text-secondary);
}
.tab-button.active {
  color: #FFF;
  background: var(--color-text-secondary);
}
/* Separador */
.radar-separator-line {
  height: 0;
  background: var(--color-text-secondary);
  margin: 0;
}
/* Lista de Políticas */
.politicas-list {
  margin-top: 0;
}
.politica-content {
  flex: 1;
  padding: 0 30px;
}
.politica-meta {
  margin-bottom: 0;
}
.politica-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 24px 0;
  margin-bottom: 10px;
  background-color: rgba(235, 230, 225, .5);
  border-radius: 6px;
  overflow: hidden;
  transition: 0.3s ease;
}
.politica-item:hover {
  background-color: rgba(235, 230, 225, 1);
}
.politica-zona {
  font-family: "Sofia Sans Condensed", sans-serif;
  font-weight: 700;
  font-size: 25px !important;
  line-height: 25px;
  color: #45A671 !important;
  display: inline-block;
  width: 100% !important;
  text-transform: uppercase;
}
.recursos-autor {
  font-family: "Sofia Sans Condensed", sans-serif;
  font-weight: 700;
  font-size: 21px !important;
  line-height: 21px;
  color: #45A671 !important;
  width: 100% !important;
}
.politica-gobierno {
  font-family: "Sofia Sans Condensed", sans-serif;
  font-weight: 700;
  font-size: 21px !important;
  line-height: 21px;
  color: #2e765d !important;
}
.recursos-editorial {
  font-family: "Sofia Sans Condensed", sans-serif;
  font-weight: 700;
  font-size: 21px !important;
  line-height: 21px;
  color: #2e765d !important;
  display: inline-block;
  width: 100% !important;
}
.politica-ano {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  font-size: 17px;
  line-height: 17px;
}
.recursos-ano {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  font-size: 17px;
  line-height: 17px;
}
.politica-title {
  font-family: "Sofia Sans Condensed", sans-serif;
  font-weight: 700;
  font-size: 27px;
  line-height: 27px;
  color: #555 !important;
  margin: 0 !important;
}
.politica-title a {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
.politica-title a:hover {
  color: var(--color-text-secondary);
}
.politica-download {
  flex-shrink: 0;
}
.download-button {
  display: inline-block;
  padding: 10px 20px 10px 45px;
  background: url('../../imgs/icono-pdf.png') 15px center no-repeat;
  background-color: var(--color-bg-button);
  color: var(--color-text-white);
  text-decoration: none;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  transition: all 0.3s ease;
  font-family: var(--font-primary);
}
.download-button:hover {
  background: url('../../imgs/icono-pdf.png') 15px center no-repeat;
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
button, .ast-button, .button, input[type="button"], input[type="reset"], input[type="submit"], a:where(.wp-block-button__link) {
  border-radius: 0;
  box-shadow: none;
}
/* No results */
.no-politicas {
  text-align: center;
  padding: 60px 20px;
}
.no-politicas p {
  font-size: var(--font-size-title-medium);
  color: var(--color-text-secondary);
  margin: 0;
  font-family: "Open Sans", sans-serif;
}
/* Responsive para Radar */
@media (max-width: 980px) {
  .radar-header {
    flex-direction: column;
    align-items: stretch;
  }
  .radar-title {
    font-size: var(--font-size-title-medium);
    margin-bottom: 20px;
  }
  .radar-search {
    min-width: auto;
  }
  .radar-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .tab-button {
    white-space: nowrap;
  }
  .politica-item {
    flex-direction: column;
    gap: 15px;
    padding: 20px 0;
  }
  .politica-download {
    align-self: flex-start;
  }
  .download-button {
    margin-left: 30px;
    padding: 5px 15px 5px 45px;
    border-radius: 4px;
  }
}
@media (max-width: 520px) {
  .tab-button {
    font-size: 20px;
    padding: 8px 12px;
  }
}
@media (max-width: 470px) {
  .tab-button {
    font-size: 18px;
    padding: 8px 10px;
  }
  .radar-tabs {
    gap: 8px;
  }
}
@media (max-width: 420px) {
  .tab-button {
    font-size: 20px;
    padding: 8px 16px;
  }
  .radar-tabs {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Breadcrumbs                                                    */
/* .............................................................. */
/* -------------------------------------------------------------- */
.page h1.entry-title {
  display: none;
}
/* Ocultar entry-title en single posts */
.single .entry-title {
  display: none !important;
}
.ast-plain-container.ast-no-sidebar #primary, .single .post-navigation, .radar-politicas-page {
  padding: 0 2.5rem;
}
.breadcrumbs {
  margin: 20px 0;
  padding: 0 20px;
  position: relative;
  z-index: 10;
}
/* Ajuste específico para páginas con radar-header */
.radar-politicas-page .breadcrumbs {
  margin: 0 0 20px 0;
  padding: 20px 20px 0 20px;
  background: var(--color-bg-white);
}
.breadcrumb-nav {
  font-size: var(--font-size-default);
  font-family: var(--font-primary);
}
.breadcrumb-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.breadcrumb-item {
  margin: 0;
  padding: 0;
}
.breadcrumb-item a {
  color: var(--color-text-secondary);
  text-decoration: none;
  font-weight: var(--font-weight-normal);
  pointer-events: none;
  cursor: default;
}
.breadcrumb-item a:hover {
  color: var(--color-text-secondary);
  text-decoration: none;
}
.breadcrumb-current span {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-bold);
}
.breadcrumb-separator {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
  margin: 0 4px;
}
/* Responsive breadcrumbs */
@media (max-width: 980px) {
  .breadcrumbs {
    margin: 15px 0;
    padding: 0 15px;
  }
  .breadcrumb-list {
    gap: 6px;
  }
  .breadcrumb-item a, .breadcrumb-current span {
    font-size: 14px;
  }
  .breadcrumb-separator {
    margin: 0 2px;
  }
}
/* ===== RADAR DE POLÍTICAS ===== */
.radar-politicas-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}
.radar-header {
  text-align: center;
  margin-bottom: 40px;
}
.radar-title {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 36px;
  color: var(--color-text-primary);
  margin-bottom: 10px;
}
.radar-description {
  font-family: var(--font-primary);
  font-size: 18px;
  color: var(--color-text-secondary);
  margin: 0;
}
.radar-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 40px;
  padding: 20px;
  background-color: var(--color-bg-alternate);
  border-radius: 8px;
  align-items: end;
}
.filter-group {
  display: flex;
  flex-direction: column;
  min-width: 150px;
}
.filter-group label {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 14px;
  color: var(--color-text-primary);
  margin-bottom: 5px;
}
.filter-select {
  padding: 8px 12px;
  border: 2px solid var(--color-text-primary);
  border-radius: 4px;
  font-family: var(--font-primary);
  font-size: 14px;
  background-color: #fff;
  color: var(--color-text-primary);
}
.filter-select:focus {
  outline: none;
  border-color: var(--color-accent);
}
.clear-filters-btn {
  padding: 8px 16px;
  background-color: var(--color-text-primary);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  align-self: end;
}
.clear-filters-btn:hover {
  background-color: var(--color-accent);
}
.radar-pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.radar-pagination a, .radar-pagination span {
  display: inline-block;
  padding: 8px 12px;
  margin: 0 4px;
  background-color: #fff;
  color: var(--color-text-primary);
  text-decoration: none;
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 14px;
  border: 2px solid var(--color-text-primary);
  border-radius: 4px;
  transition: all 0.3s ease;
}
.radar-pagination a:hover, .radar-pagination .current {
  background-color: var(--color-text-primary);
  color: #fff;
}
.no-politicas {
  text-align: center;
  padding: 60px 20px;
  background-color: var(--color-bg-alternate);
  border-radius: 8px;
}
.no-politicas p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  color: var(--color-text-secondary);
  margin: 0;
}
/* Responsive */
@media (max-width: 980px) {
  .radar-filters {
    flex-direction: column;
    align-items: stretch;
  }
  .filter-group {
    min-width: auto;
  }
  .politicas-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .radar-title {
    font-size: 28px;
  }
  .radar-description {
    font-size: 16px;
  }
}
/* ===== END RADAR DE POLÍTICAS ===== */
/* ===== END TÍTULOS DE PÁGINA UNIFICADOS ===== */
/* -------------------------------------------------------------- */
/* .............................................................. */
/* Títulos de Página Unificados                                   */
/* .............................................................. */
/* -------------------------------------------------------------- */
/* Contenedor principal para todas las páginas */
.ast-container {
  max-width: 100%;
  margin: 0 auto;
  /* padding: var(--spacing-section) 20px; */
  font-family: "Open Sans", sans-serif;
  background: var(--color-bg-white);
  padding: 0;
}
/* Eliminar padding-top cuando hay imagen destacada */
.has-post-thumbnail .ast-container, .ast-single-post-featured-section + .ast-container, .page-header-image + .ast-container, .ast-container:has(.page-header-image) {
  padding-top: 0;
}
/* Ocultar autor en entry-meta, mantener solo fecha */
.entry-meta .posted-by, .entry-meta .vcard, .entry-meta .author, .entry-meta .posted-by a {
  display: none !important;
}
/* Ocultar separador "/" que aparece después del autor */
.entry-meta .posted-by + * {
  display: none !important;
}
/* Ocultar el texto "By" que aparece antes del autor */
.entry-meta {
  font-size: 0 !important; /* Ocultar todo el texto por defecto */
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-small);
}
.entry-meta .posted-on {
  font-size: 20px !important; /* Tamaño de fuente para la fecha */
  color: var(--color-bg-button) !important; /* Color verde para la fecha */
  display: block !important;
}
.entry-meta .posted-on .published {
  font-size: 23px !important;
  color: var(--color-bg-button) !important;
}
#page .site-content {
  background: var(--color-bg-white);
}
.site-main {
  max-width: 1300px;
  margin: 0 auto;
}
.entry-content[data-ast-blocks-layout] > * {
  margin-left: inherit;
  margin-right: inherit;
}
/* Imagen de cabecera para todas las páginas */
.page-header-image {
  width: 100%;
  height: 300px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* Títulos unificados para todas las páginas */
.page-title {
  font-size: var(--font-size-title-large);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  padding: var(--spacing-section-small) 0;
  line-height: 32px;
  font-family: var(--font-primary);
  background-color: var(--color-bg-primary);
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 0;
}
h1.page-title {
  padding: 15px 2.5rem;
}
@media (max-width: 980px) {
  .page-title {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
/* ---------------------------------------------------------*/
/* ---------------------------------------------------------*/
/* ---------------------------------------------------------*/
/* ---------------------------------------------------------*/
/* ---------------------------------------------------------*/
@media (max-width: 480px) {
  .page-title {
    font-size: 28px;
    line-height: 30px;
  }
}
@media (max-width: 380px) {
  .page-title {
    font-size: 24px;
    line-height: 25px;
  }
}
/* ---------------------------------------------------------*/
/* ---------------------------------------------------------*/
/* ---------------------------------------------------------*/
/* ---------------------------------------------------------*/
/* ---------------------------------------------------------*/
.title-main {
  color: var(--color-text-primary);
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
}
.single .title-main {
  display: block;
}
.title-main a {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
.title-main a:hover {
  color: var(--color-accent);
  text-decoration: underline;
}
.title-separator {
  color: var(--color-text-secondary);
  margin: 0 10px;
}
.title-sub {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-normal);
}
/* Responsive para títulos de página */
@media (max-width: 980px) {
  .has-post-thumbnail .ast-container, .ast-single-post-featured-section + .ast-container, .page-header-image + .ast-container, .ast-container:has(.page-header-image) {
    padding-top: 0;
  }
  .page-header-image {
    height: 200px;
    margin-bottom: 30px;
  }
  .title-separator {
    margin: 0 8px;
  }
}
/* ===== END TÍTULOS DE PÁGINA UNIFICADOS ===== */
/* Ocultar imagen destacada automática de Astra */
.ast-single-post-featured-section, .ast-single-post-featured-section.post-thumb, .ast-article-image-container--wide, .ast-article-image-container--narrow {
  display: none !important;
}
/* Ocultar también en posts individuales */
.single .ast-single-post-featured-section, .single .post-thumb, .single .ast-article-image-container--wide {
  display: none !important;
}
@media (min-width: 993px) {
  .single.ast-separate-container #primary, .single.ast-separate-container.ast-left-sidebar #primary, .single.ast-separate-container.ast-right-sidebar #primary {
    margin: 0 !important;
  }
}
@media (min-width: 1301px) {
  .ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single, .ast-separate-container .ast-author-box, .ast-separate-container .ast-404-layout-1, .ast-separate-container .no-results {
    padding: 0;
  }
}
@media (min-width: 981px) {
  .ast-narrow-container .site-content > .ast-container {
    max-width: 100%;
  }
}
/* Imagen destacada dentro de noticias individuales */
.single-post .single-featured-image--right {
  float: right;
  margin: 0 0 20px 40px;
  max-width: 520px;
  width: 100%;
}
.single-post .single-featured-image__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.single-post .single-featured-image__caption {
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-text-default);
  margin-top: 8px;
  font-style: italic;
}
@media (min-width: 768px) and (max-width: 980px) {
  .single-post .single-featured-image--right {
    max-width: 420px;
  }
}
@media (max-width: 768px) {
  .single-post .single-featured-image--right {
    float: none;
    margin: 0 0 30px 0;
    max-width: 100%;
  }
}
/* Navegación en noticias individuales */
.single-post .post-navigation .nav-links {
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
@media (max-width: 980px) {
  .single-post .post-navigation .nav-links {
    padding: 0 20px;
  }
}
.single-post .post-navigation .nav-links .nav-next, .single-post .post-navigation .nav-links .nav-previous {
  float: none;
  flex: 1 1 auto;
}
/* Previous ahora es "Siguiente" y aparece a la derecha */
.single-post .post-navigation .nav-links .nav-previous {
  text-align: right;
  order: 2;
}
/* Next ahora es "Anterior" y aparece a la izquierda */
.single-post .post-navigation .nav-links .nav-next {
  text-align: left;
  order: 1;
}
.single-post .post-navigation .nav-links a {
  display: inline;
  align-items: center;
  gap: 8px;
}
@media (max-width: 544px) {
  .ast-separate-container #content .ast-container {
    padding-left: 0;
    padding-right: 0;
  }
}
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*                                                                                                                         ESTILOS VISUALCO                                                                                                           */
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.ast-plain-container.ast-no-sidebar #primary {
  margin-top: 10px;
  margin-bottom: 10px;
}
.entry-content p, .entry-content ol, .entry-content ul {
  text-align: justify;
  font-size: 16px;
  line-height: 26px;
  margin-bottom: 18px;
}
.entry-content img.alignright {
  margin: 0 0 15px 40px;
}
@media (max-width: 580px) {
  .entry-content img.alignright {
    width: 100%;
    height: auto;
    margin: 0 0 30px 0;
  }
}
h3 {
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  font-size: 27px !important;
  color: #2e765d !important;
  text-transform: uppercase;
  margin: 0 0 5px 0 !important;
}
h4 {
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  font-size: 23px !important;
  color: #2e765d !important;
  margin: 0 !important;
}
.footer-subfooter p.copyright {
  margin-bottom: 0 !important;
  font-size: 16px !important;
  line-height: 20px !important;
}
.footer-subfooter p.copyright a {
  color: #FFF !important;
  transition: .3s;
}
.footer-subfooter p.copyright a:hover {
  opacity: .6;
}
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*                                                SINGLE NOTICIAS                                                             */
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
.single-format-standard .entry-header {
  margin: 30px 0 10px 0;
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
}
.single-format-standard h1.page-title {
  font-size: 30px !important;
  line-height: 30px !important;
}
.single-format-standard .category-noticias, .single-format-standard #primary {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.single-format-standard .entry-content p a {
  color: #45A671 !important;
  border-bottom: 1px dotted !important;
  text-decoration: none !important;
}
.single-format-standard .entry-content p a:hover {
  color: #2e765d !important;
}
.ast-article-single img {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
}
.nav-links {
  padding: 0 !important;
}
.nav-next, .nav-previous {
  color: #FFF !important;
  margin-top: 20px !important;
}
.nav-next a {
  padding: 0 !important;
  margin: 0 !important;
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  color: #2e765d !important;
  text-transform: uppercase;
}
.nav-previous a {
  padding: 0 !important;
  margin: 0 !important;
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  color: #2e765d !important;
  text-transform: uppercase;
}
.nav-previous a:hover, .nav-next a:hover {
  color: #444 !important;
}
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*                                                       ARREGLOS MÁRGENES                                            */
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
@media (max-width: 544px) {
  .ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single, .ast-separate-container .comments-title, .ast-separate-container .ast-archive-description {
    padding: 2em 2em;
  }
}
@media (min-width: 1301px) {
  .single-format-standard .category-noticias {
    padding-left: 2em !important;
    padding-right: 2em !important;
  }
}
.page .entry-content p a, .page .entry-content li a {
  color: #45A671 !important;
  border-bottom: 1px dotted !important;
  text-decoration: none !important;
}
.page .entry-content p a:hover, .page .entry-content li a:hover {
  color: #2e765d !important;
}
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*                                                       CONTACTO                                                                  */
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
#contacto {
  margin: 0 !important;
}
#contacto label {
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  color: #2e765d;
  font-size: 20px;
  line-height: 20px;
  text-transform: uppercase;
}
#contacto input[type=text], #contacto input[type=email], #contacto textarea {
  border: none;
  background: #f3f3f3;
  width: 100%;
  margin-top: 5px !important;
  padding: 12px;
  border-radius: 3px !important;
}
#contacto textarea {
  height: 200px !important;
}
#contacto-checkbox span {
  display: inline !important;
}
#contacto-checkbox {
  font-size: 15px;
}
#contacto-checkbox .wpcf7-list-item {
  margin-left: 0 !important;
}
#contacto-checkbox input[type=checkbox] {
  margin-top: 3px !important;
}
#contacto-checkbox a {
  transition: 0.3s;
  color: #2e765d !important;
  text-decoration: none;
  border-bottom: 1px dotted #2e765d;
}
#contacto-checkbox a:hover {
  color: #333 !important;
  border-bottom: 1px dotted #333;
}
#contacto input[type=submit] {
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  border: none;
  color: #FFF;
  padding: 10px 30px !important;
  background: #2e765d;
  font-size: 18px !important;
  border-radius: 5px;
  transition: 0.5s;
  cursor: pointer;
  text-transform: uppercase;
}
#contacto input[type=submit]:hover {
  background: #333 !important;
}
.wpcf7-response-output {
  border: #f00 2px solid !important;
  margin-left: 0 !important;
}
#contacto p {
  margin: 0 0 15px 0 !important;
}
#datos-contacto p {
  line-height: 22px !important;
}
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*                                                                404                                                                        */
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
#pagina-404 {
  text-align: center !important;
}
#pagina-404 h2 {
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  font-size: 35px !important;
  color: #2e765d !important;
}
#pagina-404 a.error404-boton {
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  border: none;
  color: #FFF;
  padding: 10px 30px !important;
  background: #2e765d;
  font-size: 18px !important;
  border-radius: 5px;
  transition: 0.5s;
  cursor: pointer;
  text-transform: uppercase;
}
#pagina-404 a.error404-boton:hover {
  background: #333 !important;
}
.cmplz-title {
  font-family: 'Sofia Sans Condensed', sans-serif;
  font-weight: 700;
  font-size: 20px !important;
  color: #2e765d !important;
}
.cmplz-links ul li:last-child {
  display: none !important;
}