/* Coherencia tipográfica y normalización visual de enlaces/accesos */

body,
button,
input,
select,
textarea {
  font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
}

h1,
h2,
h3,
h4,
.section-tag,
.publication-category,
.publicacion-category,
.article-category,
button,
.btn,
.join-button,
.admin-access,
.nav-access,
.sidebar-link,
.sidebar-site-link,
.sidebar-logout,
.secondary-admin-button {
  letter-spacing: -0.01em;
}

a {
  color: inherit;
  text-decoration: none;
  text-decoration-thickness: 0;
  -webkit-tap-highlight-color: transparent;
}

a:hover,
a:active,
a:visited {
  color: inherit;
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(245, 241, 232, 0.55);
  outline-offset: 3px;
}

button,
a,
[role='button'] {
  -webkit-tap-highlight-color: transparent;
}

.publication-slide-link,
.publicacion-card-link,
.document-item,
.nav-home,
.login-back,
.admin-link,
.post-admin-view {
  color: inherit;
  text-decoration: none !important;
}

.publication-slide-link:hover,
.publicacion-card-link:hover,
.document-item:hover,
.nav-home:hover,
.login-back:hover,
.admin-link:hover,
.post-admin-view:hover {
  text-decoration: none !important;
}

/* Botón Acceder: fondo anterior y letras en verde institucional */
.nav-access,
.nav-access:visited,
.nav-access:hover,
.nav-access:active,
.nav-admin,
.nav-admin:visited,
.nav-admin:hover,
.nav-admin:active {
  background: var(--beige) !important;
  color: var(--verde-bosque) !important;
  text-decoration: none !important;
  border-color: var(--beige) !important;
  text-shadow: none !important;
}

.nav-access:hover,
.nav-admin:hover {
  background: var(--beige-claro) !important;
  color: var(--verde-profundo) !important;
}

/* Publicaciones en inicio: misma paleta de "Cuál es nuestro propósito" */
.publications-section {
  background: linear-gradient(135deg, var(--verde-bosque), var(--verde-hoja)) !important;
  color: var(--blanco) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

.publications-section .section-tag,
.publications-section > p,
.publications-section .slider-indicator,
.publications-section .slider-empty {
  color: #edf5ed !important;
}

.publications-section h2 {
  color: var(--blanco) !important;
}

.publications-section .admin-access,
.publications-section .admin-access:visited,
.publications-section .admin-access:hover,
.publications-section .admin-access:active {
  background: var(--beige) !important;
  color: var(--verde-bosque) !important;
  border-color: var(--beige) !important;
  text-decoration: none !important;
}

.publications-section .admin-access:hover {
  background: var(--beige-claro) !important;
  color: var(--verde-profundo) !important;
}

.publications-section .publication-slide {
  background: rgba(250, 248, 242, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  box-shadow: 0 16px 34px rgba(19, 37, 27, 0.2);
}

.publications-section .publication-content h3 {
  color: var(--verde-bosque) !important;
}

.publications-section .publication-content p {
  color: var(--texto-suave) !important;
}

.publications-section .publication-category {
  color: var(--verde-hoja) !important;
}

.publications-section .slider-control {
  background: var(--beige) !important;
  color: var(--verde-bosque) !important;
}

.publications-section .slider-control:hover {
  background: var(--beige-claro) !important;
  color: var(--verde-profundo) !important;
}

/* Botones y accesos con fondo oscuro: texto blanco consistente */
.admin-access,
.admin-access:visited,
.admin-access:hover,
.admin-access:active,
.sidebar-site-link,
.sidebar-site-link:visited,
.sidebar-site-link:hover,
.sidebar-site-link:active,
.admin-pill-link,
.admin-pill-link:visited,
.admin-pill-link:hover,
.admin-pill-link:active,
.post-admin-view,
.post-admin-view:visited,
.post-admin-view:hover,
.post-admin-view:active {
  color: var(--blanco) !important;
  text-decoration: none !important;
}

/* Botón ÚNETE: letras en verde institucional */
.join-section .join-button,
.join-section .join-button:visited,
.join-section .join-button:hover,
.join-section .join-button:active {
  color: var(--verde-bosque) !important;
  text-decoration: none !important;
}

.contact-card,
.contact-card:visited,
.contact-card:hover,
.contact-card:active {
  color: var(--blanco) !important;
  text-decoration: none !important;
}

.contact-card span {
  color: var(--blanco) !important;
}

.publication-slide-link {
  color: var(--texto);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.publication-slide-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(31, 61, 43, 0.14);
}

.publicacion-card-link {
  color: var(--texto);
}

.post-admin-view {
  display: inline-flex;
  justify-content: center;
  border-radius: 999px;
  padding: 10px 16px;
  background: var(--verde-hoja);
  font-weight: 900;
}

.post-admin-view:hover,
.post-admin-view:focus-visible {
  background: var(--verde-bosque);
}

.article-content a,
.article-references a,
.publicacion-card-body a,
.publication-content a {
  color: var(--verde-bosque);
  font-weight: 800;
  border-bottom: 1px solid rgba(31, 61, 43, 0.28);
}

.article-content a:hover,
.article-references a:hover,
.publicacion-card-body a:hover,
.publication-content a:hover {
  color: var(--verde-profundo);
  border-bottom-color: var(--verde-profundo);
}

@media (max-width: 640px) {
  body {
    font-size: 16px;
  }

  h1,
  h2,
  h3 {
    text-wrap: balance;
  }

  p,
  li,
  textarea,
  input,
  select {
    line-height: 1.65;
  }
}