html, body {
  margin: 0;
  padding: 0;
  color: #333;
  height: 100%;
  display: flex;
  flex-direction: column;
  font-family: 'Nunito', sans-serif; 
}

h1, h2, h3 { font-family: 'Rubik', sans-serif; }

main {
  flex: 1;
}

header {
  width: 100%;
  max-height: 128px;
  min-height: 128px;
  height: 128px;
  display: flex;
  align-items: center;
  background: url('banner.jpg');
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
  text-align: center;
}

.logo {
  float: left;
  cursor: pointer;
}

.logo img {
  max-height: 100px;
  float: left;
  margin: 0 20px;
}

.title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 100%;
}

.title img {
  max-height: 100px;
}

.navbar {
  background-color: #4af;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 100000;
  font-weight: bold;
}

.page-container {
  max-width: 1100px;
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
}

.navbar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: left;
}

.navbar li {
  margin: 0;
}

:where(a, a:link, a:visited, a:hover, a:focus, a:active) {
  color: #4a90d9;
  font-weight: 700;
  text-decoration: none;
}

.navbar a {
  display: block;
  padding: 1em;
  color: #fff;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.3s;
}

.navbar a:hover {
  background-color: #26b;
  color: #fff;
}

.recent-post {
  display: flex;
}

footer {
  background-color: #feb;
  text-align: center;
}

footer .page-container {
  justify-content: center;
}

@media (max-width: 990px) {
  header {
    flex-direction: column;
    text-align: center;
  }

  .navbar ul {
    flex-direction: column;
  }

}

/* ---- Pagination (used in collection indexes and taxonomy lists) ---- */
.pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
  padding: 20px 0;
  border-top: 1px solid #eee;
}

.pagination-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #f5f5f5;
  color: #333;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 500;
  transition: background 0.2s;
}

.pagination-link:hover {
  background: #e8e8e8;
}

.pagination-info {
  color: #666;
  font-size: 14px;
}

/* ---- Entry / page layout (used by entry.tmpl and page.tmpl) ---- */
.entry-page {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.entry-page .entry,
.entry-page .page {
  flex: 1;
}

.article-author .meta-sep {
  margin: 0 5px;
}

/* ---- Tablas en contenido (entry y page) ---- */
.entry-page table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
}
.entry-page th,
.entry-page td {
  padding: 8px 12px;
  border-bottom: 1px solid #e0e0e0;
  text-align: left;
  vertical-align: top;
}
.entry-page th {
  font-weight: 700;
  border-bottom: 2px solid #4a90d9;
  background-color: #f7faff;
}
/* Las columnas con alineacion explicita en markdown (|:---:| etc.) usan
   inline style o atributo align. Las heredamos en th y td para que la
   cabecera y las celdas de cada columna queden alineadas igual. */
.entry-page th[align="center"],
.entry-page td[align="center"] {
  text-align: center;
}
.entry-page th[align="right"],
.entry-page td[align="right"] {
  text-align: right;
}

