body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.6;
  background:#F4F7F5;
}

header {
  background:
    radial-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    radial-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    #0f1f1c;

  background-size: 3px 3px, 5px 5px;

  color: white;
  padding: 20px;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  text-align: center;
}

header h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: 1px;
  margin: 0;
}

.logo {
  display: flex;
  align-items: center;
  justify-content: center; /* Centra el logo horizontalmente */
  gap: 12px;
  margin-bottom: 15px; /* Espacio entre el logo y el menú */
}

/* Contenedor logo + menú */
.breadcrumbs {
  font-size: 12px;
  margin-bottom: 2px;
  margin-top: 6px; /* Reducción del margen superior, a la mitad del valor actual */
  color: #6c7a75;
  display: flex;
  flex-wrap: wrap; /* Evita que se desborde en varias líneas */
  justify-content: flex-start; /* Alinea a la izquierda */
  align-items: center;
  gap: 0px; /* Reduce el espacio entre los elementos */
}

.breadcrumbs a {
  text-decoration: none;
  color: #8aa39a;
  padding: 0 4px;
}

.breadcrumbs span {
  color: #222;
}

.breadcrumbs a::after {
  content: " > ";
  color: #aaa;
  margin-left: 6px; /* Reduce el espacio entre los elementos */
}
.breadcrumbs a:hover {
  color: #4e6d59; /* Opcional: color para el hover */
}

/* Tamaño del logo */
.logo img {
  height: 42px;
}

/* Menú */
nav {
  display: flex;
  justify-content: center; /* Centra el menú */
  gap: 8px;
}

nav a {
  display: inline-block;
  padding: 8px 14px;
  margin: 6px;
  border-radius: 20px;
  background-color: rgba(255,255,255,0.08);
  color: #e0f2ee;
  text-decoration: none;
  font-size: 15px;
  transition: 0.3s ease;
}

nav a:hover {
  background-color: rgba(255,255,255,0.2);
}

nav a:visited {
  color: #e0f2ee;
}

/* Contenido */
section {
  padding: 30px 20px;
  max-width: 800px;
  margin: auto;
}

h1 {
  margin-bottom: 10px;
}

h2 {
  margin-top: 0;
}

footer {
  background: #f2f2f2;
  padding: 20px;
  text-align: center;
  font-size: 14px;
}

/* Móvil */
@media (max-width: 600px) {
  .header-container {
    flex-direction: column;
    gap: 10px;
  }
   h1 {
    font-size: 26px; /* Tamaño más pequeño para móviles */
  }
   h2 {
    font-size: 20px; /* Tamaño más pequeño para móviles */
  }
   }
   h3 {
    font-size: 16px; /* Tamaño más pequeño para móviles */
  }
}

  nav {
    justify-content: center;
    width: 100%;
    text-align: center;
  }

  nav a {
    font-size: 14px;
    padding: 6px 12px;
    margin: 4px;
  }

/* Ajuste del interlineado global en el bloque del artículo */
section, .breadcrumbs, h1, h2, p {
  line-height: 1.3; /* Reduce el interlineado a 1.3 (ajusta según lo desees) */
}

/* También puedes especificar line-height para párrafos específicamente */
section p {
  line-height: 1.4; /* Ajuste individual para los párrafos */
}

/* Imagen principal del artículo */
.featured-image {
  width: 100%;
  max-width: 900px; /* más contenida que 1200px para coherencia visual */
  height: auto;
  display: block;
  margin: 32px auto; /* mismo ritmo que las internas */
  border-radius: 16px; /* igual que article-image */
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); /* misma estética */
}
.sacred-invitation{
max-width:520px;
margin:60px auto;
padding:35px;
background:#f6f5f2;
border-radius:12px;
text-align:center;
}

.invitation-intro{
font-size:14px;
color:#777;
margin-bottom:10px;
}

.invitation-title{
font-size:24px;
margin-bottom:15px;
}

.invitation-text{
font-size:15px;
margin-bottom:22px;
line-height:1.6;
}

.invitation-form{
display:flex;
flex-direction:column;
gap:12px;
}

.invitation-form input{
padding:14px;
border-radius:6px;
border:1px solid #ccc;
font-size:16px;
}

.invitation-form button{
padding:14px;
border:none;
border-radius:6px;
background:#6b8f71;
color:white;
font-size:16px;
cursor:pointer;
}

.invitation-form button:hover{
opacity:0.9;
}

.invitation-legal{
font-size:12px;
color:#777;
margin-top:10px;
}
#newsletter-success{
margin-top:20px;
padding:20px;
background:#f0f7f2;
border-radius:8px;
font-size:16px;
text-align:center;
}
figure {
  margin: 32px auto;
  text-align: center;
}

figcaption {
  font-size: 0.9rem;
  color: #666;
  margin-top: 10px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.4;
}
.article-image {
  width: 100%;
  max-width: 480px;
  height: auto;
  display: block;
  margin: 28px auto;
  border-radius: 18px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
