  :root{
    --fondo-pagina:#ffffff;
    --fondo-tarjeta:#f7f8fb;
    --borde-tarjeta:#e6e9ef;
    --borde-tarjeta-hover:#cfd7e6;
    --texto:#1b1f29;
    --azul-enlace:#1a73e8;
    --sombra:0 6px 18px rgba(16,24,40,.06);
    --radio:14px;
    --separacion:16px;
  }

  
  .contenedor-categorias{
    max-width: 1200px;
    margin: 28px auto;
    padding: 0 16px;
    background: var(--fondo-pagina); color: var(--texto);
  }
  /* Contenedor general */
.ine-categorias {
  max-width: 1200px;
  margin: 60px auto;
  padding: 0 20px;
}

/* Grid */
.ine-categorias__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Card */
.ine-categorias__card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  overflow: hidden;
  text-align: center;
  transform: translateY(40px);
  opacity: 0;
  transition: all 0.8s ease;
}
.ine-categorias__card.visible {
  transform: translateY(0);
  opacity: 1;
}

/* Enlace */
.ine-categorias__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px;
  text-decoration: none;
  color: #222;
  transition: all 0.3s ease;
}
.ine-categorias__link:hover {
  color: #2c3e50;
}

/* Imagen */
.ine-categorias__img {
  width: 100px;
  height: 100px;
  object-fit: contain;
  margin-bottom: 12px;
  transition: transform 0.3s ease;
}
.ine-categorias__link:hover .ine-categorias__img {
  transform: scale(1.1) rotate(3deg);
}

/* Texto */
.ine-categorias__text {
  font-size: 0.95rem;
  font-weight: 600;
  display: block;
}

  .cuadricula-categorias{
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
    padding: 0;
    margin: 0;
  }

  /* Responsivo */
  @media (max-width: 1024px){
    .cuadricula-categorias{ grid-template-columns: repeat(3,1fr); }
  }
  @media (max-width: 760px){
    .cuadricula-categorias{ grid-template-columns: repeat(2,1fr); }
  }
  @media (max-width: 460px){
    .cuadricula-categorias{ grid-template-columns: 1fr; }
  }

  .tarjeta-categoria{
    background: var(--fondo-tarjeta);
    border: 1px solid var(--borde-tarjeta);
    border-radius: var(--radio);
    transition: box-shadow .2s ease, border-color .2s ease, transform .08s ease;
  }
  .tarjeta-categoria:hover{
    box-shadow: var(--sombra);
    border-color: var(--borde-tarjeta-hover);
    transform: translateY(-1px);
  }

  .enlace-categoria{
    display: flex;
    align-items: center;
    gap: var(--separacion);
    padding: 18px 16px;
    text-decoration: none;
  }


  .imagen-categoria{
    width: 66px;
    height: 66px;
    object-fit: contain;
    flex: 0 0 66px;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.08));
    background: #fff;
    border-radius: 10px;
    padding: 6px;
    border: 1px solid var(--borde-tarjeta);
  }
  .texto-categoria{
    line-height: 1.2;
    font-size: 15px;
    font-weight: 600;
    color: var(--azul-enlace);
  }

 
  .enlace-categoria:focus{
    outline: 3px solid #bcd5ff;
    outline-offset: 2px;
    border-radius: calc(var(--radio) - 2px);
  }