/* ==========================================================================
   1. BASE Y RESETEO
   ========================================================================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Georgia', serif; 
    line-height: 1.5;
    color: #444;
    background-color: #f4f1ea; 
    background-image: url('https://www.transparenttextures.com/patterns/clean-gray-paper.png');
}

/* ==========================================================================
   2. ENCABEZADO Y NAVEGACIÓN
   ========================================================================== */
/* ==========================================================================
   2. ENCABEZADO Y NAVEGACIÓN (Limpio y Unificado)
   ========================================================================== */
.main-header-parroco {
    background-color: #fff;
    border-bottom: 5px solid #8b0000;
}

/* Contenedor principal de los visuales */
.header-visuals-container {
    padding: 20px 5%;
    background-color: #fff;
    display: flex;
    flex-direction: column;
}

/* NIVEL 1: Título extendido arriba de lado a lado */
.header-top-title {
    width: 100%;
    margin-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 15px;
}

.header-top-title h1 {
    font-size: 2.4rem;
    color: #8b0000;
    margin: 0;
    text-align: center; /* El cura puede pedirte alinearlo a la izquierda luego */
    font-family: 'Georgia', serif;
}

/* NIVEL 2: Escudo e Imagen en columnas paralelas */
.header-bottom-content {
    display: flex;
    align-items: stretch; /* Esto iguala las alturas de logo e imagen */
    gap: 25px;
}

/* Bloque del Escudo (Izquierda) */
.logo-parroco {
    flex: 0 0 25%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f0eee4;
    border-radius: 8px;
    background: #fdfdfd;
    padding: 15px;
}

.logo-parroco img {
    max-height: 180px; /* Tamaño con presencia */
    width: auto;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1));
}

/* Bloque de la Imagen Fusionada (Derecha) */
.image-fusion-wrapper {
    flex: 1; /* Ocupa todo el espacio restante */
}

.image-fusion {
    height: 200px; /* Altura equilibrada con el escudo */
    background-image: url('../img/assets/santuario-sagrado-corazon-de-jesus.png'); 
    background-size: cover; 
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: 10px;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.15);
}

/* --- NAVEGACIÓN --- */
.main-nav-parroco {
    background-color: #eee;
    padding: 10px 5%;
    border-top: 1px solid #ddd;
}

.main-nav-parroco ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; 
}

.main-nav-parroco ul li a {
    text-decoration: none;
    color: #333;
    padding: 5px 10px;
    font-size: 0.9rem;
    display: block;
    white-space: nowrap; 
    transition: all 0.3s ease;
}

.main-nav-parroco ul li a:hover {
    color: #8b0000;
    background-color: #ddd;
}

/* ==========================================================================
   3. ESTRUCTURA (GRID PRINCIPAL)
   ========================================================================== */
/* .parroco-content-grid {
    display: grid;
    grid-template-columns: 20% 40% 20% 20%; 
    gap: 15px;
    width: 90%;
    max-width: 1400px;
    margin: 30px auto;
    
    align-items: stretch; 
} */

/* .parroco-content-grid {
    display: grid;
    grid-template-columns: 20% 37% 18% 25%; 
    gap: 15px;
    width: 95%;  Un poco más de ancho total 
    max-width: 1400px;
    margin: 30px auto;
    ALINEACIÓN: Stretch hace que todas las columnas midan lo mismo de alto 
    align-items: stretch;    
} */

.parroco-content-grid {
    display: grid;
    /* Ajustamos los % para que sumen 100% del espacio asignado */
    grid-template-columns: 22% 35% 18% 25%; 
    gap: 20px; 
    width: 92%; 
    max-width: 1400px; /* Bajamos un poco el max-width para que no se estire infinito en pantallas gigantes */
    margin: 30px auto; /* Centrado automático */
    align-items: stretch;
    justify-content: center; /* Fuerza el centrado de las columnas */
}

/* Contenedor central (Streaming + Noticias) */
.center-area-wrapper {
    grid-column: 2 / span 2; 
    display: grid;
    grid-template-columns: 3fr 2fr; 
    gap: 15px;
    align-items: stretch;
}

