/* Lupa Custom Styles — Nav + Footer from ContratosMelilla.es */

/* Base sizing to match ContratosMelilla.es (Tailwind 16px base) */
html { font-size: 16px; }
body { font-size: 1rem; }

/* Content area sizing — override Casper's smaller defaults */
.gh-content, .gh-article, .post-card, .site-content {
  font-size: 1rem;
  line-height: 1.75;
}
.gh-content p, .gh-content ul, .gh-content ol {
  font-size: 1.0625rem;
  line-height: 1.75;
}
.gh-content h2 { font-size: 1.25rem; }
.gh-content h3 { font-size: 1.125rem; }
.gh-content h4 { font-size: 1rem; }
.gh-content blockquote { font-size: 1.0625rem; }

/* Post title — slightly smaller */
.article-title { font-size: 1.5rem; }
.article-excerpt { font-size: 1.125rem; }

/* Post card titles en portada — un poco más pequeños */
.post-card-title { font-size: 1.625rem !important; }
.post-card-large .post-card-title { font-size: 2rem !important; }

/* Author — much smaller */
.author-name { font-size: 0.75rem !important; }
.author-name a { font-size: 0.75rem !important; }
.byline-meta-content { font-size: 0.7rem; }
.byline-meta-date { font-size: 0.7rem; }
.byline-reading-time { font-size: 0.7rem; }

/* Caption mismo tamaño que autor */
figcaption, .kg-card figcaption { font-size: 0.75rem; }

/* Tags y destacado más pequeños */
.post-card-tags { font-size: 0.75rem !important; }
.article-tag { font-size: 0.75rem !important; }
.post-card-featured { font-size: 0.75rem !important; }

/* Botón compartir más pequeño */
.gh-button-share { font-size: 0.75rem !important; padding: 0.3em 0.8em !important; }

.cm-nav {
  position: sticky; top: 0; z-index: 100;
  background: #1a3a5c;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  transition: all 0.3s;
}
.cm-nav.scrolled {
  background: rgba(26, 58, 92, 0.80);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 16px rgba(0,0,0,0.35);
}
.cm-nav-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 1rem;
  height: 2.75rem; display: flex; align-items: center;
  justify-content: center; position: relative;
}
.cm-nav-items { display: flex; align-items: center; gap: 0.25rem; }
.cm-nav-item {
  padding: 0.375rem 0.75rem; border-radius: 0.5rem;
  font-size: 0.75rem; font-weight: 600; white-space: nowrap;
  color: rgba(255,255,255,0.7); text-decoration: none;
  transition: all 0.15s;
}
.cm-nav-item:hover { color: #fff; background: rgba(255,255,255,0.1); }
.cm-nav-item.active { color: #facc15; background: rgba(255,255,255,0.1); }

.cm-hamburger {
  display: none; background: none; border: none; cursor: pointer;
  width: 2.25rem; height: 2.25rem; border-radius: 0.5rem;
  color: rgba(255,255,255,0.8);
  position: absolute; right: 1rem; top: 50%; transform: translateY(-50%);
  align-items: center; justify-content: center;
}
.cm-hamburger:hover { background: rgba(255,255,255,0.1); }
.cm-mobile-brand { display: none; font-size: 0.875rem; font-weight: 700; color: #fff; text-decoration: none; }
.cm-mobile-dropdown { display: none; background: rgba(26,58,92,0.95); backdrop-filter: blur(12px); }
.cm-mobile-dropdown.open { display: block; }
.cm-mobile-dropdown-inner { max-width: 1280px; margin: 0 auto; padding: 0.75rem 1rem; }
.cm-mobile-item {
  display: block; padding: 0.625rem 1rem; border-radius: 0.5rem;
  font-size: 0.875rem; font-weight: 600; text-decoration: none;
  color: rgba(255,255,255,0.7);
}
.cm-mobile-item:hover { color: #fff; background: rgba(255,255,255,0.1); }

@media (max-width: 767px) {
  .cm-nav-items { display: none; }
  .cm-mobile-brand { display: block; }
  .cm-hamburger { display: flex; }
  .cm-nav-inner { justify-content: flex-start; }
}

.cm-footer {
  background: #1a3a5c; color: rgba(255,255,255,0.6);
  text-align: center; padding: 1.5rem 1rem;
  font-size: 0.75rem; border-top: 1px solid rgba(255,255,255,0.08);
}
.cm-footer-inner { max-width: 1280px; margin: 0 auto; display: flex; flex-direction: column; gap: 0.5rem; align-items: center; }
.cm-footer a { color: rgba(255,255,255,0.8); text-decoration: none; }
.cm-footer a:hover { color: #fff; text-decoration: underline; }
