/* General Header Styling */
/* General Header Styling */
.main-header {
    /* Fondo transparente para la navbar */
    background-color: transparent; /* O rgba(0, 0, 0, 0) */
    /* background: linear-gradient(90deg, #9202e0, #FF2E63); /* ¡Eliminado o comentado para transparencia! */
    padding: 15px 50px; /* Ajusta el padding según sea necesario */
    position: fixed; /* Hace que el encabezado se quede fijo en la parte superior */
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000; /* Asegura que el encabezado se mantenga encima de otro contenido */
    box-shadow: none; /* Elimina la sombra para que sea completamente transparente */
    /* Si quieres una sombra sutil que se vea en fondos claros, puedes usar: */
    /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px; /* Ancho máximo para centrar el contenido, ajusta según desees */
    margin: 0 auto; /* Centra el contenedor */
}

/* Logo Styling */
.header-logo img {
    height: 40px; /* Ajusta la altura del logo según sea necesario */
    vertical-align: middle; /* Alinea la imagen con el texto si lo hay */
}

/* Main Navigation */
.main-nav .nav-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px; /* Espacio entre los elementos de navegación */
    align-items: center; /* Alinea verticalmente los elementos de navegación */
}

.main-nav .nav-links li {
    margin: 0; /* Elimina los márgenes predeterminados de los elementos de lista */
}

/* Individual Navigation Items */
.main-nav .nav-item {
    text-decoration: none;
    color: #FFFFFF; /* Texto blanco para que contraste con el fondo debajo */
    font-weight: bold;
    font-size: 16px;
    padding: 5px 10px;
    transition: color 0.3s ease;
}

.main-nav .nav-item:hover {
    color: #8d00e4; /* Color de hover ejemplo (dorado/amarillo) */
}

/* Call-to-Action Button (Acceder/Logout) */
.cta-button {
    background-color: transparent; /* Fondo transparente para el botón */
    border: 2px solid #FFFFFF; /* Borde blanco para el botón */
    color: #FFFFFF; /* Texto blanco */
    padding: 10px 20px;
    border-radius: 20px; /* Esquinas redondeadas */
    text-decoration: none;
    font-weight: bold;
    font-size: 16px; /* Coincide con otros elementos de navegación o un poco más grande */
    cursor: pointer; /* Indica que es clickeable */
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    white-space: nowrap; /* Evita que el texto del botón se envuelva */
}

.cta-button:hover {
    background-color: #FFFFFF; /* Fondo blanco en hover */
    color: #9202e0; /* Texto púrpura en hover */
    border-color: #FFFFFF; /* Borde blanco en hover */
}

/* Logout Form Styling (para que el botón se vea consistente) */
.logout-form {
    margin: 0;
    padding: 0;
    display: inline-block; /* Evita que el formulario ocupe todo el ancho */
}

/* Footer General Styling */
footer {
    /* Fondo con degradado morado a fucsia */
    background: linear-gradient(90deg, #9202e0, #FF2E63);
    color: #FFFFFF; /* Texto blanco para todo el pie de página */
    padding: 40px 20px 20px; /* Relleno superior, horizontal e inferior */
    font-family: 'Poppins', sans-serif; /* Consistente con el resto de tu app */
    position: relative;
    bottom: 0;
    width: 100%;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.25); /* Sombra hacia arriba para profundidad */
}

/* Footer Container para Centrar y Ancho Máximo */
footer .container {
    max-width: 1200px; /* Coincide con el contenedor del encabezado para consistencia */
    margin: 0 auto; /* Centra el contenedor */
    padding: 0 15px; /* Relleno interior para responsividad */
}

/* Diseño del Contenido Principal del Footer (Secciones) */
.footer-content {
    display: flex;
    flex-wrap: wrap; /* Permite que las secciones se envuelvan en pantallas más pequeñas */
    justify-content: space-between; /* Distribuye las secciones uniformemente */
    gap: 30px; /* Espacio entre columnas */
    margin-bottom: 30px; /* Espacio por encima de la sección de derechos de autor */
}

/* Secciones Individuales del Footer */
.footer-section {
    flex: 1; /* Permite que las secciones crezcan y se encojan */
    min-width: 250px; /* Ancho mínimo antes de envolver */
    padding: 10px;
}

.footer-section h3 {
    color: #ffffff; /* Dorado/Amarillo para los encabezados de sección */
    font-size: 1.5em;
    margin-bottom: 20px;
    border-bottom: 2px solid rgba(255, 215, 0, 0.3); /* Subrayado sutil */
    padding-bottom: 10px;
}

.footer-section p {
    font-size: 0.95em;
    line-height: 1.6;
    color: #E0E0E0; /* Blanco ligeramente apagado para el texto del cuerpo */
}

/* Detalles Específicos de la Sección "About Us" */
.footer-section.about-us .logo img {
    height: 50px; /* Ajusta el tamaño del logo en el pie de página */
    margin-bottom: 15px;
}

/* Sección de Enlaces Rápidos */
.footer-section.quick-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-section.quick-links ul li {
    margin-bottom: 10px;
}

.footer-section.quick-links ul li a {
    text-decoration: none;
    color: #E0E0E0; /* Blanco apagado para los enlaces */
    font-size: 0.9em;
    transition: color 0.3s ease;
}

.footer-section.quick-links ul li a:hover {
    color: #000000; /* Amarillo en hover */
}