/* Columna de la derecha dentro del centro */
.center-news {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Cajas genéricas */
.left-sidebar, .right-sidebar, .center-streaming, .info-optional,
.tablon, .agenda, .noticias-container {
    background-color: white;
    padding: 15px;
    border-radius: 5px;
    border: 1px solid #e0dcd0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

/* ==========================================================================
   4. BLOQUES ESPECÍFICOS (Tablón, Agenda, Noticias)
   ========================================================================== */

/* Estilo unificado para los títulos de bloques */
.left-sidebar h3, .right-sidebar h3, 
.tablon h3, .agenda h3, .noticias-container h3 {
    color: #6b6454 !important; /* Gris/marrón del servidor */
    margin-bottom: 12px;
    font-size: 1.1rem;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
    text-align: center;
}

/* Títulos: Volvemos a alinearlos a la izquierda */
.left-sidebar h3, .right-sidebar h3, 
.tablon h3, .agenda h3, .noticias-container h3 {
    color: #6b6454; /* Puedes cambiarlo a #8b0000 si prefieres el rojo ahora */
    margin-bottom: 12px;
    font-size: 1.1rem;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
    text-align: left; /* <--- Cambiado de center a left */
}

/* Quitar los círculos (bullets) de las listas laterales */
.left-sidebar ul, .right-sidebar ul {
    list-style: none; /* <--- Esto quita los círculos */
    padding: 0;
}

.left-sidebar ul li a, .right-sidebar ul li a {
    display: block;
    padding: 8px 5px;
    text-decoration: none;
    color: #333;
    border-bottom: 1px dotted #ddd;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.left-sidebar h3, .right-sidebar h3 {
    color: #8b0000 !important; /* Rojo parroquial */
}

/* Tablón y Agenda */
.tablon, .agenda {
    margin-bottom: 20px;
}

.fake-list {
    list-style: none;
    padding: 0;
}

.fake-list li {
    font-size: 0.9rem;
    color: #444;
    border-bottom: 1px dotted #ccc;
    padding: 8px 0;
}

.event-item { display: flex; align-items: center; margin-bottom: 10px; }

.event-date {
    background: #e8e2d1 !important; 
    color: #6b6454 !important;    
    padding: 5px;
    font-size: 0.7rem;
    font-weight: bold;
    border-radius: 3px;
    margin-right: 10px;
    min-width: 50px;
    text-align: center;
    display: inline-block;
}

/* Últimas Noticias (Hace que este bloque rellene el hueco sobrante) */
.noticias-container {
    flex-grow: 1; 
}

.noticia-card {
    margin-bottom: 20px;
    border-bottom: 1px solid #f9f7f2;
    padding-bottom: 15px;
}

.noticia-fecha {
    color: #8a8170;
    font-size: 0.8rem;
    display: block;
    margin-bottom: 5px;
}

.noticia-titulo {
    color: #6b6454;
    margin: 5px 0;
    font-size: 1rem;
    font-weight: bold;
}

.noticia-resumen {
    font-size: 0.85rem;
    line-height: 1.4;
    color: #444;
}

.noticia-link {
    color: #8b0000;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.85rem;
}

/* NUEVO BLOQUE DE NOTICIAS ANCHO */
/* 1. El contenedor exterior (el que estira el bloque) */
.noticias-ancho-container {
    grid-column: 1 / span 2; 
    margin-top: 25px;
    width: 100%;
}

/* 2. El bloque que contiene el título y las tarjetas */
.noticias-container {
    background: white;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e0dcd0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

/* 3. LA CLAVE: Forzamos que las noticias se repartan en 2 columnas */
.noticias-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr; /* Crea las dos columnas */
    gap: 20px;
}

/* 4. El título debe ocupar las dos columnas */
.noticias-container h3 {
    grid-column: 1 / -1; 
    color: #8b0000;
    border-bottom: 2px solid #8b0000;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

/* 5. Ajuste de las tarjetas individuales */
.noticia-card {
    background: #fdfdfd;
    padding: 10px;
    border: 1px solid #f0eee4;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
}

.noticias-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 15px;
}

.noticia-card-horizontal {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

.noticia-card-horizontal img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 10px;
}

/* La rejilla real de las noticias */
.noticias-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Esto crea las 2 columnas si hay espacio */
    gap: 20px;
}

/* Ajuste para las tarjetas de noticias individuales */
.noticia-card {
    background: #fff;
    border: 1px solid #f0eee4;
    padding: 10px;
    display: flex;
    flex-direction: column;
}

/* ESTA ES LA CLAVE: El interior debe ser un grid de 2 columnas */
.noticias-ancho-container .noticia-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Fuerza dos columnas iguales */
    gap: 20px; /* Espacio entre ellas */
}

