/* --- Variables de Color (para consistencia del footer) --- */
:root {
    --footer-background: #F5F5F5; /* Fondo gris claro */
    --color-text-dark: #1C1C1E;   /* Títulos y Logo (Negro) */
    --color-text-mid: #5A5A5A;    /* Párrafos y Contacto (Gris medio) */
    --color-text-light: #777777;  /* Enlaces (Gris más claro) */
    --color-border-light: #EAEAEA; /* Separador sutil */
}

/*====================================================================
  FOOTER (Estructura Semántica con Flexbox)
======================================================================*/
footer {
    background-color: var(--footer-background);
    padding: 60px 20px 0; /* Padding superior para el contenido principal */
    font-family: 'Helvetica Neue', Arial, sans-serif;
    color: var(--color-text-mid);
    border-top: 1px solid var(--color-border-light);
}

.footer-content {
    /* Contenedor principal para las 4 columnas */
    display: flex;
    justify-content: space-between;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 40px; /* Separación del footer-bottom-bar */
}

/* --- Estilo de las Columnas --- */
.footer-column {
    /* Define el ancho base para las columnas de links, dejando más espacio a la primera */
    flex-basis: 25%;
    max-width: 300px;
}

/* Columna de Logo/About (más ancha) */
.footer-about {
    flex-basis: 35%; 
}

/* Títulos de Columna (Servicios, Empresa, Contacto) */
.footer-column h3 {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--color-text-dark);
    text-transform: capitalize;
    margin-bottom: 15px;
}

/* Logo (Replicando la unión del icono y texto) */
.footer-logo {
    display: flex;
    align-items: center;
    gap: 8px; /* Espacio entre el ícono y el texto si no están unidos */
    margin-bottom: 10px;
}

.footer-logo img {
    height: 30px; 
    width: auto;
}

.footer-about p {
    font-size: 0.9em;
    color: var(--color-text-mid);
    line-height: 1.5;
}

/* --- Listas de Enlaces (Services, Company) --- */
.footer-services ul,
.footer-company ul,
.footer-contact ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    padding: 4px 0;
}

/* Estilo de Enlaces */
.footer-column a {
    text-decoration: none;
    color: var(--color-text-mid);
    font-size: 0.9em;
    transition: color 0.2s;
}

.footer-column a:hover {
    color: var(--color-text-dark);
}

/* --- Columna de Contacto (Íconos) --- */
.footer-contact ul li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
}

.footer-contact img {
    height: 16px;
    width: 16px;
    /* Filtro para hacer el icono gris oscuro */
    filter: invert(30%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(30%); 
}

.footer-contact a,
.footer-contact span {
    font-size: 0.9em;
    color: var(--color-text-mid);
}

/*====================================================================
  BARRA INFERIOR (Derechos de Autor)
======================================================================*/
.footer-bottom-bar {
    border-top: 1px solid var(--color-border-light);
    padding: 15px 0;
    text-align: center;
    font-size: 0.8em;
    color: var(--color-text-light);
}

/*====================================================================
  MEDIA QUERIES (RESPONSIVE)
======================================================================*/
@media (max-width: 900px) {
    .footer-content {
        flex-wrap: wrap; /* Permite que las columnas se envuelvan */
        gap: 40px;
    }

    /* Columna de Logo/About ocupa todo el ancho */
    .footer-about {
        flex-basis: 100%;
        max-width: 100%;
    }

    /* Las otras tres columnas se distribuyen en dos filas */
    .footer-services,
    .footer-company,
    .footer-contact {
        flex-basis: calc(50% - 15px); /* 50% menos la mitad del gap */
        max-width: unset;
    }
}

@media (max-width: 550px) {
    .footer-content {
        flex-direction: column; /* Apila todo en una columna en móviles */
        gap: 30px;
    }

    .footer-services,
    .footer-company,
    .footer-contact {
        flex-basis: 100%;
    }
    
    .footer-about {
        padding-bottom: 0;
    }
}