html, body { overflow-x: hidden; }
.card-title, .card-title a { font-weight: 800 !important; color: #000 !important; }
.hamburger span.line-1, .hamburger span.line-2, .hamburger span.line-3 {
  display: block; width: 22px; height: 2px; background: #050594;
  transition: transform 0.15s ease, opacity 0.15s ease; transform-origin: center;
}
.hamburger.active .line-1 { transform: translateY(6px) rotate(45deg); }
.hamburger.active .line-2 { opacity: 0; }
.hamburger.active .line-3 { transform: translateY(-6px) rotate(-45deg); }
.nav-overlay {
  position: fixed; top: 55px; left: 0; width: 100%; height: calc(100vh - 55px);
  background: rgba(5, 5, 148, 0.12); backdrop-filter: blur(3px);
  opacity: 0; pointer-events: none; z-index: 999; transition: opacity 0.12s ease;
}
.nav-overlay.active { opacity: 1; pointer-events: auto; }
#chisono, #di-che-cosa-mi-interesso, #tema-natale,
#transiti-progressioni, #sinastrie, #domande-orarie, #contatti {
  scroll-margin-top: 90px;
}
.pagina-legal { color: #000; background: #fff; max-width: 720px; margin: 40px auto; padding: 2.5rem; }
.legal-heading {
  text-align: center; font-weight: 800; font-size: 1.85rem; color: #000; margin: 0 0 2rem;
}
.pagina-legal > h2:first-of-type { display: none; }
.minimal-footer .legal-links a { text-decoration: underline !important; color: #000 !important; }
.comments-section {
  max-width: 720px; margin: 2.5rem auto 0; border-top: 1px solid #ccc;
  padding-top: 2rem; text-align: center;
}
.comments-toggle-trigger {
  background: #fff; color: #000; border: 1px solid #000; padding: 8px 22px;
  font-family: Inter, sans-serif; font-size: 0.95rem; font-weight: 500; border-radius: 6px; cursor: pointer;
}
.custom-post-pagination {
  max-width: 720px; margin: 2.5rem auto; display: flex; flex-direction: column;
  align-items: center; gap: 1.25rem; padding: 0 20px; text-align: center;
}
.pag-center-nav { display: flex; justify-content: center; gap: 2rem; }
.pag-center-nav a { color: #000 !important; font-weight: 700; text-decoration: none; }
.home-back-link { color: #000 !important; font-weight: 600; text-decoration: none; }
.recents-card-excerpt,
body.is-home .recents-card-excerpt {
  color: #000 !important;
  font-size: 0.88rem;
  line-height: 1.4;
  margin: 2px 0 4px;
}
.navbar { padding-left: 1rem !important; padding-right: 1rem !important; }
body.is-home .container {
  max-width: 720px;
  margin: 40px auto 0;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .main-title {
    font-size: 1.7rem !important;
    letter-spacing: 0.5px !important;
    padding: 0 1rem !important;
    text-wrap: balance;
  }
  body.is-home .container {
    margin: 24px 1rem 0;
    padding: 1.5rem 1rem !important;
  }
  .quote-wrapper { padding: 0 1rem; }
}