/* Ajuste para que la imagen y el texto queden bien en 2 columnas */
.noticia-card {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

.noticia-thumb {
    width: 100%;
    height: 160px;
    overflow: hidden;
    margin-bottom: 10px;
}

.noticia-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ==========================================================================
   5. VIDEO Y STREAMING
   ========================================================================== */
.card-header {
    background: #8b0000;
    color: white;
    padding: 12px;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
    margin-bottom: 10px;
    display: block;
}

.video-container {
    background-color: #000;
    position: relative;
    padding-bottom: 56.25%; 
    height: 0;
    overflow: hidden;
    margin-bottom: 20px;
    border-radius: 4px;
}

.video-container iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}

/* Estilos para páginas estáticas (Historia, etc) */
.center-area-wrapper.single-column {
    grid-template-columns: 1fr !important;
}

/* Ajuste de la página estática */
.pagina-estatica {
    background-color: white;
    padding: 20px 40px 40px 40px; /* Reducimos el de arriba (20px) y mantenemos el resto */
    border-radius: 8px;
    border: 1px solid #e8e2d1;
}

.pagina-estatica h2 {
    color: #8b0000;
    border-bottom: 2px solid #8b0000;
    padding-bottom: 10px;
    margin-bottom: 20px;
    margin-top: 0; /* Aseguramos que no tenga margen extra arriba */
    font-size: 1.8rem;
}

.pagina-estatica h3 {
    color: #6b6454;
    margin: 25px 0 10px 0;
}

/* Separador más fino y gris */

.separador {
    margin: 20px 0;
    border: 0;
    border-top: 1px solid #eee; /* Gris muy suave */
    height: 1px;
}


.contenido-texto p {
    margin-bottom: 15px;
    line-height: 1.8;
    text-align: justify;
}

.imagen-destacada {
    margin: 20px 0;
    text-align: center;
}

.imagen-destacada img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.texto-noticia {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
    text-align: justify;
}

.separador {
    margin: 30px 0;
    border: 0;
    border-top: 1px solid #eee;
}

/* Estilo para el listado del Tablón */
.news-list {
    list-style: none; /* Quitamos los puntos por defecto */
    padding: 0;
    margin: 10px 0;
}

.news-list li {
    border-bottom: 1px dashed #e8e2d1;
    padding: 8px 0;
}

.news-list li:last-child {
    border-bottom: none;
}

.news-list li a {
    text-decoration: none;
    color: #4a4435;
    font-size: 0.9rem;
    transition: color 0.3s;
    display: block;
}

.news-list li a:hover {
    color: #8b0000; /* Color vino al pasar el ratón */
}

/* ==========================================================================
   6. OTROS (Laterales, Footer, Responsive)
   ========================================================================== */
.left-sidebar ul li a, .right-sidebar ul li a {
    display: block;
    padding: 8px 5px;
    text-decoration: none;
    color: #333;
    border-bottom: 1px dotted #ddd;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.left-sidebar ul li a:hover, .right-sidebar ul li a:hover {
    padding-left: 12px;
    background-color: #fffaf0;
    color: #8b0000;
}

/*OPCIONAL A CAMBIAR DE SIDEBAR IZQUIERDO*/

/* DISEÑO FINAL SIDEBAR IZQUIERDO */
.left-sidebar {
    background: #fff;
    padding: 15px;
}

.left-sidebar h3 {
    background: #8b0000;
    color: white !important;
    padding: 10px;
    border-radius: 4px;
    text-align: center !important;
    margin-bottom: 15px;
    border-bottom: none;
}

.left-sidebar ul li {
    list-style: none;
}

.left-sidebar ul li a {
    display: block;
    padding: 10px 12px;
    color: #444;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.3s ease;
    font-size: 0.95rem;
}

.left-sidebar ul li a:hover {
    background: #fffaf0;
    color: #8b0000;
    padding-left: 20px; /* Efecto de desplazamiento */
    border-left: 4px solid #8b0000;
}

