/* /css/estilo.css */

/* Reset básico */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  body {
    font-family: Arial, sans-serif;
  }
  
/* --------------------------------------------------
   TOP BAR
-------------------------------------------------- */
.top-bar {
  background: #000000;
  color: #939393;
  font-size: 0.9rem;
}
.top-bar .top-contact {
  display: flex;
  justify-content: flex-end;
  padding: 4px 10px;
}
.top-bar .top-contact span + span {
  margin-left: 15px;
}

/* --------------------------------------------------
   HEADER PRINCIPAL (NAV BAR)
-------------------------------------------------- */
.main-header {
  background: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 0;
}

/* --------------------------------------------------
   LOGO
-------------------------------------------------- */
.logo-container {
  background: #d6d6d6;
  border-radius: 0 0 8px 8px; /* esquinas inferiores redondeadas */
  margin-top: -25px;          /* superpone ligeramente la top‑bar */
  padding: 2px 5px;
}
.logo-container .logo,
.logo-container img {
  display: block;
  height: 80px;
}

/* --------------------------------------------------
   BOTÓN/ICONO DE IDIOMA
-------------------------------------------------- */
.flag-icon {
  height: 40px;
  cursor: pointer;
  
}

/* --------------------------------------------------
   NAVEGACIÓN
-------------------------------------------------- */
.main-nav ul {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 2px 10px;
}
.main-nav a {
  font-family: Arial, sans-serif;
  text-transform: uppercase;
  color: #888;               /* gris por defecto */
  font-weight: normal;
  text-decoration: none;
  transition: color 0.2s ease;
}
.main-nav a.active,
.main-nav a:hover {
  color: #fff;               /* blanco en hover o activo */
  font-weight: bold;
}
  .flag-icon {
    width: 50px;
    height: auto;
    cursor: pointer;
    align-items: center;
    padding: 0px 0px;
  }
  nav.main-nav li {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  /* --------------------------------------------------
   ANIMACIÓN DE BRILLO EN EL LOGO
-------------------------------------------------- */
.logo-container img {
  /* ya tienes height:80px; añade: */
  transition: filter 0.3s ease;   /* suaviza el cambio */
}
.logo-container:hover img {
  filter: brightness(1.2);        /* aumenta el brillo al pasar el cursor */
}

/* --------------------------------------------------
   TRANSICIÓN DE COLOR EN LOS ENLACES (AJUSTE)
-------------------------------------------------- */
.main-nav a {
  /* reemplaza tu transition actual por: */
  transition: color 0.3s ease;    /* un poco más suave que 0.2s */
}

/* --------------------------------------------------
   ESTADO ACTIVO PERMANENTE
   (el enlace de la página actual debe llevar la clase "active")
-------------------------------------------------- */
.main-nav a.active {
  color: #fff;                    /* blanco siempre iluminado */
  font-weight: bold;
  /* opcional: añadir un borde inferior para reforzar el activo */
  /* border-bottom: 2px solid #fff; */
}





/* === Navbar mobile fixes (no cambian desktop) === */
@media (max-width: 768px){

  /* Top bar: permitir salto de línea y centrar */
  .top-bar .top-contact{
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
  }

  /* Header con un poco de respiro lateral en móvil */
  .main-header{
    padding: 8px 12px;
  }

  /* Logo un pelín más compacto en móvil */
  .logo-container .logo{
    height: 64px; /* antes 80px en desktop */
  }

  /* Menú: permitir wrap y reducir separación */
  .main-nav ul{
    flex-wrap: wrap;
    gap: 16px;              /* antes 30px */
    padding: 6px 0;         /* reduce padding lateral */
  }

  /* Evitar que los items fuercen ancho fijo */
  .main-nav li{
    flex: 0 1 auto;
  }

  /* Enlaces pueden partir línea si hace falta */
  .main-nav a{
    white-space: normal;
    line-height: 1.2;
  }

  /* Bandera más pequeña en móvil */
  .flag-icon{
    height: 28px;           /* override sobre la regla de 40/50px */
    width: auto;
  }
}





/* === Navbar mobile tidy === */
@media (max-width: 768px){

  /* Evita solapamientos con top-bar en pantallas chicas */
  .main-header{
    padding: 8px 12px;
    flex-wrap: wrap;
    gap: 8px;
  }

  /* El logo mantiene proporción (nada de estirarse) */
  .logo-container .logo{
    height: 56px;      /* más compacto */
    width: auto;       /* <- clave para no deformar */
  }

  /* Menú en 2 filas si no cabe, con espacios más cortos */
  .main-nav ul{
    display: flex;
    flex-wrap: wrap;
    row-gap: 8px;
    column-gap: 12px;        /* antes 30px */
    padding: 6px 0;
    width: 100%;
    justify-content: space-between;
  }
  .main-nav li{ flex: 0 1 auto; }
  .main-nav a{
    white-space: normal;
    line-height: 1.2;
  }

  /* Banderita / botón de idioma más discretos */
  .flag-icon{ height: 28px; width: auto; }
}










/* === Fix: logo no tape la top-bar en móvil === */
@media (max-width: 768px){
  .logo-container{
    margin-top: 0;            /* anula el -25px de desktop */
    border-radius: 6px;       /* opcional: bordes más suaves */
  }
  .logo-container .logo{
    height: 56px;             /* ya lo tenías, mantiene proporción */
    width: auto;              /* evita estirar */
  }

  /* Asegura que la top-bar quede por encima si hay solapes */
  .top-bar{ position: relative; z-index: 3; }
  .main-header{ position: relative; z-index: 2; }
}