/* Sección de Conexión - Enlaces Sociales */
.social-links {
    display: flex;
    gap: 15px; /* Espacio entre los iconos sociales */
    margin-top: 15px;
}

.social-links a {
    color: #FFFFFF; /* Iconos blancos */
    font-size: 28px; /* Tamaño de icono más grande */
    transition: color 0.3s ease, transform 0.3s ease;
}

.social-links a:hover {
    color: #000000; /* Amarillo en hover */
    transform: translateY(-3px); /* Efecto de elevación ligero */
}

/* Sección del Newsletter */
.newsletter-input-group {
    display: flex;
    margin-top: 15px;
    border-radius: 5px;
    overflow: hidden; /* Asegura que la entrada y el botón permanezcan dentro de las esquinas redondeadas */
}

.newsletter-input-group input[type="email"] {
    flex-grow: 1; /* Permite que la entrada ocupe el espacio disponible */
    padding: 15px 20px; /* Aumenta el padding para hacer la barra más larga */
    border: none;
    outline: none;
    background-color: rgba(255, 255, 255, 0.9); /* Fondo blanco ligeramente transparente */
    color: #333; /* Texto oscuro para la entrada */
    font-size: 1.1em; /* Aumenta el tamaño de la fuente para que se vea más grande */
    width: 100%; /* Asegura que la barra de texto ocupe todo el ancho disponible */
    max-width: 300px; /* Puedes ajustar este valor para controlar la longitud máxima */
}

.newsletter-input-group input[type="email"]::placeholder {
    color: #888;
}

.newsletter-input-group button {
    background-color: #a200ff; /* Botón amarillo para resaltar */
    color: #000000; /* Texto púrpura oscuro para el botón */
    padding: 15px 30px; /* Aumenta el padding para hacer el botón más grande */
    border: none;
    cursor: pointer;
    font-size: 1.1em; /* Aumenta el tamaño de la fuente para que el texto del botón sea más grande */
    font-weight: bold;
    transition: background-color 0.3s ease, color 0.3s ease;
    min-width: 120px; /* Asegura que el botón sea visible completo, puedes ajustar el valor */
}

.newsletter-input-group button:hover {
    background-color: #000000; /* Amarillo más claro en hover */
    color: #ffffff; /* Púrpura más oscuro en hover */
}

/* Ajustes Responsivos */
@media (max-width: 768px) {
    .newsletter-input-group {
        flex-direction: column; /* Apila la entrada y el botón */
        align-items: center; /* Centra los elementos cuando están apilados */
    }

    .newsletter-input-group input[type="email"],
    .newsletter-input-group button {
        width: 100%; /* Ocupa el 100% del ancho disponible en pantallas pequeñas */
        border-radius: 5px; /* Aplica border-radius a ambos */
        margin-bottom: 10px; /* Espacio entre la entrada/botón apilados */
        max-width: none; /* Elimina el max-width en pantallas pequeñas para que ocupe todo el ancho */
    }
}

/* Mensajes de Error y Éxito para el Newsletter */
.error-message {
    color: #FF6347 !important; /* Rojo tomate para errores */
    font-size: 0.8em;
    display: block;
    margin-top: 5px;
}

.success-message {
    color: #3CB371 !important; /* Verde mar medio para éxito */
    font-size: 0.8em;
    display: block;
    margin-top: 5px;
}

/* Sección Inferior del Footer (Copyright) */
.footer-bottom {
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1); /* Línea separadora sutil BLANCA */
    font-size: 0.85em;
    color: #FFFFFF; /* ¡Aquí estaba el cambio! Ahora es blanco */
}

.footer-bottom p {
    margin: 5px 0;
}

.footer-bottom .fas.fa-heart {
    color: #FF6347; /* Icono de corazón rojo */
    margin: 0 5px;
}

/* Ajustes Responsivos */
@media (max-width: 768px) {
    .main-header {
        padding: 15px 20px; /* Ajusta el padding para pantallas pequeñas */
    }

    .header-container {
        flex-direction: column; /* Apila el logo y la navegación */
        gap: 15px;
    }

    .main-nav .nav-links {
        flex-direction: column; /* Apila los enlaces de navegación */
        gap: 10px;
    }

    .main-nav .nav-item {
        padding: 8px 0; /* Más padding vertical para los elementos apilados */
    }

    .cta-button {
        width: 100%; /* El botón ocupa todo el ancho */
        text-align: center;
    }

    footer {
        padding: 30px 15px 15px; /* Reduce el padding en pantallas pequeñas */
    }

    .footer-content {
        flex-direction: column; /* Apila las secciones verticalmente en pantallas pequeñas */
        align-items: center; /* Centra los elementos cuando están apilados */
        text-align: center;
        gap: 20px; /* Reduce el espacio entre secciones apiladas */
    }

    .footer-section {
        min-width: 100%; /* Ancho completo para las secciones */
        margin-bottom: 0; /* Elimina el margen inferior si ya hay gap */
    }

    .footer-section h3 {
        text-align: center;
    }

    .footer-section.quick-links ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .social-links {
        justify-content: center;
    }

    .newsletter-input-group {
        flex-direction: column; /* Apila la entrada y el botón */
    }

    .newsletter-input-group input[type="email"],
    .newsletter-input-group button {
        width: 100%;
        border-radius: 5px; /* Aplica border-radius a ambos */
        margin-bottom: 10px; /* Espacio entre la entrada/botón apilados */
    }
}