.left-sidebar ul li a i {
    margin-right: 8px;
    width: 20px;
    text-align: center;
}
/* Nuevo ajuste para el contenedor de Facebook */
/* AJUSTE FINAL PARA QUE FACEBOOK NO SE SALGA */
.fb-card {
    background: white;
    padding: 15px;
    border-radius: 5px;
    border: 1px solid #e0dcd0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    margin-top: 15px;
    overflow: hidden; /* Corta lo que sobre */
}

.fb-wrapper {
    width: 100%;
    height: 500px;
    position: relative;
    overflow: hidden;
}

.fb-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: none;
}

/* Estilo para los links que no tenías */
.sidebar-links {
    list-style: none !important;
    padding: 0 !important;
}

.sidebar-links li a {
    display: block;
    padding: 8px 5px;
    text-decoration: none;
    color: #333;
    border-bottom: 1px dotted #ddd;
    transition: 0.3s;
}

.sidebar-links li a:hover {
    padding-left: 10px;
    color: #8b0000;
    background: #fffaf0;
}

.sidebar-section {
    margin-bottom: 20px;
}

.sidebar-section h3 {
    background: #8b0000;
    color: white !important;
    padding: 8px 12px;
    font-size: 1rem;
    border-radius: 4px;
    margin-bottom: 10px;
}

.sidebar-section ul li a i {
    color: #8b0000; /* Iconos en rojo para que resalten */
    margin-right: 8px;
}

