/* =================================
   FOOTER ESTILO ELEGANTE / CARBON (con Variables CSS)
   Asegúrate que este archivo se carga: https://admicloud.co/websites/footer-elegante.css
================================= */
.site-footer-carbon {
    /* Variables para fondo y texto principal */
    background-color: var(--footer-bg-color, #ffffff); /* Fallback blanco */
    background-image: var(--footer-bg-image, none);
    background-size: cover;
    background-position: center;
    color: var(--footer-text-color, #000000); /* Fallback negro */
    padding: 4rem 1rem 2rem 1rem;
    font-family: "Plus Jakarta Sans", sans-serif; /* O variable de fuente */
    border-top: none;
    text-align: center;
    position: relative;
    user-select: none;
}

.site-footer-carbon .container {
    margin: auto;
}

/* --- Logo --- */
.site-footer-carbon .footer-logo-img {
    /* Usa la variable para el ancho del logo */
    width: var(--footer-logo-width, 150px); /* Fallback width */
    height: auto;
    display: block; /* Para centrar con margen auto */
    margin: 0 auto 1.5rem auto; /* Centrado y espacio inferior */
}

/* --- Divisores Horizontales --- */
.site-footer-carbon .footer-divider {
    border: none;
    height: 1px;
    background-color: var(--footer-text-color, #000000); /* Color del texto */
    margin: 0 auto;
}

.site-footer-carbon .footer-divider.top-divider {
    margin-bottom: 3rem;
}

.site-footer-carbon .footer-divider.center-divider {
    width: 30px;
    margin-top: 2rem;
    margin-bottom: 3rem;
}

/* --- Sección Superior (Links y Logo) --- */

.site-footer-carbon .footer-col {
    padding: 0 15px;
    box-sizing: border-box;
}

/* Columnas de Links */
.site-footer-carbon .footer-links-left ul,
.site-footer-carbon .footer-links-right ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-footer-carbon .footer-links-left {
    text-align: left;
}

.site-footer-carbon .footer-links-right {
    text-align: right;
}

.site-footer-carbon .footer-links-left li,
.site-footer-carbon .footer-links-right li {
    margin-bottom: 0.8rem;
}

/* Estilo COMÚN para links (.footer-link) dentro de este footer */
.site-footer-carbon .footer-link {
    color: var(--footer-link-color, #000000); /* Variable de color link */
    font-size: var(--footer-link-font-size, 12px); /* Variable de tamaño link, fallback más pequeño */
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: color 0.3s ease;
}

.site-footer-carbon .footer-link:hover {
    color: var(--footer-link-hover-color, #555555); /* Variable de color hover */
}

/* Columna Central */
.site-footer-carbon .footer-center {
    text-align: center;
    /* Puede necesitar ajustes de ancho en flexbox */
    flex-grow: 1; /* Para que ocupe espacio si es necesario */
    min-width: 200px; /* Evita que se comprima demasiado */
}

.site-footer-carbon .footer-logo {
    /* Estilos para texto si no hay imagen */
    margin-bottom: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: var(--footer-text-color, #000); /* Hereda color texto */
}

.site-footer-carbon .footer-logo .logo-main {
    display: block;
    font-size: 1rem;
}

.site-footer-carbon .footer-logo .logo-sub {
    display: block;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    margin-top: 0.2rem;
}

/* Estilo COMÚN para iconos sociales (.footer-social-icon) dentro de este footer */
.site-footer-carbon .footer-social-icon i {
    /* Apunta al <i> */
    font-size: var(--footer-social-icon-size, 16px); /* Variable de tamaño */
    color: var(--footer-social-icon-color, #000000); /* Variable de color */
    transition: color 0.3s ease;
}

.site-footer-carbon .footer-social-icon:hover i {
    color: var(--footer-social-icon-hover-color, #555555); /* Variable de color hover */
}

.site-footer-carbon .footer-social a.footer-social-icon {
    /* Contenedor */
    text-decoration: none;
    margin: 0 0.7rem; /* Espacio entre iconos */
}

/* --- Información de contacto --- */
.site-footer-carbon .footer-contact-info {
    margin-top: 2.5rem; /* Ajustar espacio si es necesario */
    text-align: center;
}

.site-footer-carbon .footer-carbon-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-block; /* Para centrar */
    text-align: center; /* Alinear texto dentro */
}

.site-footer-carbon .footer-carbon-contact-list li {
    color: var(--footer-text-color, #555); /* Un poco más suave que el negro */
    font-size: var(--footer-link-font-size, 13px); /* Tamaño de link o propio */
    margin-bottom: 0.5rem;
}

.site-footer-carbon .footer-carbon-contact-list li i {
    margin-right: 0.6em;
    width: 1em;
    text-align: center;
    opacity: 0.7;
}

.site-footer-carbon .footer-carbon-contact-list li a {
    color: var(--footer-link-color, #000); /* Color link */
    text-decoration: none;
    transition: color 0.3s ease;
}

.site-footer-carbon .footer-carbon-contact-list li a:hover {
    color: var(--footer-link-hover-color, #555); /* Color hover link */
}

/* --- Sección Newsletter --- */
.site-footer-carbon .footer-newsletter-section {
    margin-bottom: 3rem;
}

.site-footer-carbon .newsletter-title {
    color: var(--footer-text-color, #000);
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.site-footer-carbon .newsletter-form {
    display: flex;
    justify-content: center;
    max-width: 400px;
    margin: 0 auto;
    border: 1px solid var(--footer-text-color, #000000); /* Borde con color de texto */
}

.site-footer-carbon .newsletter-form input[type="email"] {
    flex-grow: 1;
    padding: 0.8rem 1rem;
    border: none;
    background-color: transparent;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    outline: none;
    min-width: 0;
    color: var(--footer-text-color, #000); /* Color del texto ingresado */
}

.site-footer-carbon .newsletter-form input[type="email"]::placeholder {
    color: var(--footer-text-color, #000);
    opacity: 0.6; /* Placeholder más tenue */
}

.site-footer-carbon .newsletter-form button {
    background-color: transparent;
    border: none;
    border-left: 1px solid var(--footer-text-color, #000000); /* Línea con color de texto */
    padding: 0.8rem 1.5rem;
    color: var(--footer-text-color, #000000); /* Color de texto */
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    white-space: nowrap;
}

.site-footer-carbon .newsletter-form button:hover {
    background-color: var(--footer-text-color, #000000); /* Fondo con color de texto */
    color: var(--footer-bg-color, #ffffff); /* Texto con color de fondo */
}

.site-footer-carbon .footer-copyright {
    font-size: 0.75rem;
    color: var(--footer-text-color, #555555);
    opacity: 0.7;
    letter-spacing: 0.05em;
    margin: 0;
}

.site-footer-carbon .footer-dev-link {
    font-size: 0.7rem; /* Más pequeño */
    color: var(--footer-text-color, #555555);
    opacity: 0.7;
    margin-top: 0.5rem;
}

.site-footer-carbon .footer-dev-link a {
    color: inherit; /* Hereda color del P */
    font-weight: bold;
    text-decoration: none;
    transition: color 0.3s ease;
}

.site-footer-carbon .footer-dev-link a:hover {
    color: var(--footer-link-hover-color, #000); /* Hover como los links */
}

/* --- Ajustes Responsivos --- */
@media (max-width: 768px) {
    .site-footer-carbon .footer-top-section {
        flex-direction: column;
        align-items: center;
    }

    .site-footer-carbon .footer-col {
        width: 100%;
        text-align: center !important;
        margin-bottom: 2rem;
    }

    .site-footer-carbon .footer-col:last-child {
        margin-bottom: 0; /* Quitar margen inferior al último en móvil */
    }

    .site-footer-carbon .footer-links-left,
    .site-footer-carbon .footer-links-right {
        text-align: center; /* Centrar listas de links */
    }

    .site-footer-carbon .footer-divider.center-divider {
        margin-top: 1rem; /* Reducir margen */
    }

    .site-footer-carbon .newsletter-form {
        max-width: 90%;
    }

    .site-footer-carbon .newsletter-form input[type="email"] {
        font-size: 0.7rem;
        padding: 0.7rem 0.8rem;
    }

    .site-footer-carbon .newsletter-form button {
        font-size: 0.7rem;
        padding: 0.7rem 1rem;
    }

    .site-footer-carbon .footer-contact-info {
        margin-top: 1rem; /* Reducir margen */
    }
}

@media (min-width: 769px) and (max-width: 991.98px) {
    /* Ajustes para tablets si son necesarios */
    .site-footer-carbon .footer-col {
        padding: 0 10px; /* Menos padding lateral en tablet */
    }

    .site-footer-carbon .footer-social a.footer-social-icon {
        margin: 0 0.5rem; /* Iconos sociales más juntos */
    }
}