/* Aseguramos que el sidebar derecho no deje escapar nada */
.right-sidebar {
    overflow: hidden; 
    word-wrap: break-word;
}
/* Para el video de YouTube que ya teníamos */
.video-responsive {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

/* Contenedor principal del widget */
.fb-sidebar-widget {
    width: 100%;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 8px;
    padding: 10px 0; /* Un poco de aire arriba y abajo */
}

/* Título del widget para que pegue con tu diseño */
.sidebar-title {
    font-size: 1.1rem;
    color: #3b5998; /* Azul Facebook */
    padding: 0 10px 10px 10px;
    border-bottom: 1px solid #eee;
    margin-bottom: 15px;
}

/* El truco del almendruco para el móvil */
.fb-container {
    width: 100%;
    overflow: hidden; /* Esto evita que el scroll horizontal aparezca */
    display: flex;
    justify-content: center;
}

/* Asegura que el iframe no fuerce anchos fijos en pantallas pequeñas */
.fb-container iframe {
    max-width: 100% !important;
}

.main-footer { text-align: center; padding: 20px; background-color: #333; color: white; font-size: 0.9rem; margin-top: 20px; }


.social-icons {
    margin-top: 15px;
    display: flex;       /* Usamos flex para controlarlos mejor */
    justify-content: center; /* Los centra uno al lado del otro */
    gap: 15px;          /* Espacio fijo y pequeño entre ellos */
}

.social-icons i { margin: 0; cursor: pointer; }


.social-icons a {
    margin: 0;          /* Quitamos el margen antiguo */
    color: white;
    font-size: 1.6rem;
    transition: all 0.3s ease;
    display: inline-block;
}

.social-icons a:hover {
    transform: translateY(-3px);
    opacity: 0.8;
}
/* ==========================================================================
   FOOTER Y REDES SOCIALES
   ========================================================================== */
.main-footer {
    text-align: center;
    padding: 30px 20px;
    background-color: #333;
    color: white;
    font-size: 0.9rem;
    margin-top: 40px;
}

.footer-details p {
    word-wrap: break-word; /* Por si el email es más ancho que la pantalla */
    margin-bottom: 5px;
    opacity: 0.9;
}

.footer-details .fa-envelope {
    color: #f5f1f1;
    margin-right: 5px;
}

.social-icons {
    margin-top: 20px;
}

.social-icons a {
    margin: 0 15px;
    color: white;
    font-size: 1.6rem;
    transition: all 0.3s ease;
    display: inline-block;
}

.social-icons a:hover {
    transform: translateY(-5px); /* Pequeño salto hacia arriba */
}

/* Colores corporativos al pasar el ratón */
.social-icons a[title*="Facebook"]:hover { color: #1877f2; }
.social-icons a[title*="YouTube"]:hover { color: #ff0000; }

.footer-copyright {
    margin-top: 20px;
    font-size: 0.75rem;
    opacity: 0.5;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 15px;
    display: inline-block;
}

/* ENLACES INACTIVOS */
/* Estilo para secciones que aún no tienen contenido */
.link-inactivo {
    color: #999 !important;      /* Gris claro */
    cursor: not-allowed;         /* Cambia el cursor a un círculo tachado */
    pointer-events: none;        /* Evita que el enlace haga nada al clicar */
    opacity: 0.7;
    text-decoration: none;
}

/* El pequeño cartelito de "Próximamente" */
.tag-proximamente {
    font-size: 0.65rem;          /* Letra muy pequeñita */
    background: #f0f0f0;         /* Fondo gris muy suave */
    color: #777;                 /* Texto gris oscuro */
    padding: 2px 6px;
    border-radius: 10px;         /* Bordes redondeados tipo píldora */
    margin-left: 8px;
    vertical-align: middle;
    border: 1px solid #ddd;
    text-transform: uppercase;   /* Todo en mayúsculas para que resalte */
    font-weight: bold;
}

/* Ajuste específico para que el icono también se vea gris */
.link-inactivo i {
    color: #bbb !important;
}

/* Estilos para páginas de contenido histórico */
.texto-justificado p {
    text-align: justify;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    color: #444;
}

.pie-foto {
    font-size: 0.85rem;
    color: #777;
    font-style: italic;
    text-align: center;
    margin-top: 5px;
}

.pagina-estatica blockquote {
    border-left: 4px solid #8b0000;
    padding: 15px 20px;
    background: #f9f9f9;
    font-style: italic;
    margin: 25px 0;
    color: #555;
}

.titulo-seccion i {
    color: #8b0000;
    margin-right: 10px;
}

.botones-navegacion {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

.lista-historia {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    background: #fdfdfd;
    border-left: 3px solid #8b0000;
}

.lista-historia li {
    padding: 10px 15px;
    border-bottom: 1px border #eee;
}

.lista-historia li strong {
    color: #8b0000;
    margin-right: 10px;
}

.destacado-historia {
    background: #fdf5f5;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #f2dede;
    margin: 20px 0;
}

.seccion-santuario {
    border: 2px double #8b0000;
    padding: 15px;
    margin: 20px 0;
    background: #fff;
}

.lista-parrocos {
    list-style: none;
    padding-left: 0;
}

.lista-parrocos li {
    padding: 5px 0;
    border-bottom: 1px solid #eee;
}

/* Contenedor principal del contenido del párroco */
.section-parroco {
    padding: 20px;
}

.titulo-principal {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 5px;
    text-decoration: underline;
}

.nombre-parroco {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 30px;
    color: #333;
}

/* Imagen flotante */
.foto-parroco-flotante {
    float: left;
    width: 250px; /* Ajusta según el tamaño de tu imagen */
    margin-right: 20px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    display: block;
}

/* Limpiar el float para que el siguiente bloque de texto empiece debajo */
.bloque-estudios {
    clear: both;
    padding-top: 15px;
}

.contenido-texto p {
    text-align: justify;
    line-height: 1.6;
    margin-bottom: 15px;
    color: #444;
}

/* Estilos para la trayectoria del párroco */
.bloque-experiencia h3, .bloque-la-linea h3 {
    color: #8b0000;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
    margin-top: 30px;
}

.lista-logros {
    padding-left: 20px;
    margin-bottom: 20px;
}

.lista-logros li {
    margin-bottom: 8px;
    position: relative;
    list-style: none;
}

.lista-logros li::before {
    content: "•";
    color: #8b0000;
    font-weight: bold;
    display: inline-block; 
    width: 1em;
    margin-left: -1em;
}

.destacado-parroquia {
    background-color: #fcfaf2; /* Un tono crema suave para resaltar su labor actual */
    padding: 20px;
    border-radius: 5px;
    margin-top: 30px;
}

.decreto-final {
    background-color: #fff;
    border-left: 4px solid #8b0000;
    padding: 15px;
    margin-top: 20px;
    font-style: italic;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.05);
}

@media (max-width: 1100px) {
    .parroco-content-grid { grid-template-columns: 1fr; width: 95%; }
    .center-area-wrapper { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
    .center-area-wrapper { grid-template-columns: 1fr; }
    .header-visuals { flex-direction: column; }
    .logo-parroco { border-right: none; margin-bottom: 10px; }
    .header-bottom-content {
        flex-direction: column;
    }
    .header-top-title h1 {
        font-size: 1.6rem;
    }
    .noticias-container {
        grid-template-columns: 1fr; /* En móvil, una debajo de otra */
    }
}

